<< Click to Display Table of Contents >> Navigation: Font engine > Compact Font Format |
TCFFFont = class
public
Header: TCFFHeader;
NameIndex, TopDictIndex, StringIndex, GlobalSubrIndex, CharStringsIndex, FontDictIndex: TCFFIndex;
LocalSubrIndexes: array of TCFFIndex;
TopDict: TCFFDict;
PrivateDicts, FontDicts: array of TCFFDict;
Name: string;
Charset: array of record CharCode: word; Name: string end; //Glyph unicode code and name
Encoding: array of word; //Glyph CID
Ascent, Descent, LineGap, XHeight, CapHeight, UnderlinePosition, UnderlineThickness, ItalicAngle: integer;
FirstChar, LastChar: integer;
Widths: array of word;
FontData: TBytes;
CharStringType: integer;
DefaultWidthX, NominalWidthX: word;
IsType2: boolean;
CMAP, CharsetCMAP: THtCMap;
IsCIDFont: boolean;
FDRanges: array of packed record First: word; FDIndex: byte end;
EncodingName: string;
FontMatrix: THtMatrixData;
procedure ReadIndex(ST: TStream; var Res: TCFFIndex);
procedure LoadfromStream(ST: TStream);
procedure LoadfromType1Stream(ST: TStream);
function AverageCharWidth: integer;
function CharStringLocalSubr(CharIndex: integer): TPSSubroutines; end;
CFF header
CFF indexes
Font dictionaries
Font name
Unicode code and adobe glyph name for font glyphs
Glyph CIDs
Font properties in design units
Glyph widths in design units
Type of data in CharStrings dictionary.
Default and nominal glyph width
Font type - Type2 or Type1
Font characted map (glyph encoding).
CID font flag
Font glyph matrix
Load Type2 font from stream
Load Type1 font from stream
Average glyph width
Returnd subroutine for glyph