README

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