README

moonbit-community/harfbuzz/aat does not have a README file

#
AatError

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

#
Anchor

pub struct Anchor {
x : Int
y : Int
} derive(Eq, Show, ToJson)

#
AnkrTable

pub struct AnkrTable {
version : Int
lookup : LookupTable
anchor_offset : Int
data : Bytes
} derive(Show, ToJson)

#
AnkrTable::get_anchor

fn AnkrTable::get_anchor(self : AnkrTable, glyph : UInt, index : Int) -> Anchor?

#
AnkrTable::has_data

fn AnkrTable::has_data(self : AnkrTable) -> Bool

#
AnkrTable::parse

fn AnkrTable::parse(data : BytesView, num_glyphs : Int) -> Result[AnkrTable, AatError]

#
BslnData

pub enum BslnData {
Format0(Array[Int])
Format1(Array[Int], LookupTable)
Format2(Int, Array[Int])
Format3(Int, Array[Int], LookupTable)
} derive(Show, ToJson)

Parsed bsln baseline data.

#
BslnTable

pub struct BslnTable {
version : Int
format : Int
default_baseline : Int
data : BslnData
} derive(Show, ToJson)

Parsed bsln table.

#
BslnTable::has_data

fn BslnTable::has_data(self : BslnTable) -> Bool

#
BslnTable::parse

fn BslnTable::parse(data : BytesView, num_glyphs : Int) -> Result[BslnTable, AatError]

Parse a bsln table.

#
ClassTable

pub(all) enum ClassTable {
Lookup(LookupTable)
Array(UInt, Array[Int])
} derive(Eq, Show, ToJson)

#
ContextualSubstitutions

pub(all) enum ContextualSubstitutions {
Lookups(Array[LookupTable])
Values(Int, Array[UInt])
} derive(Eq, Show, ToJson)

#
ContextualSubtable

pub(all) struct ContextualSubtable {
coverage_flags : Int
sub_feature_flags : UInt
table : StateTable
substitutions : ContextualSubstitutions
} derive(Eq, Show, ToJson)

#
FeatFeatureName

pub struct FeatFeatureName {
feature : Int
name_id : Int
flags : Int
settings : Array[FeatSettingName]
} derive(Eq, Show, ToJson)

Feature name record.

#
FeatFeatureName::default_setting

fn FeatFeatureName::default_setting(self : FeatFeatureName) -> FeatSettingName?

#
FeatFeatureName::default_setting_index

fn FeatFeatureName::default_setting_index(self : FeatFeatureName) -> Int?

#
FeatFeatureName::is_exclusive

fn FeatFeatureName::is_exclusive(self : FeatFeatureName) -> Bool

#
FeatSettingName

pub struct FeatSettingName {
setting : Int
name_id : Int
} derive(Eq, Show, ToJson)

Feature setting name record.

#
FeatTable

pub struct FeatTable {
version : Int
features : Array[FeatFeatureName]
} derive(Show, ToJson)

Parsed feat table.

#
FeatTable::feature

fn FeatTable::feature(self : FeatTable, feature_type : Int) -> FeatFeatureName?

#
FeatTable::feature_types

fn FeatTable::feature_types(self : FeatTable) -> Array[Int]

#
FeatTable::has_data

fn FeatTable::has_data(self : FeatTable) -> Bool

#
FeatTable::parse

fn FeatTable::parse(data : BytesView) -> Result[FeatTable, AatError]

Parse a feat table.

#
InsertionSubtable

pub(all) struct InsertionSubtable {
coverage_flags : Int
sub_feature_flags : UInt
table : StateTable
insertion_action : Array[UInt]
} derive(Eq, Show, ToJson)

#
JustTable

pub struct JustTable {
version : Int
format : Int
horiz : JustificationHeader?
vert : JustificationHeader?
} derive(Show, ToJson)

Parsed just table (shallow).

#
JustTable::has_data

fn JustTable::has_data(self : JustTable) -> Bool

#
JustTable::parse

fn JustTable::parse(data : BytesView, num_glyphs : Int) -> Result[JustTable, AatError]

Parse a just table (shallow).

#
JustificationHeader

pub struct JustificationHeader {
class_table_offset : Int
wdc_table_offset : Int
pc_table_offset : Int
lookup : LookupTable?
} derive(Show, ToJson)

Parsed justification header (shallow).

#
KerxAdjustment

pub struct KerxAdjustment {
x_advance : Int
y_advance : Int
x_offset : Int
y_offset : Int
} derive(Eq, Show, ToJson)

#
KerxFormat1

pub struct KerxFormat1 {
table : StateTable
actions : Array[Int]
} derive(Show, ToJson)

#
KerxFormat2

pub struct KerxFormat2 {
row_width : Int
left : LookupTable
right : LookupTable
values : Array[Int]
} derive(Show, ToJson)

#
KerxFormat4

pub struct KerxFormat4 {
table : StateTable
flags : UInt
actions : Array[Int]
} derive(Show, ToJson)

#
KerxFormat6

pub struct KerxFormat6 {
row_index : LookupTable
column_index : LookupTable
values : Array[Int]
long_values : Bool
} derive(Show, ToJson)

#
KerxPair

pub struct KerxPair {
left : UInt
right : UInt
value : Int
} derive(Eq, Show, ToJson)

#
KerxSubtable

#
KerxSubtableHeader

pub struct KerxSubtableHeader {
coverage : UInt
tuple_count : Int
} derive(Eq, Show, ToJson)

#
KerxTable

pub struct KerxTable {
version : Int
subtables : Array[KerxSubtable]
} derive(Show, ToJson)

#
KerxTable::apply_scaled

fn KerxTable::apply_scaled(self : KerxTable, glyphs : Array[UInt], horizontal : Bool, scale_x : Int, scale_y : Int, upem : Int, ankr : AnkrTable?, contour_point? : (UInt, Int) -> (Int, Int)?) -> Array[KerxAdjustment]

#
KerxTable::has_data

fn KerxTable::has_data(self : KerxTable) -> Bool

#
KerxTable::kern_value

fn KerxTable::kern_value(self : KerxTable, left : UInt, right : UInt, horizontal : Bool) -> Int

#
KerxTable::parse

fn KerxTable::parse(data : BytesView, num_glyphs : Int) -> Result[KerxTable, AatError]

#
LigatureSubtable

pub(all) struct LigatureSubtable {
coverage_flags : Int
sub_feature_flags : UInt
table : StateTable
lig_actions : Array[UInt]
components : Array[UInt]
ligatures : Array[UInt]
lig_action_offset : Int
component_offset_words : Int
ligature_offset : Int
} derive(Eq, Show, ToJson)

#
LookupSegmentArray

pub(all) struct LookupSegmentArray {
first : UInt
last : UInt
values : Array[UInt]
} derive(Eq, Show, ToJson)

#
LookupSegmentSingle

pub(all) struct LookupSegmentSingle {
first : UInt
last : UInt
value : UInt
} derive(Eq, Show, ToJson)

#
LookupSingle

pub(all) struct LookupSingle {
glyph : UInt
value : UInt
} derive(Eq, Show, ToJson)

#
LookupTable

pub(all) enum LookupTable {
Format0(Array[UInt])
Format2(Array[LookupSegmentSingle])
Format4(Array[LookupSegmentArray])
Format6(Array[LookupSingle])
Format8(UInt, Array[UInt])
Format10(Int, UInt, Array[UInt])
} derive(Eq, Show, ToJson)

#
LtagTable

pub struct LtagTable {
version : Int
flags : Int
tags : Array[Bytes]
} derive(Show, ToJson)

Parsed ltag table.

#
LtagTable::has_data

fn LtagTable::has_data(self : LtagTable) -> Bool

#
LtagTable::parse

fn LtagTable::parse(data : BytesView) -> Result[LtagTable, AatError]

Parse an ltag table.

#
LtagTable::tags

fn LtagTable::tags(self : LtagTable) -> ArrayView[Bytes]

#
MortTable

pub struct MortTable {
version : Int
subtables : Array[MorxSubtable]
} derive(Eq, Show, ToJson)

#
MortTable::apply

fn MortTable::apply(self : MortTable, glyphs : Array[UInt], clusters : Array[Int], horizontal : Bool) -> Bool

#
MortTable::has_data

fn MortTable::has_data(self : MortTable) -> Bool

#
MortTable::parse

fn MortTable::parse(data : BytesView, num_glyphs : Int) -> Result[MortTable, AatError]

#
MorxSubtable

pub(all) enum MorxSubtable {
Noncontextual(NoncontextualSubtable)
Rearrangement(RearrangementSubtable)
Contextual(ContextualSubtable)
Ligature(LigatureSubtable)
Insertion(InsertionSubtable)
} derive(Eq, Show, ToJson)

#
MorxTable

pub struct MorxTable {
version : Int
subtables : Array[MorxSubtable]
} derive(Eq, Show, ToJson)

#
MorxTable::apply

fn MorxTable::apply(self : MorxTable, glyphs : Array[UInt], clusters : Array[Int], horizontal : Bool) -> Bool

#
MorxTable::has_data

fn MorxTable::has_data(self : MorxTable) -> Bool

#
MorxTable::parse

fn MorxTable::parse(data : BytesView, num_glyphs : Int) -> Result[MorxTable, AatError]

#
NoncontextualSubtable

pub(all) struct NoncontextualSubtable {
coverage_flags : Int
sub_feature_flags : UInt
lookup : LookupTable
} derive(Eq, Show, ToJson)

#
OpbdTable

pub struct OpbdTable {
version : Int
format : Int
lookup : LookupTable
data : BytesView
} derive(Show, ToJson)

Parsed opbd table.

#
OpbdTable::bounds

fn OpbdTable::bounds(self : OpbdTable, glyph : UInt, contour_point? : (UInt, Int) -> (Int, Int)?) -> Result[OpticalBounds?, AatError]

Resolve optical bounds for a glyph.

#
OpbdTable::has_data

fn OpbdTable::has_data(self : OpbdTable) -> Bool

#
OpbdTable::parse

fn OpbdTable::parse(data : BytesView, num_glyphs : Int) -> Result[OpbdTable, AatError]

Parse an opbd table.

#
OpticalBounds

pub struct OpticalBounds {
left : Int
top : Int
right : Int
bottom : Int
} derive(Eq, Show, ToJson)

Optical bounds record.

#
RearrangementSubtable

pub(all) struct RearrangementSubtable {
coverage_flags : Int
sub_feature_flags : UInt
table : StateTable
} derive(Eq, Show, ToJson)

#
StateEntry

pub(all) struct StateEntry {
new_state : Int
flags : Int
data1 : Int
data2 : Int
} derive(Eq, Show, ToJson)

#
StateTable

pub(all) struct StateTable {
n_classes : Int
class_table : ClassTable
state_array : Array[Int]
entries : Array[StateEntry]
state_array_offset : Int
extended : Bool
} derive(Eq, Show, ToJson)

#
TrackData

pub(all) struct TrackData {
track_table : Array[TrackTableEntry]
size_table : Array[Int]
} derive(Eq, Show, ToJson)

Track data for a direction.

#
TrackTableEntry

pub(all) struct TrackTableEntry {
track : Int
name_id : Int
values : Array[Int]
} derive(Eq, Show, ToJson)

Track table entry.

#
TrakTable

pub struct TrakTable {
version : Int
format : Int
horiz : TrackData?
vert : TrackData?
} derive(Eq, Show, ToJson)

Parsed trak table.

#
TrakTable::has_data

fn TrakTable::has_data(self : TrakTable) -> Bool

True if trak table has usable data.

#
TrakTable::parse

fn TrakTable::parse(data : BytesView) -> Result[TrakTable, AatError]

Parse a trak table.

#
TrakTable::tracking

fn TrakTable::tracking(self : TrakTable, ptem : Double, horizontal : Bool, track? : Double) -> Double

Compute tracking adjustment in design units.

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io