README

bikallem/freetype/base does not have a README file

#
BitmapGlyphData

type BitmapGlyphData derive(Show)

#
BitmapGlyphData::bitmap_left

fn BitmapGlyphData::bitmap_left(self : BitmapGlyphData) -> Int

#
BitmapGlyphData::bitmap_top

fn BitmapGlyphData::bitmap_top(self : BitmapGlyphData) -> Int

#
BitmapGlyphData::new

fn BitmapGlyphData::new(slot_data : GlyphSlotData, bitmap :
Bitmap
, bitmap_left : Int, bitmap_top : Int) -> BitmapGlyphData

#
BitmapGlyphData::slot_data

#
BitmapOps

type BitmapOps

impl Show for BitmapOps

#
BitmapOps::load_glyph

fn BitmapOps::load_glyph(self : BitmapOps) -> ((UInt, Int) -> BitmapGlyphData raise
FTError
)

#
BitmapOps::new

fn BitmapOps::new(load_glyph~ : (UInt, Int) -> BitmapGlyphData raise
FTError
) -> BitmapOps

#
BitmapSize

type BitmapSize derive(Eq, Show)

Bitmap strike size descriptor.

#
BitmapSize::height

fn BitmapSize::height(self : BitmapSize) -> Int

#
BitmapSize::new

fn BitmapSize::new(height : Int, width : Int, size : Int64, x_ppem : Int64, y_ppem : Int64) -> BitmapSize

#
BitmapSize::size

fn BitmapSize::size(self : BitmapSize) -> Int64

#
BitmapSize::width

fn BitmapSize::width(self : BitmapSize) -> Int

#
BitmapSize::x_ppem

fn BitmapSize::x_ppem(self : BitmapSize) -> Int64

#
BitmapSize::y_ppem

fn BitmapSize::y_ppem(self : BitmapSize) -> Int64

#
CharMapRec

type CharMapRec derive(Eq, Show)

Character map record. Maps character codes to glyph indices.

#
CharMapRec::encoding

fn CharMapRec::encoding(self : CharMapRec) -> Encoding

#
CharMapRec::encoding_id

fn CharMapRec::encoding_id(self : CharMapRec) -> UInt

#
CharMapRec::new

fn CharMapRec::new(encoding : Encoding, platform_id : UInt, encoding_id : UInt) -> CharMapRec

#
CharMapRec::platform_id

fn CharMapRec::platform_id(self : CharMapRec) -> UInt

#
DriverData

pub(all) enum DriverData {
Empty
SfntDriver(SfntOps)
BitmapOps(BitmapOps)
Type1Ops(Type1Ops)
}

Opaque driver-specific data. Each font format stores parsed data here. The root package (lib.mbt) sets this; sub-packages read it via pattern matching.
impl Show for DriverData

#
Encoding

pub(all) enum Encoding {
None
MsSymbol
Unicode
Sjis
Prc
Big5
Wansung
Johab
AdobeStandard
AdobeExpert
AdobeCustom
AdobeLatin1
OldLatin2
AppleRoman
} derive(Eq, Show)

Character encoding identifiers. Encoded as 4-char tags matching C FreeType's FT_Encoding.

#
Encoding::from_tag

fn Encoding::from_tag(tag : UInt) -> Encoding

#
Encoding::to_tag

fn Encoding::to_tag(self : Encoding) -> UInt

#
FaceRec

type FaceRec derive(Show)

Core face record containing font metadata and state. Replaces C's FT_FaceRec. Mutable because glyph loading mutates state.

#
FaceRec::active_charmap

fn FaceRec::active_charmap(self : FaceRec) -> Int

#
FaceRec::ascender

fn FaceRec::ascender(self : FaceRec) -> Int

#
FaceRec::available_sizes

fn FaceRec::available_sizes(self : FaceRec) -> Array[BitmapSize]

#
FaceRec::bbox

#
FaceRec::char_index_fn

fn FaceRec::char_index_fn(self : FaceRec) -> ((UInt) -> UInt)

#
FaceRec::charmaps

fn FaceRec::charmaps(self : FaceRec) -> Array[CharMapRec]

#
FaceRec::descender

fn FaceRec::descender(self : FaceRec) -> Int

#
FaceRec::driver_data

fn FaceRec::driver_data(self : FaceRec) -> DriverData

#
FaceRec::face_flags

fn FaceRec::face_flags(self : FaceRec) -> Int64

#
FaceRec::face_index

fn FaceRec::face_index(self : FaceRec) -> Int64

#
FaceRec::family_name

fn FaceRec::family_name(self : FaceRec) -> String

#
FaceRec::foreground_color

fn FaceRec::foreground_color(self : FaceRec) ->
Color

#
FaceRec::glyph

fn FaceRec::glyph(self : FaceRec) -> GlyphSlot

#
FaceRec::has_color

fn FaceRec::has_color(self : FaceRec) -> Bool

#
FaceRec::has_fixed_sizes

fn FaceRec::has_fixed_sizes(self : FaceRec) -> Bool

#
FaceRec::has_glyph_names

fn FaceRec::has_glyph_names(self : FaceRec) -> Bool

#
FaceRec::has_horizontal

fn FaceRec::has_horizontal(self : FaceRec) -> Bool

#
FaceRec::has_kerning

fn FaceRec::has_kerning(self : FaceRec) -> Bool

#
FaceRec::has_multiple_masters

fn FaceRec::has_multiple_masters(self : FaceRec) -> Bool

#
FaceRec::has_vertical

fn FaceRec::has_vertical(self : FaceRec) -> Bool

#
FaceRec::height

fn FaceRec::height(self : FaceRec) -> Int

#
FaceRec::is_fixed_width

fn FaceRec::is_fixed_width(self : FaceRec) -> Bool

#
FaceRec::is_scalable

fn FaceRec::is_scalable(self : FaceRec) -> Bool

#
FaceRec::is_sfnt

fn FaceRec::is_sfnt(self : FaceRec) -> Bool

#
FaceRec::is_variation

fn FaceRec::is_variation(self : FaceRec) -> Bool

#
FaceRec::max_advance_height

fn FaceRec::max_advance_height(self : FaceRec) -> Int

#
FaceRec::max_advance_width

fn FaceRec::max_advance_width(self : FaceRec) -> Int

#
FaceRec::new

fn FaceRec::new(num_faces? : Int64, face_index? : Int64) -> FaceRec

Create a new empty face record.

#
FaceRec::num_faces

fn FaceRec::num_faces(self : FaceRec) -> Int64

#
FaceRec::num_glyphs

fn FaceRec::num_glyphs(self : FaceRec) -> Int64

#
FaceRec::palette

#
FaceRec::palette_data

#
FaceRec::palette_index

fn FaceRec::palette_index(self : FaceRec) -> Int

#
FaceRec::sdf_spread

fn FaceRec::sdf_spread(self : FaceRec) -> Int

#
FaceRec::set_active_charmap

fn FaceRec::set_active_charmap(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_ascender

fn FaceRec::set_ascender(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_available_sizes

fn FaceRec::set_available_sizes(self : FaceRec, v : Array[BitmapSize]) -> Unit

#
FaceRec::set_bbox

fn FaceRec::set_bbox(self : FaceRec, v :
BBox
) -> Unit

#
FaceRec::set_char_index_fn

fn FaceRec::set_char_index_fn(self : FaceRec, f : (UInt) -> UInt) -> Unit

#
FaceRec::set_descender

fn FaceRec::set_descender(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_driver_data

fn FaceRec::set_driver_data(self : FaceRec, v : DriverData) -> Unit

#
FaceRec::set_face_flags

fn FaceRec::set_face_flags(self : FaceRec, v : Int64) -> Unit

#
FaceRec::set_family_name

fn FaceRec::set_family_name(self : FaceRec, v : String) -> Unit

#
FaceRec::set_foreground_color

fn FaceRec::set_foreground_color(self : FaceRec, v :
Color
) -> Unit

#
FaceRec::set_height

fn FaceRec::set_height(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_max_advance_height

fn FaceRec::set_max_advance_height(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_max_advance_width

fn FaceRec::set_max_advance_width(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_num_glyphs

fn FaceRec::set_num_glyphs(self : FaceRec, v : Int64) -> Unit

#
FaceRec::set_palette

fn FaceRec::set_palette(self : FaceRec, v : Array[
Color
]) -> Unit

#
FaceRec::set_palette_data

fn FaceRec::set_palette_data(self : FaceRec, v :
PaletteData
?) -> Unit

#
FaceRec::set_palette_index

fn FaceRec::set_palette_index(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_sdf_spread

fn FaceRec::set_sdf_spread(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_style_flags

fn FaceRec::set_style_flags(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_style_name

fn FaceRec::set_style_name(self : FaceRec, v : String) -> Unit

#
FaceRec::set_underline_position

fn FaceRec::set_underline_position(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_underline_thickness

fn FaceRec::set_underline_thickness(self : FaceRec, v : Int) -> Unit

#
FaceRec::set_units_per_em

fn FaceRec::set_units_per_em(self : FaceRec, v : UInt) -> Unit

#
FaceRec::set_var_coords

fn FaceRec::set_var_coords(self : FaceRec, v : Array[Int]) -> Unit

#
FaceRec::size

fn FaceRec::size(self : FaceRec) -> SizeRec

#
FaceRec::style_flags

fn FaceRec::style_flags(self : FaceRec) -> Int

#
FaceRec::style_name

fn FaceRec::style_name(self : FaceRec) -> String

#
FaceRec::underline_position

fn FaceRec::underline_position(self : FaceRec) -> Int

#
FaceRec::underline_thickness

fn FaceRec::underline_thickness(self : FaceRec) -> Int

#
FaceRec::units_per_em

fn FaceRec::units_per_em(self : FaceRec) -> UInt

#
FaceRec::var_coords

fn FaceRec::var_coords(self : FaceRec) -> Array[Int]

#
FontFormat

pub(all) enum FontFormat {
TrueType
TrueTypeCollection
CffOpenType
Cff2OpenType
CffStandalone
Woff1
Woff2
Type1Pfa
Type1Pfb
Cid
Bdf
Pcf
WindowsFnt
Pfr
Unknown
} derive(Eq, Show)

Detected font format from header bytes.

#
GlyphLoader

type GlyphLoader derive(Show)

GlyphLoader: accumulates outline data during glyph loading. Used especially for composite glyphs where sub-glyphs are loaded one at a time and their outlines merged. Port of ftgloadr.c.

#
GlyphLoader::add

fn GlyphLoader::add(self : GlyphLoader) -> Unit

Merge current sub-glyph outline into the base. Adjusts contour indices to be relative to the combined base.

#
GlyphLoader::add_point

fn GlyphLoader::add_point(self : GlyphLoader, x : Int64, y : Int64, tag : Byte) -> Unit

Add a point to the current sub-glyph.

#
GlyphLoader::base_n_contours

fn GlyphLoader::base_n_contours(self : GlyphLoader) -> Int

Number of contours accumulated in the base.

#
GlyphLoader::base_n_points

fn GlyphLoader::base_n_points(self : GlyphLoader) -> Int

Number of points accumulated in the base.

#
GlyphLoader::end_contour

fn GlyphLoader::end_contour(self : GlyphLoader) -> Unit

End the current contour.

#
GlyphLoader::new

#
GlyphLoader::reset

fn GlyphLoader::reset(self : GlyphLoader) -> Unit

Reset the loader, clearing all accumulated data.

#
GlyphLoader::to_outline

Build an Outline from the accumulated base data.

#
GlyphSlot

type GlyphSlot derive(Show)

Glyph slot: holds the result of loading a single glyph. Reused across glyph loads (mutable).

#
GlyphSlot::advance

#
GlyphSlot::bitmap

#
GlyphSlot::bitmap_left

fn GlyphSlot::bitmap_left(self : GlyphSlot) -> Int

#
GlyphSlot::bitmap_top

fn GlyphSlot::bitmap_top(self : GlyphSlot) -> Int

#
GlyphSlot::glyph_index

fn GlyphSlot::glyph_index(self : GlyphSlot) -> UInt

#
GlyphSlot::linear_hori_advance

fn GlyphSlot::linear_hori_advance(self : GlyphSlot) ->
Fixed

#
GlyphSlot::linear_vert_advance

fn GlyphSlot::linear_vert_advance(self : GlyphSlot) ->
Fixed

#
GlyphSlot::load_flags

fn GlyphSlot::load_flags(self : GlyphSlot) -> Int

#
GlyphSlot::lsb_delta

fn GlyphSlot::lsb_delta(self : GlyphSlot) -> Int64

#
GlyphSlot::new

fn GlyphSlot::new() -> GlyphSlot

#
GlyphSlot::num_subglyphs

fn GlyphSlot::num_subglyphs(self : GlyphSlot) -> UInt

#
GlyphSlot::outline

#
GlyphSlot::rsb_delta

fn GlyphSlot::rsb_delta(self : GlyphSlot) -> Int64

#
GlyphSlot::set_advance

fn GlyphSlot::set_advance(self : GlyphSlot, v :
Vector
) -> Unit

#
GlyphSlot::set_bitmap

fn GlyphSlot::set_bitmap(self : GlyphSlot, v :
Bitmap
) -> Unit

#
GlyphSlot::set_bitmap_left

fn GlyphSlot::set_bitmap_left(self : GlyphSlot, v : Int) -> Unit

#
GlyphSlot::set_bitmap_top

fn GlyphSlot::set_bitmap_top(self : GlyphSlot, v : Int) -> Unit

#
GlyphSlot::set_format

#
GlyphSlot::set_glyph_index

fn GlyphSlot::set_glyph_index(self : GlyphSlot, v : UInt) -> Unit

#
GlyphSlot::set_linear_hori_advance

fn GlyphSlot::set_linear_hori_advance(self : GlyphSlot, v :
Fixed
) -> Unit

#
GlyphSlot::set_linear_vert_advance

fn GlyphSlot::set_linear_vert_advance(self : GlyphSlot, v :
Fixed
) -> Unit

#
GlyphSlot::set_load_flags

fn GlyphSlot::set_load_flags(self : GlyphSlot, v : Int) -> Unit

#
GlyphSlot::set_lsb_delta

fn GlyphSlot::set_lsb_delta(self : GlyphSlot, v : Int64) -> Unit

#
GlyphSlot::set_num_subglyphs

fn GlyphSlot::set_num_subglyphs(self : GlyphSlot, v : UInt) -> Unit

#
GlyphSlot::set_outline

fn GlyphSlot::set_outline(self : GlyphSlot, v :
Outline
) -> Unit

#
GlyphSlot::set_rsb_delta

fn GlyphSlot::set_rsb_delta(self : GlyphSlot, v : Int64) -> Unit

#
GlyphSlot::set_subglyphs

fn GlyphSlot::set_subglyphs(self : GlyphSlot, v : Array[SubGlyph]) -> Unit

#
GlyphSlot::subglyphs

fn GlyphSlot::subglyphs(self : GlyphSlot) -> Array[SubGlyph]

#
GlyphSlotData

type GlyphSlotData derive(Show)

Data returned from glyph loading (before being stored in GlyphSlot).

#
GlyphSlotData::metrics_height

fn GlyphSlotData::metrics_height(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_hori_advance

fn GlyphSlotData::metrics_hori_advance(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_hori_bearing_x

fn GlyphSlotData::metrics_hori_bearing_x(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_hori_bearing_y

fn GlyphSlotData::metrics_hori_bearing_y(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_vert_advance

fn GlyphSlotData::metrics_vert_advance(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_vert_bearing_x

fn GlyphSlotData::metrics_vert_bearing_x(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_vert_bearing_y

fn GlyphSlotData::metrics_vert_bearing_y(self : GlyphSlotData) -> Int64

#
GlyphSlotData::metrics_width

fn GlyphSlotData::metrics_width(self : GlyphSlotData) -> Int64

#
GlyphSlotData::new

fn GlyphSlotData::new(metrics_width : Int64, metrics_height : Int64, metrics_hori_bearing_x : Int64, metrics_hori_bearing_y : Int64, metrics_hori_advance : Int64, metrics_vert_bearing_x? : Int64, metrics_vert_bearing_y? : Int64, metrics_vert_advance? : Int64) -> GlyphSlotData

#
SfntOps

type SfntOps

SFNT driver operations — closures that capture the parsed font data.
impl Show for SfntOps

#
SfntOps::apply_hints

#
SfntOps::char_index

fn SfntOps::char_index(self : SfntOps) -> ((UInt) -> UInt)

#
SfntOps::char_variant_index

fn SfntOps::char_variant_index(self : SfntOps) -> ((UInt, UInt) -> UInt)

#
SfntOps::char_variant_is_default

fn SfntOps::char_variant_is_default(self : SfntOps) -> ((UInt, UInt) -> Int)

#
SfntOps::chars_of_variant

fn SfntOps::chars_of_variant(self : SfntOps) -> ((UInt) -> Array[UInt])

#
SfntOps::get_kerning

fn SfntOps::get_kerning(self : SfntOps) -> ((UInt, UInt) -> Int)

#
SfntOps::load_color_glyph

#
SfntOps::load_native_slot

fn SfntOps::load_native_slot(self : SfntOps) -> ((FaceRec, UInt, Int) -> Bool raise
FTError
)

#
SfntOps::new

fn SfntOps::new(char_index~ : (UInt) -> UInt, char_variant_index~ : (UInt, UInt) -> UInt, char_variant_is_default~ : (UInt, UInt) -> Int, variant_selectors~ : () -> Array[UInt], variants_of_char~ : (UInt) -> Array[UInt], chars_of_variant~ : (UInt) -> Array[UInt], load_glyph~ : (UInt, Int) -> (GlyphSlotData,
Outline
, Bytes, Array[
Vector
]) raise
FTError
, get_kerning~ : (UInt, UInt) -> Int, apply_hints~ : (
Outline
,
Fixed
) -> Bool, tt_hint~ : (
Outline
, Bytes, Array[
Vector
],
Fixed
,
Fixed
, UInt) -> Bool, load_native_slot? : (FaceRec, UInt, Int) -> Bool raise
FTError
, palette_data~ : () ->
PaletteData
?, select_palette~ : (UInt) -> Array[
Color
]? raise
FTError
, load_color_glyph~ : (UInt, Int, UInt, UInt, Array[
Color
],
Color
) -> BitmapGlyphData? raise
FTError
, num_glyphs~ : UInt, raw_data~ : Bytes) -> SfntOps

#
SfntOps::num_glyphs

fn SfntOps::num_glyphs(self : SfntOps) -> UInt

#
SfntOps::palette_data

#
SfntOps::raw_data

fn SfntOps::raw_data(self : SfntOps) -> Bytes

#
SfntOps::select_palette

#
SfntOps::variant_selectors

fn SfntOps::variant_selectors(self : SfntOps) -> (() -> Array[UInt])

#
SfntOps::variants_of_char

fn SfntOps::variants_of_char(self : SfntOps) -> ((UInt) -> Array[UInt])

#
SizeRec

type SizeRec derive(Show)

Size object: holds size-specific metrics.

#
SizeRec::new

fn SizeRec::new() -> SizeRec

#
SizeRec::set_metrics

#
SubGlyph

type SubGlyph derive(Show)

Sub-glyph record for composite glyphs.

#
SubGlyph::arg1

fn SubGlyph::arg1(self : SubGlyph) -> Int

#
SubGlyph::arg2

fn SubGlyph::arg2(self : SubGlyph) -> Int

#
SubGlyph::flags

fn SubGlyph::flags(self : SubGlyph) -> UInt

#
SubGlyph::index

fn SubGlyph::index(self : SubGlyph) -> UInt

#
SubGlyph::new

fn SubGlyph::new(index : UInt, flags : UInt, arg1 : Int, arg2 : Int, transform :
Matrix
) -> SubGlyph

#
SubGlyph::transform

#
Type1Ops

type Type1Ops

Type 1 driver operations.
impl Show for Type1Ops

#
Type1Ops::apply_hints

#
Type1Ops::attach_metrics

fn Type1Ops::attach_metrics(self : Type1Ops) -> ((Bytes) -> Unit raise
FTError
)

#
Type1Ops::char_index

fn Type1Ops::char_index(self : Type1Ops) -> ((UInt) -> UInt)

#
Type1Ops::get_kerning

fn Type1Ops::get_kerning(self : Type1Ops) -> ((UInt, UInt) -> Int)

#
Type1Ops::load_glyph

#
Type1Ops::load_native_slot

fn Type1Ops::load_native_slot(self : Type1Ops) -> ((FaceRec, UInt, Int) -> Bool raise
FTError
)

#
Type1Ops::new

fn Type1Ops::new(char_index~ : (UInt) -> UInt, load_glyph~ : (UInt, Int) -> (GlyphSlotData,
Outline
) raise
FTError
, apply_hints~ : (
Outline
,
Fixed
) -> Bool, load_native_slot? : (FaceRec, UInt, Int) -> Bool raise
FTError
, get_kerning? : (UInt, UInt) -> Int, set_var_design_coordinates? : (Array[(
Fixed
, UInt)]) -> Unit raise
FTError
, attach_metrics? : (Bytes) -> Unit raise
FTError
) -> Type1Ops

#
Type1Ops::set_var_design_coordinates

fn Type1Ops::set_var_design_coordinates(self : Type1Ops) -> ((Array[(
Fixed
, UInt)]) -> Unit raise
FTError
)

#
FACE_FLAG_COLOR

let FACE_FLAG_COLOR : Int64

#
FACE_FLAG_FIXED_SIZES

let FACE_FLAG_FIXED_SIZES : Int64

#
FACE_FLAG_FIXED_WIDTH

let FACE_FLAG_FIXED_WIDTH : Int64

#
FACE_FLAG_GLYPH_NAMES

let FACE_FLAG_GLYPH_NAMES : Int64

#
FACE_FLAG_HINTER

let FACE_FLAG_HINTER : Int64

#
FACE_FLAG_HORIZONTAL

let FACE_FLAG_HORIZONTAL : Int64

#
FACE_FLAG_KERNING

let FACE_FLAG_KERNING : Int64

#
FACE_FLAG_MULTIPLE_MASTERS

let FACE_FLAG_MULTIPLE_MASTERS : Int64

#
FACE_FLAG_SBIX

let FACE_FLAG_SBIX : Int64

#
FACE_FLAG_SBIX_OVERLAY

let FACE_FLAG_SBIX_OVERLAY : Int64

#
FACE_FLAG_SCALABLE

let FACE_FLAG_SCALABLE : Int64

#
FACE_FLAG_SFNT

let FACE_FLAG_SFNT : Int64

#
FACE_FLAG_SVG

let FACE_FLAG_SVG : Int64

#
FACE_FLAG_TRICKY

let FACE_FLAG_TRICKY : Int64

#
FACE_FLAG_VARIATION

let FACE_FLAG_VARIATION : Int64

#
FACE_FLAG_VERTICAL

let FACE_FLAG_VERTICAL : Int64

#
LOAD_ADVANCE_ONLY

let LOAD_ADVANCE_ONLY : Int

#
LOAD_BITMAP_METRICS_ONLY

let LOAD_BITMAP_METRICS_ONLY : Int

#
LOAD_COLOR

let LOAD_COLOR : Int

#
LOAD_COMPUTE_METRICS

let LOAD_COMPUTE_METRICS : Int

#
LOAD_DEFAULT

let LOAD_DEFAULT : Int

#
LOAD_FORCE_AUTOHINT

let LOAD_FORCE_AUTOHINT : Int

#
LOAD_IGNORE_TRANSFORM

let LOAD_IGNORE_TRANSFORM : Int

#
LOAD_LINEAR_DESIGN

let LOAD_LINEAR_DESIGN : Int

#
LOAD_MONOCHROME

let LOAD_MONOCHROME : Int

#
LOAD_NO_AUTOHINT

let LOAD_NO_AUTOHINT : Int

#
LOAD_NO_BITMAP

let LOAD_NO_BITMAP : Int

#
LOAD_NO_HINTING

let LOAD_NO_HINTING : Int

#
LOAD_NO_RECURSE

let LOAD_NO_RECURSE : Int

#
LOAD_NO_SCALE

let LOAD_NO_SCALE : Int

#
LOAD_NO_SVG

let LOAD_NO_SVG : Int

#
LOAD_PEDANTIC

let LOAD_PEDANTIC : Int

#
LOAD_RENDER

let LOAD_RENDER : Int

#
LOAD_SBITS_ONLY

let LOAD_SBITS_ONLY : Int

#
LOAD_TARGET_LCD

let LOAD_TARGET_LCD : Int

#
LOAD_TARGET_LCD_V

let LOAD_TARGET_LCD_V : Int

#
LOAD_TARGET_LIGHT

let LOAD_TARGET_LIGHT : Int

#
LOAD_TARGET_MODE_MASK

let LOAD_TARGET_MODE_MASK : Int

#
LOAD_TARGET_MONO

let LOAD_TARGET_MONO : Int

#
LOAD_TARGET_NORMAL

let LOAD_TARGET_NORMAL : Int

#
LOAD_VERTICAL_LAYOUT

let LOAD_VERTICAL_LAYOUT : Int

#
PALETTE_FOR_DARK_BACKGROUND

let PALETTE_FOR_DARK_BACKGROUND : UInt

#
PALETTE_FOR_LIGHT_BACKGROUND

let PALETTE_FOR_LIGHT_BACKGROUND : UInt

#
STYLE_FLAG_BOLD

let STYLE_FLAG_BOLD : Int

#
STYLE_FLAG_ITALIC

let STYLE_FLAG_ITALIC : Int

#
detect_format

fn detect_format(data : Bytes) -> FontFormat

Detect font format from the first few bytes of the file. Pure function — no side effects, no I/O.

#
outline_check

Validate outline backing storage and contour endpoints before walking it. This intentionally accepts trailing unused points in reusable outline buffers and repeated contour endpoints that encode empty contours; the critical requirement for safe decomposition is that contour endpoints never decrease and always stay in bounds for the declared point count.

#
outline_decompose

Walk an outline's contours, emitting move_to/line_to/conic_to/cubic_to callbacks. Port of FT_Outline_Decompose from ftoutln.c.

#
outline_get_bbox

Compute the bounding box of an outline including off-curve control points. This is the control box (cbox), which is a superset of the true bbox. For glyph metrics this is sufficient and matches C FreeType's fast path.

#
outline_get_cbox

Compute the control-box (cbox) of an outline. This is the bounding box of all points (including off-curve), which is always >= the true bbox. Fast but overestimates.

#
outline_get_orientation

fn outline_get_orientation(outline :
Outline
) -> Int

Compute the orientation of an outline. Returns 1 for clockwise, -1 for counter-clockwise, 0 for degenerate. Port of FT_Outline_Get_Orientation from ftoutln.c.

#
outline_reverse

fn outline_reverse(outline :
Outline
) -> Unit

Reverse the direction of all contours in an outline. Port of FT_Outline_Reverse from ftoutln.c.

#
outline_transform

fn outline_transform(outline :
Outline
, matrix :
Matrix
) -> Unit

Transform all points of an outline by a 2×2 matrix. Port of FT_Outline_Transform from ftoutln.c.

#
outline_translate

fn outline_translate(outline :
Outline
, dx : Int64, dy : Int64) -> Unit

Translate all points of an outline by (dx, dy). Port of FT_Outline_Translate from ftoutln.c.