OpenTTD Source: src/fontcache.cpp File Reference

OpenTTD Source 14.0-beta1

Functions | Variables
fontcache.cpp File Reference
`#include "stdafx.h"`
`#include "fontcache.h"`
`#include "fontdetection.h"`
`#include "blitter/factory.hpp"`
`#include "gfx_layout.h"`
`#include "fontcache/spritefontcache.h"`
`#include "openttd.h"`
`#include "settings_func.h"`
`#include "strings_func.h"`
`#include "viewport_func.h"`
`#include "window_func.h"`
`#include "fileio_func.h"`
`#include "safeguards.h"`

Go to the source code of this file.

## Functions
int | GetCharacterHeight (FontSize size)
| Get height of a character for a given font size. More...
bool | GetFontAAState (FontSize size, bool check_blitter)
void | SetFont (FontSize fontsize, const std::string &font, uint size, bool aa)
void | LoadFreeTypeFont (FontSize fs)
| Loads the freetype font. More...
void | LoadFreeTypeFont (FontSize fs, const std::string &file_name, uint size)
| Load a TrueType font from a file. More...
void | UninitFreeType ()
| Free everything allocated w.r.t. More...
static void | TryLoadDefaultTrueTypeFont ([[maybe_unused]] FontSize fs)
void | InitFontCache (bool monospace)
| (Re)initialize the font cache related things, i.e. More...
void | UninitFontCache ()
| Free everything allocated w.r.t. More...
bool | HasAntialiasedFonts ()
| Should any of the active fonts be anti-aliased? More...

## Variables
static const int | _default_font_height [FS_END] = {10, 6, 18, 10}
| Default heights for the different sizes of fonts.
static const int | _default_font_ascender [FS_END] = { 8, 5, 15, 8}
FontCacheSettings | _fcsettings

## Detailed Description

Cache for characters from fonts.

Definition in file fontcache.cpp.

## Function Documentation

## ◆ GetCharacterHeight()

int GetCharacterHeight | ( | FontSize | size | ) |

Get height of a character for a given font size.

Parameters

  size | Font size to get height of

Returns
  Height of characters in the given font (pixels)

Definition at line 78 of file fontcache.cpp.

References FontCache::Get(), and FontCache::GetHeight().

Referenced by TextfileWindow::CheckHyperlinkClick(), CargoesField::Draw(), StationViewWindow::DrawAcceptedCargo(), TownAuthorityWindow::DrawActions(), StationViewWindow::DrawCargoRatings(), DrawCategory(), NetworkClientListWindow::DrawCompany(), NetworkContentListWindow::DrawDetails(), DrawFrame(), IndustryViewWindow::DrawInfo(), NetworkContentListWindow::DrawMatrix(), TownAuthorityWindow::DrawRatings(), DrawSliderWidget(), DrawString(), TimetableWindow::DrawSummaryPanel(), StoryBookWindow::EnsureStoryPageElementLayout(), TownViewWindow::GetDesiredInfoHeight(), GetEngineListHeight(), StoryBookWindow::GetHeadHeight(), SmallMapWindow::GetLegendHeight(), SmallMapWindow::GetPositionOnLegend(), VehicleDetailsWindow::GetRoadVehDetailsHeight(), GetTotalCategoriesHeight(), GetVehicleListHeight(), LocalGetWindowPlacement(), ViewportSign::MarkDirty(), NetworkReInitChatBoxSize(), IConsoleWindow::OnInit(), BuildIndustryWindow::OnInit(), IndustryViewWindow::OnInit(), PaymentRatesGraphWindow::OnInit(), IndustryCargoesWindow::OnInit(), ReplaceVehicleWindow::OnPaint(), BuildVehicleWindow::OnPaint(), TextfileWindow::ReflowContent(), NWidgetResizeBase::SetMinimalSize(), NWidgetResizeBase::SetMinimalTextLines(), NWidgetBackground::SetupSmallestSize(), and ViewportAddString().

## ◆ HasAntialiasedFonts()

bool HasAntialiasedFonts | ( |  | ) |

Should any of the active fonts be anti-aliased?

Returns
  True if any of the loaded fonts want anti-aliased drawing.

Definition at line 240 of file fontcache.cpp.

References FS_BEGIN.

## ◆ InitFontCache()

void InitFontCache | ( | bool | monospace | ) |

(Re)initialize the font cache related things, i.e.

load the non-sprite fonts.

Parameters

  monospace | Whether to initialise the monospace or regular fonts.

Definition at line 197 of file fontcache.cpp.

References FS_BEGIN.

Referenced by MissingGlyphSearcher::FindMissingGlyphs(), and SetFallbackFont().

## ◆ LoadFreeTypeFont() [1/2]

void LoadFreeTypeFont | ( | FontSize | fs | ) |

Loads the freetype font.

First type to load the fontname as if it were a path. If that fails, try to resolve the filename of the font using fontconfig, where the format is 'font family name' or 'font family name, font style'.

Parameters

  fs | The font size to load.

Definition at line 161 of file freetypefontcache.cpp.

References GetFontCacheSubSetting(), and settings.

## ◆ LoadFreeTypeFont() [2/2]

void LoadFreeTypeFont | ( | FontSize | fs,
|  | const std::string & | file_name,
|  | uint | size
| ) |  |

Load a TrueType font from a file.

Parameters

  fs | The font size to load.
  file_name | Path to the font file.
  size | Requested font size.

Definition at line 211 of file freetypefontcache.cpp.

## ◆ UninitFontCache()

void UninitFontCache | ( |  | ) |

Free everything allocated w.r.t.

fonts.

Definition at line 224 of file fontcache.cpp.

References FS_BEGIN.

## ◆ UninitFreeType()

void UninitFreeType | ( |  | ) |

Free everything allocated w.r.t.

freetype.

Definition at line 347 of file freetypefontcache.cpp.