pub struct TableRef<'a, T> { /* private fields */ }
Expand description

Typed access to raw table data.

Implementations

The major/minor version of the GDEF table

Offset to class definition table for glyph type, from beginning of GDEF header (may be NULL)

Attempt to resolve glyph_class_def_offset.

Offset to attachment point list table, from beginning of GDEF header (may be NULL)

Attempt to resolve attach_list_offset.

Offset to ligature caret list table, from beginning of GDEF header (may be NULL)

Attempt to resolve lig_caret_list_offset.

Offset to class definition table for mark attachment type, from beginning of GDEF header (may be NULL)

Attempt to resolve mark_attach_class_def_offset.

Offset to the table of mark glyph set definitions, from beginning of GDEF header (may be NULL)

Attempt to resolve mark_glyph_sets_def_offset.

Offset to the Item Variation Store table, from beginning of GDEF header (may be NULL)

Attempt to resolve item_var_store_offset.

Offset to Coverage table - from beginning of AttachList table

Attempt to resolve coverage_offset.

Number of glyphs with attachment points

Array of offsets to AttachPoint tables-from beginning of AttachList table-in Coverage Index order

Attempt to resolve attach_point_offsets.

Number of attachment points on this glyph

Array of contour point indices -in increasing numerical order

Offset to Coverage table - from beginning of LigCaretList table

Attempt to resolve coverage_offset.

Number of ligature glyphs

Array of offsets to LigGlyph tables, from beginning of LigCaretList table —in Coverage Index order

Attempt to resolve lig_glyph_offsets.

Number of CaretValue tables for this ligature (components - 1)

Array of offsets to CaretValue tables, from beginning of LigGlyph table — in increasing coordinate order

Attempt to resolve caret_value_offsets.

Format identifier: format = 1

X or Y value, in design units

Format identifier: format = 2

Contour point index on glyph

Format identifier-format = 3

X or Y value, in design units

Offset to Device table (non-variable font) / Variation Index table (variable font) for X or Y value-from beginning of CaretValue table

Attempt to resolve device_offset.

Format identifier == 1

Number of mark glyph sets defined

Array of offsets to mark glyph set coverage tables, from the start of the MarkGlyphSets table.

Attempt to resolve coverage_offsets.

The major and minor version of the GPOS table, as a tuple (u16, u16)

Offset to ScriptList table, from beginning of GPOS table

Attempt to resolve script_list_offset.

Offset to FeatureList table, from beginning of GPOS table

Attempt to resolve feature_list_offset.

Offset to LookupList table, from beginning of GPOS table

Attempt to resolve lookup_list_offset.

Attempt to resolve feature_variations_offset.

Format identifier, = 1

Horizontal value, in design units

Vertical value, in design units

Format identifier, = 2

Horizontal value, in design units

Vertical value, in design units

Index to glyph contour point

Format identifier, = 3

Horizontal value, in design units

Vertical value, in design units

Offset to Device table (non-variable font) / VariationIndex table (variable font) for X coordinate, from beginning of Anchor table (may be NULL)

Attempt to resolve x_device_offset.

Offset to Device table (non-variable font) / VariationIndex table (variable font) for Y coordinate, from beginning of Anchor table (may be NULL)

Attempt to resolve y_device_offset.

Number of MarkRecords

Array of MarkRecords, ordered by corresponding glyphs in the associated mark Coverage table.

Format identifier: format = 1

Offset to Coverage table, from beginning of SinglePos subtable.

Attempt to resolve coverage_offset.

Defines the types of data in the ValueRecord.

Defines positioning value(s) — applied to all glyphs in the Coverage table.

Format identifier: format = 2

Offset to Coverage table, from beginning of SinglePos subtable.

Attempt to resolve coverage_offset.

Defines the types of data in the ValueRecords.

Number of ValueRecords — must equal glyphCount in the Coverage table.

Array of ValueRecords — positioning values applied to glyphs.

Format identifier: format = 1

Offset to Coverage table, from beginning of PairPos subtable.

Attempt to resolve coverage_offset.

Defines the types of data in valueRecord1 — for the first glyph in the pair (may be zero).

Defines the types of data in valueRecord2 — for the second glyph in the pair (may be zero).

Number of PairSet tables

Array of offsets to PairSet tables. Offsets are from beginning of PairPos subtable, ordered by Coverage Index.

Attempt to resolve pair_set_offsets.

Number of PairValueRecords

Array of PairValueRecords, ordered by glyph ID of the second glyph.

Format identifier: format = 2

Offset to Coverage table, from beginning of PairPos subtable.

Attempt to resolve coverage_offset.

ValueRecord definition — for the first glyph of the pair (may be zero).

ValueRecord definition — for the second glyph of the pair (may be zero).

Offset to ClassDef table, from beginning of PairPos subtable — for the first glyph of the pair.

Attempt to resolve class_def1_offset.

Offset to ClassDef table, from beginning of PairPos subtable — for the second glyph of the pair.

Attempt to resolve class_def2_offset.

Number of classes in classDef1 table — includes Class 0.

Number of classes in classDef2 table — includes Class 0.

Array of Class1 records, ordered by classes in classDef1.

Format identifier: format = 1

Offset to Coverage table, from beginning of CursivePos subtable.

Attempt to resolve coverage_offset.

Number of EntryExit records

Array of EntryExit records, in Coverage index order.

Format identifier: format = 1

Offset to markCoverage table, from beginning of MarkBasePos subtable.

Attempt to resolve mark_coverage_offset.

Offset to baseCoverage table, from beginning of MarkBasePos subtable.

Attempt to resolve base_coverage_offset.

Number of classes defined for marks

Offset to MarkArray table, from beginning of MarkBasePos subtable.

Attempt to resolve mark_array_offset.

Offset to BaseArray table, from beginning of MarkBasePos subtable.

Attempt to resolve base_array_offset.

Number of BaseRecords

Array of BaseRecords, in order of baseCoverage Index.

Format identifier: format = 1

Offset to markCoverage table, from beginning of MarkLigPos subtable.

Attempt to resolve mark_coverage_offset.

Offset to ligatureCoverage table, from beginning of MarkLigPos subtable.

Attempt to resolve ligature_coverage_offset.

Number of defined mark classes

Offset to MarkArray table, from beginning of MarkLigPos subtable.

Attempt to resolve mark_array_offset.

Offset to LigatureArray table, from beginning of MarkLigPos subtable.

Attempt to resolve ligature_array_offset.

Number of LigatureAttach table offsets

Array of offsets to LigatureAttach tables. Offsets are from beginning of LigatureArray table, ordered by ligatureCoverage index.

Attempt to resolve ligature_attach_offsets.

Number of ComponentRecords in this ligature

Array of Component records, ordered in writing direction.

Format identifier: format = 1

Offset to Combining Mark Coverage table, from beginning of MarkMarkPos subtable.

Attempt to resolve mark1_coverage_offset.

Offset to Base Mark Coverage table, from beginning of MarkMarkPos subtable.

Attempt to resolve mark2_coverage_offset.

Number of Combining Mark classes defined

Offset to MarkArray table for mark1, from beginning of MarkMarkPos subtable.

Attempt to resolve mark1_array_offset.

Offset to Mark2Array table for mark2, from beginning of MarkMarkPos subtable.

Attempt to resolve mark2_array_offset.

Number of Mark2 records

Array of Mark2Records, in Coverage order.

Format identifier: format = 1

Lookup type of subtable referenced by extensionOffset (i.e. the extension subtable).

Offset to the extension subtable, of lookup type extensionLookupType, relative to the start of the ExtensionPosFormat1 subtable.

Attempt to resolve extension_offset.

The major and minor version of the GSUB table, as a tuple (u16, u16)

Offset to ScriptList table, from beginning of GSUB table

Attempt to resolve script_list_offset.

Offset to FeatureList table, from beginning of GSUB table

Attempt to resolve feature_list_offset.

Offset to LookupList table, from beginning of GSUB table

Attempt to resolve lookup_list_offset.

Offset to FeatureVariations table, from beginning of the GSUB table (may be NULL)

Attempt to resolve feature_variations_offset.

Format identifier: format = 1

Offset to Coverage table, from beginning of substitution subtable

Attempt to resolve coverage_offset.

Add to original glyph ID to get substitute glyph ID

Format identifier: format = 2

Offset to Coverage table, from beginning of substitution subtable

Attempt to resolve coverage_offset.

Number of glyph IDs in the substituteGlyphIDs array

Array of substitute glyph IDs — ordered by Coverage index

Format identifier: format = 1

Offset to Coverage table, from beginning of substitution subtable

Attempt to resolve coverage_offset.

Number of Sequence table offsets in the sequenceOffsets array

Array of offsets to Sequence tables. Offsets are from beginning of substitution subtable, ordered by Coverage index

Attempt to resolve sequence_offsets.

Number of glyph IDs in the substituteGlyphIDs array. This must always be greater than 0.

String of glyph IDs to substitute

Format identifier: format = 1

Offset to Coverage table, from beginning of substitution subtable

Attempt to resolve coverage_offset.

Number of AlternateSet tables

Array of offsets to AlternateSet tables. Offsets are from beginning of substitution subtable, ordered by Coverage index

Attempt to resolve alternate_set_offsets.

Number of glyph IDs in the alternateGlyphIDs array

Array of alternate glyph IDs, in arbitrary order

Format identifier: format = 1

Offset to Coverage table, from beginning of substitution subtable

Attempt to resolve coverage_offset.

Number of LigatureSet tables

Array of offsets to LigatureSet tables. Offsets are from beginning of substitution subtable, ordered by Coverage index

Attempt to resolve ligature_set_offsets.

Number of Ligature tables

Array of offsets to Ligature tables. Offsets are from beginning of LigatureSet table, ordered by preference.

Attempt to resolve ligature_offsets.

glyph ID of ligature to substitute

Number of components in the ligature

Array of component glyph IDs — start with the second component, ordered in writing direction

Format identifier. Set to 1.

Lookup type of subtable referenced by extensionOffset (that is, the extension subtable).

Offset to the extension subtable, of lookup type extensionLookupType, relative to the start of the ExtensionSubstFormat1 subtable.

Attempt to resolve extension_offset.

Format identifier: format = 1

Offset to Coverage table, from beginning of substitution subtable.

Attempt to resolve coverage_offset.

Number of glyphs in the backtrack sequence.

Array of offsets to coverage tables in backtrack sequence, in glyph sequence order.

Attempt to resolve backtrack_coverage_offsets.

Number of glyphs in lookahead sequence.

Array of offsets to coverage tables in lookahead sequence, in glyph sequence order.

Attempt to resolve lookahead_coverage_offsets.

Number of glyph IDs in the substituteGlyphIDs array.

Array of substitute glyph IDs — ordered by Coverage index.

Number of ScriptRecords

Array of ScriptRecords, listed alphabetically by script tag

Offset to default LangSys table, from beginning of Script table — may be NULL

Attempt to resolve default_lang_sys_offset.

Number of LangSysRecords for this script — excluding the default LangSys

Array of LangSysRecords, listed alphabetically by LangSys tag

Index of a feature required for this language system; if no required features = 0xFFFF

Number of feature index values for this language system — excludes the required feature

Array of indices into the FeatureList, in arbitrary order

Number of FeatureRecords in this table

Array of FeatureRecords — zero-based (first feature has FeatureIndex = 0), listed alphabetically by feature tag

Offset from start of Feature table to FeatureParams table, if defined for the feature and present, else NULL

Attempt to resolve feature_params_offset.

Number of LookupList indices for this feature

Array of indices into the LookupList — zero-based (first lookup is LookupListIndex = 0)

Number of lookups in this table

Array of offsets to Lookup tables, from beginning of LookupList — zero based (first lookup is Lookup index = 0)

Attempt to resolve lookup_offsets.

Different enumerations for GSUB and GPOS

Lookup qualifiers

Number of subtables for this lookup

Array of offsets to lookup subtables, from beginning of Lookup table

Attempt to resolve subtable_offsets.

Index (base 0) into GDEF mark glyph sets structure. This field is only present if the USE_MARK_FILTERING_SET lookup flag is set.

Format identifier — format = 1

Number of glyphs in the glyph array

Array of glyph IDs — in numerical order

Format identifier — format = 2

Number of RangeRecords

Array of glyph ranges — ordered by startGlyphID.

Format identifier — format = 1

First glyph ID of the classValueArray

Size of the classValueArray

Array of Class Values — one per glyph ID

Format identifier — format = 2

Number of ClassRangeRecords

Array of ClassRangeRecords — ordered by startGlyphID

Format identifier: format = 1

Offset to Coverage table, from beginning of SequenceContextFormat1 table

Attempt to resolve coverage_offset.

Number of SequenceRuleSet tables

Array of offsets to SequenceRuleSet tables, from beginning of SequenceContextFormat1 table (offsets may be NULL)

Attempt to resolve seq_rule_set_offsets.

Number of SequenceRule tables

Array of offsets to SequenceRule tables, from beginning of the SequenceRuleSet table

Attempt to resolve seq_rule_offsets.

Number of glyphs in the input glyph sequence

Number of SequenceLookupRecords

Array of input glyph IDs—starting with the second glyph

Array of Sequence lookup records

Format identifier: format = 2

Offset to Coverage table, from beginning of SequenceContextFormat2 table

Attempt to resolve coverage_offset.

Offset to ClassDef table, from beginning of SequenceContextFormat2 table

Attempt to resolve class_def_offset.

Number of ClassSequenceRuleSet tables

Array of offsets to ClassSequenceRuleSet tables, from beginning of SequenceContextFormat2 table (may be NULL)

Attempt to resolve class_seq_rule_set_offsets.

Number of ClassSequenceRule tables

Array of offsets to ClassSequenceRule tables, from beginning of ClassSequenceRuleSet table

Attempt to resolve class_seq_rule_offsets.

Number of glyphs to be matched

Number of SequenceLookupRecords

Sequence of classes to be matched to the input glyph sequence, beginning with the second glyph position

Array of SequenceLookupRecords

Format identifier: format = 3

Number of glyphs in the input sequence

Number of SequenceLookupRecords

Array of offsets to Coverage tables, from beginning of SequenceContextFormat3 subtable

Attempt to resolve coverage_offsets.

Array of SequenceLookupRecords

Format identifier: format = 1

Offset to Coverage table, from beginning of ChainSequenceContextFormat1 table

Attempt to resolve coverage_offset.

Number of ChainedSequenceRuleSet tables

Array of offsets to ChainedSeqRuleSet tables, from beginning of ChainedSequenceContextFormat1 table (may be NULL)

Attempt to resolve chained_seq_rule_set_offsets.

Number of ChainedSequenceRule tables

Array of offsets to ChainedSequenceRule tables, from beginning of ChainedSequenceRuleSet table

Attempt to resolve chained_seq_rule_offsets.

Number of glyphs in the backtrack sequence

Array of backtrack glyph IDs

Number of glyphs in the input sequence

Array of input glyph IDs—start with second glyph

Number of glyphs in the lookahead sequence

Array of lookahead glyph IDs

Number of SequenceLookupRecords

Array of SequenceLookupRecords

Format identifier: format = 2

Offset to Coverage table, from beginning of ChainedSequenceContextFormat2 table

Attempt to resolve coverage_offset.

Offset to ClassDef table containing backtrack sequence context, from beginning of ChainedSequenceContextFormat2 table

Attempt to resolve backtrack_class_def_offset.

Offset to ClassDef table containing input sequence context, from beginning of ChainedSequenceContextFormat2 table

Attempt to resolve input_class_def_offset.

Offset to ClassDef table containing lookahead sequence context, from beginning of ChainedSequenceContextFormat2 table

Attempt to resolve lookahead_class_def_offset.

Number of ChainedClassSequenceRuleSet tables

Array of offsets to ChainedClassSequenceRuleSet tables, from beginning of ChainedSequenceContextFormat2 table (may be NULL)

Number of ChainedClassSequenceRule tables

Array of offsets to ChainedClassSequenceRule tables, from beginning of ChainedClassSequenceRuleSet

Attempt to resolve chained_class_seq_rule_offsets.

Number of glyphs in the backtrack sequence

Array of backtrack-sequence classes

Total number of glyphs in the input sequence

Array of input sequence classes, beginning with the second glyph position

Number of glyphs in the lookahead sequence

Array of lookahead-sequence classes

Number of SequenceLookupRecords

Array of SequenceLookupRecords

Format identifier: format = 3

Number of glyphs in the backtrack sequence

Array of offsets to coverage tables for the backtrack sequence

Attempt to resolve backtrack_coverage_offsets.

Number of glyphs in the input sequence

Array of offsets to coverage tables for the input sequence

Attempt to resolve input_coverage_offsets.

Number of glyphs in the lookahead sequence

Array of offsets to coverage tables for the lookahead sequence

Attempt to resolve lookahead_coverage_offsets.

Number of SequenceLookupRecords

Array of SequenceLookupRecords

Smallest size to correct, in ppem

Largest size to correct, in ppem

Format of deltaValue array data: 0x0001, 0x0002, or 0x0003

Array of compressed data

A delta-set outer index — used to select an item variation data subtable within the item variation store.

A delta-set inner index — used to select a delta-set row within an item variation data subtable.

Format, = 0x8000

Number of feature variation records.

Array of feature variation records.

Number of conditions for this condition set.

Array of offsets to condition tables, from beginning of the ConditionSet table.

Attempt to resolve condition_offsets.

Format, = 1

Index (zero-based) for the variation axis within the ‘fvar’ table.

Minimum value of the font variation instances that satisfy this condition.

Maximum value of the font variation instances that satisfy this condition.

Major & minor version of the table: (1, 0)

Number of feature table substitution records.

Array of feature table substitution records.

The first value represents the design size in 720/inch units (decipoints).

The design size entry must be non-zero. When there is a design size but no recommended size range, the rest of the array will consist of zeros.

The second value has no independent meaning, but serves as an identifier that associates fonts in a subfamily.

All fonts which share a Typographic or Font Family name and which differ only by size range shall have the same subfamily value, and no fonts which differ in weight or style shall have the same subfamily value. If this value is zero, the remaining fields in the array will be ignored.

source

pub fn name_entry(&self) -> u16

The third value enables applications to use a single name for the subfamily identified by the second value.

If the preceding value is non-zero, this value must be set in the range 256 – 32767 (inclusive). It records the value of a field in the ‘name’ table, which must contain English-language strings encoded in Windows Unicode and Macintosh Roman, and may contain additional strings localized to other scripts and languages. Each of these strings is the name an application should use, in combination with the family name, to represent the subfamily in a menu. Applications will choose the appropriate version based on their selection criteria.

The fourth and fifth values represent the small end of the recommended usage range (exclusive) and the large end of the recommended usage range (inclusive), stored in 720/inch units (decipoints).

Ranges must not overlap, and should generally be contiguous.

The ‘name’ table name ID that specifies a string (or strings, for multiple languages) for a user-interface label for this feature.

The value of uiLabelNameId is expected to be in the font-specific name ID range (256-32767), though that is not a requirement in this Feature Parameters specification. The user-interface label for the feature can be provided in multiple languages. An English string should be included as a fallback. The string should be kept to a minimal length to fit comfortably with different application interfaces.

Format number is set to 0.

The ‘name’ table name ID that specifies a string (or strings, for multiple languages) for a user-interface label for this feature. (May be NULL.)

The ‘name’ table name ID that specifies a string (or strings, for multiple languages) that an application can use for tooltip text for this feature. (May be NULL.)

The ‘name’ table name ID that specifies sample text that illustrates the effect of this feature. (May be NULL.)

Number of named parameters. (May be zero.)

The first ‘name’ table name ID used to specify strings for user-interface labels for the feature parameters. (Must be zero if numParameters is zero.)

The count of characters for which this feature provides glyph variants. (May be zero.)

The Unicode Scalar Value of the characters for which this feature provides glyph variants.

Resolve the provided offset from the start of this table.

Return a reference to this table’s raw data.

We use this in the compile crate to resolve offsets.

Table version number (0).

Number of encoding tables that follow.

Format number is set to 0.

This is the length in bytes of the subtable.

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

An array that maps character codes to glyph index values.

Format number is set to 2.

This is the length in bytes of the subtable.

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

Array that maps high bytes to subHeaders: value is subHeader index × 8.

Format number is set to 4.

This is the length in bytes of the subtable.

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

2 × segCount.

Maximum power of 2 less than or equal to segCount, times 2 ((2floor(log2(segCount))) * 2, where “” is an exponentiation operator)

Log2 of the maximum power of 2 less than or equal to numTables (log2(searchRange/2), which is equal to floor(log2(segCount)))

segCount times 2, minus searchRange ((segCount * 2) - searchRange)

End characterCode for each segment, last=0xFFFF.

Start character code for each segment.

Delta for all character codes in segment.

Offsets into glyphIdArray or 0

Glyph index array (arbitrary length)

Format number is set to 6.

This is the length in bytes of the subtable.

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

First character code of subrange.

Number of character codes in subrange.

Array of glyph index values for character codes in the range.

Subtable format; set to 8.

Byte length of this subtable (including the header)

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

Tightly packed array of bits (8K bytes total) indicating whether the particular 16-bit (index) value is the start of a 32-bit character code

Number of groupings which follow

Array of SequentialMapGroup records.

Subtable format; set to 10.

Byte length of this subtable (including the header)

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

First character code covered

Number of character codes covered

Array of glyph indices for the character codes covered

Subtable format; set to 12.

Byte length of this subtable (including the header)

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

Number of groupings which follow

Array of SequentialMapGroup records.

Subtable format; set to 13.

Byte length of this subtable (including the header)

For requirements on use of the language field, see “Use of the language field in ‘cmap’ subtables” in this document.

Number of groupings which follow

Array of ConstantMapGroup records.

Subtable format. Set to 14.

Byte length of this subtable (including this header)

Number of variation Selector Records

Array of VariationSelector records.

Number of Unicode character ranges.

Array of UnicodeRange records.

If the number of contours is greater than or equal to zero, this is a simple glyph. If negative, this is a composite glyph — the value -1 should be used for composite glyphs.

Minimum x for coordinate data.

Minimum y for coordinate data.

Maximum x for coordinate data.

Maximum y for coordinate data.

Array of point indices for the last point of each contour, in increasing numeric order

Total number of bytes for instructions. If instructionLength is zero, no instructions are present for this glyph, and this field is followed directly by the flags field.

Array of instruction byte code for the glyph.

the raw data for flags & x/y coordinates

If the number of contours is greater than or equal to zero, this is a simple glyph. If negative, this is a composite glyph — the value -1 should be used for composite glyphs.

Minimum x for coordinate data.

Minimum y for coordinate data.

Maximum x for coordinate data.

Maximum y for coordinate data.

component flag glyph index of component

Version number of the font header table, set to (1, 0)

Set by font manufacturer.

To compute: set it to 0, sum the entire font as uint32, then store 0xB1B0AFBA - sum. If the font is used as a component in a font collection file, the value of this field will be invalidated by changes to the file structure and font table directory, and must be ignored.

Set to 0x5F0F3CF5.

See the flags enum

Set to a value from 16 to 16384. Any value in this range is valid. In fonts that have TrueType outlines, a power of 2 is recommended as this allows performance optimizations in some rasterizers.

Number of seconds since 12:00 midnight that started January 1st 1904 in GMT/UTC time zone.

Number of seconds since 12:00 midnight that started January 1st 1904 in GMT/UTC time zone.

Minimum x coordinate across all glyph bounding boxes.

Minimum y coordinate across all glyph bounding boxes.

Maximum x coordinate across all glyph bounding boxes.

Maximum y coordinate across all glyph bounding boxes.

see somewhere else

Smallest readable size in pixels.

Deprecated (Set to 2).

0 for short offsets (Offset16), 1 for long (Offset32).

0 for current format.

The major/minor version (1, 0)

Typographic ascent—see note below.

Typographic descent—see note below.

Typographic line gap. Negative LineGap values are treated as zero in some legacy platform implementations.

Maximum advance width value in ‘hmtx’ table.

Minimum left sidebearing value in ‘hmtx’ table for glyphs with contours (empty glyphs should be ignored).

Minimum right sidebearing value; calculated as min(aw - (lsb + xMax - xMin)) for glyphs with contours (empty glyphs should be ignored).

Max(lsb + (xMax - xMin)).

Used to calculate the slope of the cursor (rise/run); 1 for vertical.

0 for vertical.

The amount by which a slanted highlight on a glyph needs to be shifted to produce the best appearance. Set to 0 for non-slanted fonts

0 for current format.

Number of hMetric entries in ‘hmtx’ table

Paired advance width and left side bearing values for each glyph. Records are indexed by glyph ID.

Left side bearings for glyph IDs greater than or equal to numberOfHMetrics.

The version: 0x00005000 for version 0.5, 0x00010000 for version 1.0.

The number of glyphs in the font.

Maximum points in a non-composite glyph.

Maximum contours in a non-composite glyph.

Maximum points in a composite glyph.

Maximum contours in a composite glyph.

1 if instructions do not use the twilight zone (Z0), or 2 if instructions do use Z0; should be set to 2 in most cases.

Maximum points used in Z0.

Number of Storage Area locations.

Number of FDEFs, equal to the highest function number + 1.

Number of IDEFs.

Maximum stack depth across Font Program (‘fpgm’ table), CVT Program (‘prep’ table) and all glyph instructions (in the ‘glyf’ table).

Maximum byte count for glyph instructions.

Maximum number of components referenced at “top level” for any composite glyph.

Maximum levels of recursion; 1 for simple components.

Table version number (0 or 1)

Number of name records.

Offset to start of string storage (from start of table).

The name records where count is the number of records.

Number of language-tag records.

The language-tag records where langTagCount is the number of records.

The FontData containing the encoded name strings.

0x00010000 for version 1.0 0x00020000 for version 2.0 0x00025000 for version 2.5 (deprecated) 0x00030000 for version 3.0

Italic angle in counter-clockwise degrees from the vertical. Zero for upright text, negative for text that leans to the right (forward).

This is the suggested distance of the top of the underline from the baseline (negative values indicate below baseline). The PostScript definition of this FontInfo dictionary key (the y coordinate of the center of the stroke) is not used for historical reasons. The value of the PostScript key may be calculated by subtracting half the underlineThickness from the value of this field.

Suggested values for the underline thickness. In general, the underline thickness should match the thickness of the underscore character (U+005F LOW LINE), and should also match the strikeout thickness, which is specified in the OS/2 table.

Set to 0 if the font is proportionally spaced, non-zero if the font is not proportionally spaced (i.e. monospaced).

Minimum memory usage when an OpenType font is downloaded.

Maximum memory usage when an OpenType font is downloaded.

Minimum memory usage when an OpenType font is downloaded as a Type 1 font.

Maximum memory usage when an OpenType font is downloaded as a Type 1 font.

Number of glyphs (this should be the same as numGlyphs in ‘maxp’ table).

Array of indices into the string data. See below for details.

Storage for the string data.

The number of glyph names covered by this table

0x00010000 or 0x4F54544F

Number of tables.

Table records array—one for each top-level table in the font

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.