Class TTextureFontData

Unit

Declaration

type TTextureFontData = class(TObject)

Description

Data for a 2D font initialized from a FreeType font file, like ttf.

Hierarchy

  • TObject
  • TTextureFontData

Overview

Internal Classes and Records

Public TGlyph = class(TObject)
Public TGlyphDictionary = class(specialize TDictionary<TUnicodeChar,TGlyph>)

Methods

Public constructor Create(const URL: string; const ASize: Integer; const AnAntiAliased: boolean; ACharacters: TUnicodeCharList = nil);
Public constructor CreateFromData(const AGlyphs: TGlyphDictionary; const AImage: TGrayscaleImage; const ASize: Integer; const AnAntiAliased: boolean);
Public destructor Destroy; override;
Public function Glyph(const C: TUnicodeChar): TGlyph;
Public function LoadedGlyphs: TUnicodeCharList;
Public function TextWidth(const S: string): Integer;
Public function TextHeight(const S: string): Integer;
Public function TextHeightBase(const S: string): Integer;
Public function TextMove(const S: string): TVector2Integer;
Public function RowHeight: Integer;
Public function RowHeightBase: Integer;
Public function Descend: Integer;

Properties

Public property AntiAliased: boolean read FAntiAliased;
Public property Size: Integer read FSize;
Public property Image: TGrayscaleImage read FImage;

Description

Methods

Public constructor Create(const URL: string; const ASize: Integer; 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.
Public constructor CreateFromData(const AGlyphs: TGlyphDictionary; const AImage: TGrayscaleImage; const ASize: Integer; 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.

Public destructor Destroy; override;
 
Public function Glyph(const C: TUnicodeChar): TGlyph;

Read-only information about a glyph for given character. Nil if given glyph not loaded (because was not requested at constructor, or because it doesn't exist in the font).

Public 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.

Public function TextWidth(const S: string): Integer;
 
Public function TextHeight(const S: string): Integer;
 
Public 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).

Public function TextMove(const S: string): TVector2Integer;
 
Public function RowHeight: Integer;

Height of a row of text in this font. This may be calculated as simply TextHeight('Wy') for most normal fonts.

Public 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.

Public function Descend: Integer;

How low the text may go below the baseline.

Properties

Public property AntiAliased: boolean read FAntiAliased;
 
Public property Size: Integer read FSize;
 
Public property Image: TGrayscaleImage read FImage;
 

Generated by PasDoc 0.15.0.