Module traversal

Source
Expand description

Experimental generic traversal of font tables.

This module defines functionality that allows untyped access to font table data. This is used as the basis for things like debug printing.

The basis of traversal is the SomeTable trait, which is implemented for all font tables. This trait provides the table’s name, as well as ordered access to the table’s fields. Using this, it is possible to iterate through a table and its subtables, records, and values.

Β§Warning

This functionality is considered experimental, and the API may break or be removed without warning.

StructsΒ§

ArrayIter πŸ”’
ArrayOfOffsets πŸ”’
ArrayOfRecords πŸ”’
ArrayOffset
An offset to an array.
ComputedArrayOfRecords πŸ”’
DebugPrintArray πŸ”’
A wrapper type that implements Debug for any array.
DebugPrintTable πŸ”’
A wrapper type that implements Debug for any table.
Field
A generic field in a font table.
FieldIter πŸ”’
RecordResolver
A struct created from a record and the data it needs to resolve any contained offsets.
ResolvedOffset
An offset, as well as the table it references.
StringOffset
An offset to string data.
VarLenArrayOfRecords πŸ”’

EnumsΒ§

FieldType
Types of fields in font tables.
OffsetType
Any offset type.

TraitsΒ§

SomeArray
A generic trait for arrays.
SomeRecord
A generic trait for records, which need to be passed in data in order to fully resolve themselves.
SomeString
SomeTable
A generic table type.