Sign in

    moonbit-community/harfbuzz/ot/tables does not have a README file

    OtLayoutError

    pub suberror OtLayoutError {
    UnexpectedEof
    InvalidFormat
    } derive(Eq, Show, ToJson)

    FeatureList

    pub struct FeatureList {
    records : Array[FeatureRecord]
    } derive(Eq, Show, ToJson)

    Feature list table.

    FeatureList::records

    FeatureRecord

    pub struct FeatureRecord {
    tag :
    Tag

    offset : Int
    } derive(Eq, Show, ToJson)

    Feature record entry (offset from table start).

    GdefHeader

    pub struct GdefHeader {
    version : UInt
    glyph_class_def_offset : Int?
    attach_list_offset : Int?
    lig_caret_list_offset : Int?
    mark_attach_class_def_offset : Int?
    mark_glyph_sets_def_offset : Int?
    } derive(Show, ToJson)

    GdefTable

    pub struct GdefTable {
    data : BytesView
    header : GdefHeader
    } derive(Show, ToJson)

    GdefTable::glyph_class

    fn GdefTable::glyph_class(self : GdefTable, glyph : UInt) -> Result[Int, OtLayoutError]

    GdefTable::header

    fn GdefTable::header(self : GdefTable) -> GdefHeader

    GdefTable::mark_attach_class

    fn GdefTable::mark_attach_class(self : GdefTable, glyph : UInt) -> Result[Int, OtLayoutError]

    GdefTable::mark_glyph_set_contains

    fn GdefTable::mark_glyph_set_contains(self : GdefTable, set_index : Int, glyph : UInt) -> Result[Bool, OtLayoutError]

    GposTable

    pub struct GposTable {
    layout : LayoutTable
    } derive(Show, ToJson)

    GPOS table wrapper.

    GposTable::layout

    fn GposTable::layout(self : GposTable) -> LayoutTable

    GposTable::pair_adjust_deltas

    fn GposTable::pair_adjust_deltas(self : GposTable, glyphs : ArrayView[UInt]) -> Result[Array[ValueRecord], OtLayoutError]

    Compute pair adjustment deltas for a glyph sequence.

    GposTable::pair_adjust_deltas_with_lookups

    fn GposTable::pair_adjust_deltas_with_lookups(self : GposTable, glyphs : ArrayView[UInt], lookup_offsets : ArrayView[Int], gdef? : GdefTable) -> Result[Array[ValueRecord], OtLayoutError]

    GposTable::position_deltas

    fn GposTable::position_deltas(self : GposTable, glyphs : ArrayView[UInt]) -> Result[Array[ValueRecord], OtLayoutError]

    Compute GPOS positioning deltas for a glyph sequence.

    GposTable::position_deltas_with_lookups

    fn GposTable::position_deltas_with_lookups(self : GposTable, glyphs : ArrayView[UInt], lookup_offsets : ArrayView[Int], gdef? : GdefTable, clusters? : ArrayView[Int], advances_x? : ArrayView[Int], advances_y? : ArrayView[Int]) -> Result[Array[ValueRecord], OtLayoutError]

    GsubTable

    pub struct GsubTable {
    layout : LayoutTable
    } derive(Show, ToJson)

    GSUB table wrapper.

    GsubTable::apply_single

    fn GsubTable::apply_single(self : GsubTable, glyphs : Array[UInt]) -> Result[Bool, OtLayoutError]

    Apply GSUB single substitution lookups to glyph array.

    GsubTable::apply_single_with_lookups

    fn GsubTable::apply_single_with_lookups(self : GsubTable, glyphs : Array[UInt], lookup_offsets : ArrayView[Int], masks? : Array[UInt], lookup_mask? : UInt) -> Result[Bool, OtLayoutError]

    GsubTable::apply_with_lookups

    fn GsubTable::apply_with_lookups(self : GsubTable, glyphs : Array[UInt], clusters : Array[Int], lookup_offsets : ArrayView[Int], gdef? : GdefTable, masks? : Array[UInt], lookup_mask? : UInt) -> Result[(Array[UInt], Array[Int], Bool), OtLayoutError]

    GsubTable::apply_with_lookups_and_masks

    fn GsubTable::apply_with_lookups_and_masks(self : GsubTable, glyphs : Array[UInt], clusters : Array[Int], lookup_offsets : ArrayView[Int], gdef? : GdefTable, masks? : Array[UInt], lookup_mask? : UInt, alt_values? : Array[Int]) -> Result[(Array[UInt], Array[Int], Array[UInt], Bool), OtLayoutError]

    GsubTable::layout

    fn GsubTable::layout(self : GsubTable) -> LayoutTable

    LayoutHeader

    pub struct LayoutHeader {
    version : UInt
    script_list_offset : Int
    feature_list_offset : Int
    lookup_list_offset : Int
    feature_variations_offset : Int?
    } derive(Eq, Show, ToJson)

    Layout table header (GSUB/GPOS shared).

    LayoutTable

    pub struct LayoutTable {
    data : BytesView
    header : LayoutHeader
    script_list : ScriptList
    feature_list : FeatureList
    lookup_list : LookupList
    } derive(Show, ToJson)

    Parsed layout table (GSUB/GPOS shared).

    LayoutTable::feature_list

    fn LayoutTable::feature_list(self : LayoutTable) -> FeatureList

    LayoutTable::header

    fn LayoutTable::header(self : LayoutTable) -> LayoutHeader

    LayoutTable::lookup_list

    fn LayoutTable::lookup_list(self : LayoutTable) -> LookupList

    LayoutTable::parse

    Parse a GSUB/GPOS layout table.

    LayoutTable::script_list

    fn LayoutTable::script_list(self : LayoutTable) -> ScriptList

    LayoutTable::select_lookup_offsets

    fn LayoutTable::select_lookup_offsets(self : LayoutTable, script_tag :
    Tag
    , language_tag? :
    Tag
    ) -> Result[Array[Int], OtLayoutError]

    Select lookup offsets for a script/language pair using the default LangSys.

    LayoutTable::select_lookup_offsets_for_feature

    fn LayoutTable::select_lookup_offsets_for_feature(self : LayoutTable, script_tag :
    Tag
    , feature_tag :
    Tag
    , language_tag? :
    Tag
    , include_required? : Bool) -> Result[Array[Int], OtLayoutError]

    Select lookup offsets for a single feature tag within a script/language pair.

    LayoutTable::select_lookup_offsets_with_features

    fn LayoutTable::select_lookup_offsets_with_features(self : LayoutTable, script_tag :
    Tag
    , language_tag? :
    Tag
    , feature_tags? : Array[
    Tag
    ]) -> Result[Array[Int], OtLayoutError]

    Select lookup offsets for a script/language pair using a feature allowlist.

    LookupList

    pub struct LookupList {
    offsets : Array[Int]
    } derive(Eq, Show, ToJson)

    Lookup list table (offsets from table start).

    LookupList::offsets

    fn LookupList::offsets(self : LookupList) -> ArrayView[Int]

    PairAdjust

    pub struct PairAdjust {
    first : ValueRecord
    second : ValueRecord
    } derive(Eq, Show, ToJson)

    Pair adjustment result.

    ScriptList

    pub struct ScriptList {
    records : Array[ScriptRecord]
    } derive(Eq, Show, ToJson)

    Script list table.

    ScriptList::records

    ScriptRecord

    pub struct ScriptRecord {
    tag :
    Tag

    offset : Int
    } derive(Eq, Show, ToJson)

    Script record entry (offset from table start).

    ValueRecord

    pub struct ValueRecord {
    x_placement : Int
    y_placement : Int
    x_advance : Int
    y_advance : Int
    } derive(Eq, Show, ToJson)

    Value record for GPOS adjustments.

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io