UNPKG

@syncfusion/ej2-pdf

Version:

Feature-rich JavaScript PDF library with built-in support for loading and manipulating PDF document.

734 lines (733 loc) 12.7 kB
import { _TrueTypeNameRecord } from './ttf-reader'; /** * Holds basic table information including offset length and checksum. * * @private */ export declare class _TrueTypeTableInfo { /** * Byte offset of the table from the start of the font file. * * @private */ _offset: number; /** * Length of the table in bytes. * * @private */ _length: number; /** * Checksum value of the table. * * @private */ _checksum: number; /** * Indicates whether the table entry has zero offset length and checksum. * * @private * @returns {boolean} returns whether true or false. */ readonly _empty: boolean; } /** * Represents the OS two table containing weight width metrics and unicode ranges. * * @private */ export declare class _TrueTypeOS2Table { /** * Version of the OS/2 table. * * @private */ _version: number; /** * Average character width. * * @private */ _xAvgCharWidth: number; /** * Weight class (thickness) of the font. * * @private */ _usWeightClass: number; /** * Width class (stretch) of the font. * * @private */ _usWidthClass: number; /** * Embedding license rights flags. * * @private */ _fsType: number; /** * Subscript x size. * * @private */ _ySubscriptXSize: number; /** * Subscript y size. * * @private */ _ySubscriptYSize: number; /** * Subscript x offset. * * @private */ _ySubscriptXOffset: number; /** * Subscript y offset. * * @private */ _ySubscriptYOffset: number; /** * Superscript x size. * * @private */ _ySuperscriptXSize: number; /** * Superscript y size. * * @private */ _ySuperscriptYSize: number; /** * Superscript x offset. * * @private */ _ySuperscriptXOffset: number; /** * Superscript y offset. * * @private */ _ySuperscriptYOffset: number; /** * Strikeout thickness. * * @private */ _yStrikeoutSize: number; /** * Strikeout position. * * @private */ _yStrikeoutPosition: number; /** * IBM font class and subclass. * * @private */ _sFamilyClass: number; /** * PANOSE classification numbers. * * @private */ _panose: number[]; /** * Unicode range bits. * * @private */ _ulUnicodeRange1: number; /** * Unicode range bits. * * @private */ _ulUnicodeRange2: number; /** * Unicode range bits. * * @private */ _ulUnicodeRange3: number; /** * Unicode range bits. * * @private */ _ulUnicodeRange4: number; /** * Vendor identifier (four bytes). * * @private */ _vendorIdentifier: number[]; /** * Selection flags. * * @private */ _fsSelection: number; /** * First character index covered by the font. * * @private */ _usFirstCharIndex: number; /** * Last character index covered by the font. * * @private */ _usLastCharIndex: number; /** * Typographic ascender. * * @private */ _sTypoAscender: number; /** * Typographic descender. * * @private */ _sTypoDescender: number; /** * Typographic line gap. * * @private */ _sTypoLineGap: number; /** * Windows ascent. * * @private */ _usWinAscent: number; /** * Windows descent. * * @private */ _usWinDescent: number; /** * Code page range bits. * * @private */ _ulCodePageRange1: number; /** * Code page range bits. * * @private */ _ulCodePageRange2: number; /** * x height of the font. * * @private */ _sxHeight: number; /** * Cap height of the font. * * @private */ _sCapHeight: number; /** * Default character code (used for missing glyphs). * * @private */ _usDefaultChar: number; /** * Break character code. * * @private */ _usBreakChar: number; /** * Maximum context length for justification. * * @private */ _usMaxContext: number; } /** * Represents the post table containing italic angle fixed pitch and type metrics. * * @private */ export declare class _TrueTypePostTable { /** * Post table format type. * * @private */ _formatType: number; /** * Italic angle of the font. * * @private */ _italicAngle: number; /** * Underline position. * * @private */ _underlinePosition: number; /** * Underline thickness. * * @private */ _underlineThickness: number; /** * Indicates whether the font is fixed pitch. * * @private */ _isFixedPitch: number; /** * Minimum Type42 value. * * @private */ _minType42: number; /** * Maximum Type42 value. * * @private */ _maxType42: number; /** * Minimum Type1 value. * * @private */ _minType1: number; /** * Maximum Type1 value. * * @private */ _maxType1: number; } /** * Contains name table records including format count and string offsets. * * @private */ export declare class _TrueTypeNameTable { /** * Format selector of the name table. * * @private */ _formatSelector: number; /** * Number of name records present. * * @private */ _recordsCount: number; /** * Offset to the string storage area. * * @private */ _offset: number; /** * Array of name records. * * @private */ _nameRecords: _TrueTypeNameRecord[]; } /** * Stores microsoft cmap subtable fields including segment arrays and glyph mappings. * * @private */ export declare class _TrueTypeMicrosoftCmapSubTable { /** * Format of the cmap subtable. * * @private */ _format: number; /** * Length of the subtable in bytes. * * @private */ _length: number; /** * Subtable version. * * @private */ _version: number; /** * Segment count multiplied by two. * * @private */ _segCountX2: number; /** * Search range value used in binary search. * * @private */ _searchRange: number; /** * Entry selector value used in binary search. * * @private */ _entrySelector: number; /** * Range shift value used in binary search. * * @private */ _rangeShift: number; /** * Array of end character codes for each segment. * * @private */ _endCount: number[]; /** * Reserved padding (must be zero). * * @private */ _reservedPad: number; /** * Array of start character codes for each segment. * * @private */ _startCount: number[]; /** * Delta values applied to character codes. * * @private */ _idDelta: number[]; /** * Offsets into glyph ID array. * * @private */ _idRangeOffset: number[]; /** * Glyph ID array for direct mappings. * * @private */ _glyphID: number[]; } /** * Represents the horizontal header table including ascender descender and metric counts. * * @private */ export declare class _TrueTypeHorizontalHeaderTable { /** * Table version. * * @private */ _version: number; /** * Typographic ascender. * * @private */ _ascender: number; /** * Maximum advance width value. * * @private */ _advanceWidthMax: number; /** * Typographic descender. * * @private */ _descender: number; /** * Number of long horizontal metrics. * * @private */ _numberOfHMetrics: number; /** * Line gap for horizontal metrics. * * @private */ _lineGap: number; /** * Minimum left side bearing. * * @private */ _minLeftSideBearing: number; /** * Minimum right side bearing. * * @private */ _minRightSideBearing: number; /** * Maximum extent (xMaxExtent). * * @private */ _xMaxExtent: number; /** * Caret slope rise. * * @private */ _caretSlopeRise: number; /** * Caret slope run. * * @private */ _caretSlopeRun: number; /** * Metric data format. * * @private */ _metricDataFormat: number; } /** * Represents the head table containing global font properties and bounding box data. * * @private */ export declare class _TrueTypeHeadTable { /** * Last modification time. * * @private */ _modified: number; /** * Creation time. * * @private */ _created: number; /** * Magic number to validate the head table. * * @private */ _magicNumber: number; /** * Checksum adjustment value. * * @private */ _checkSumAdjustment: number; /** * Font revision. * * @private */ _fontRevision: number; /** * Table version. * * @private */ _version: number; /** * Minimum x coordinate of the font bounding box. * * @private */ _xMin: number; /** * Minimum y coordinate of the font bounding box. * * @private */ _yMin: number; /** * Units per em. * * @private */ _unitsPerEm: number; /** * Maximum y coordinate of the font bounding box. * * @private */ _yMax: number; /** * Maximum x coordinate of the font bounding box. * * @private */ _xMax: number; /** * Macintosh style flags. * * @private */ _macStyle: number; /** * Global font flags. * * @private */ _flags: number; /** * Lowest recommended pixel size. * * @private */ _lowestReadableSize: number; /** * Direction hint for glyph rendering. * * @private */ _fontDirectionHint: number; /** * Index to location format . * * @private */ _indexToLocalFormat: number; /** * Glyph data format. * * @private */ _glyphDataFormat: number; } /** * Defines the cmap table header including version and subtable count. * * @private */ export declare class _TrueTypeCmapTable { /** * cmap table version. * * @private */ _version: number; /** * Number of encoding subtables. * * @private */ _tablesCount: number; } /** * Holds platform and encoding identifiers and the offset to a cmap subtable. * * @private */ export declare class _TrueTypeCmapSubTable { /** * Platform identifier. * * @private */ _platformID: number; /** * Encoding identifier. * * @private */ _encodingID: number; /** * Byte offset to the cmap subtable. * * @private */ _offset: number; } /** * Represents an apple cmap subtable with format length and version. * * @private */ export declare class _TrueTypeAppleCmapSubTable { /** * Subtable format. * * @private */ _format: number; /** * Subtable length in bytes. * * @private */ _length: number; /** * Subtable version. * * @private */ _version: number; } /** * Represents a trimmed cmap subtable with base code and entry count. * * @private */ export declare class _TrueTypeTrimmedCmapSubTable { /** * Subtable format. * * @private */ _format: number; /** * Subtable length. * * @private */ _length: number; /** * Subtable version. * * @private */ _version: number; /** * First character code covered by the table. * * @private */ _firstCode: number; /** * Number of entries following the first code. * * @private */ _entryCount: number; }