Class TTextureFontData
Unit
CastleTextureFontData
Declaration
type TTextureFontData = class(TObject)
Description
Data for a 2D font initialized from a FreeType font file, like ttf.
Hierarchy
Overview
Nested Classes and Records
Methods
Properties
Description
Methods
|
constructor Create(const AUrl: string; const ASize: Cardinal; const AnAntiAliased: Boolean; ACharacters: TUnicodeCharList = nil); |
Create by reading a FreeType font file, like ttf.
Providing charaters list as Nil means that we only create glyphs for SimpleAsciiCharacters, which includes only the basic ASCII characters. The ACharacters instance does not become owned by this object, so remember to free it after calling this constructor.
Exceptions raised
- EFreeTypeLibraryNotFound
- If the freetype library is not installed.
|
|
constructor CreateFromData(const AGlyphs: TGlyphDictionary; const AImage: TGrayscaleImage; const ASize: Cardinal; const AnAntiAliased: Boolean); |
Create from a ready data for glyphs and image. Useful when font data is embedded inside the Pascal source code. AGlyphs instance, and AImage instance, become owned by this class.
|
|
destructor Destroy; override; |
|
|
function Glyph(const C: TUnicodeChar; const AllowUsingFallbackGlyph: Boolean = true): TGlyph; |
Read-only information about a glyph for given character.
When AllowUsingFallbackGlyph and UseFallbackGlyph (both are True by default) then we always return non-nil glyph. If the desired glyph was not really present, we make a warning (using WritelnWarning) and return a fallback glyph.
When not (AllowUsingFallbackGlyph and UseFallbackGlyph) then we return Nil for a missing glyph. Glyph may be missing because it was not requested at constructor, or because it doesn't exist in the font data.
|
|
function LoadedGlyphs: TUnicodeCharList; |
List all characters for which glyphs are actually loaded. Glyph will answer non-nil exactly for these characters. The resulting list instance is owned by caller, so take care to free it.
|
|
function TextWidth(const S: string): Integer; |
|
|
function TextHeight(const S: string): Integer; |
|
|
function TextHeightBase(const S: string): Integer; |
The height (above the baseline) of the text. This doesn't take into account height of the text below the baseline (for example letter "y" has the tail below the baseline in most fonts).
|
|
function RowHeight: Integer; |
Height of a row of text in this font. This may be calculated as simply TextHeight('Wy') for most normal fonts.
|
|
function RowHeightBase: Integer; |
Height (above the baseline) of a row of text in this font. Similar to TextHeightBase and TextHeight, note that RowHeightBase is generally smaller than RowHeight, because RowHeightBase doesn't care how low the letter may go below the baseline.
|
|
function Descend: Integer; |
How low the text may go below the baseline.
|
Properties
|
property URL: String read FUrl; |
|
|
property Size: Cardinal read FSize; |
|
|
property AntiAliased: Boolean read FAntiAliased; |
|
|
property UseFallbackGlyph: Boolean
read FUseFallbackGlyph write FUseFallbackGlyph default true; |
When a glyph (picture of a particular character) in a font doesn't exist, by default we make a warning (using WritelnWarning) and use a fallback glyph, like "?". This lets user know that some character is there.
Set this to False to just silently omit a missing glyph. The Glyph method will just return (silently) Nil in this case.
|
Generated by PasDoc 0.16.0.