Skip to content

class FontloaderFont

Example:

local f = fontloader.open('/usr/share/fonts/opentype/urw-base35/NimbusRoman-Regular.otf')

for _, value in ipairs(fontloader.fields(f)) do
    print(value, f[value])
end

Reference:

😱 Types incomplete or incorrect? 🙏 Please contribute!


fields


FontloaderFont.table_version


FontloaderFont.table_version : string

Indicates the metrics version (currently 0.3), for example 0.5; Corresponding C source code: luafflib.c#L2772-L2774.

FontloaderFont.fontname


FontloaderFont.fontname : string

The PostScript font name, for example NimbusRoman-Regular; Corresponding C source code: luafflib.c#L2775-L2777.

FontloaderFont.fullname


FontloaderFont.fullname : string

The official (human-oriented) font name, for example Nimbus Roman Regular; Corresponding C source code: luafflib.c#L2778-L2780.

FontloaderFont.familyname


FontloaderFont.familyname : string

The family name, for example Nimbus Roman; Corresponding C source code: luafflib.c#L2781-L2783.

FontloaderFont.weight


FontloaderFont.weight : string

The weight indicator, for example Regular; Corresponding C source code: luafflib.c#L2784-L2786.

FontloaderFont.copyright


FontloaderFont.copyright : string

The copyright information, for example Copyright (URW)++,Copyright 2014 by (URW)++ Design & Development; Corresponding C source code: luafflib.c#L2787-L2789.

FontloaderFont.filename


FontloaderFont.filename : string

The file name; Corresponding C source code: luafflib.c#L2790-L2792.

FontloaderFont.version


FontloaderFont.version : string

The font version; Corresponding C source code: luafflib.c#L2793-L2795.

FontloaderFont.italicangle


FontloaderFont.italicangle : integer

The slant angle; Corresponding C source code: luafflib.c#L2796-L2798

FontloaderFont.units_per_em


FontloaderFont.units_per_em : integer

1000 for PostScript-based fonts, usually 2048 for TrueType; Corresponding C source code: luafflib.c#L2827-L2829.

FontloaderFont.ascent


FontloaderFont.ascent : integer

The height of ascender in units_per_em; Corresponding C source code: luafflib.c#L2805-L2807. https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2808-L2810

FontloaderFont.descent


FontloaderFont.descent : integer

The depth of descender in units_per_em; Corresponding C source code: luafflib.c#L2808-L2810.

FontloaderFont.upos


FontloaderFont.upos : integer

Corresponding C source code: luafflib.c#L2799-L2801

FontloaderFont.uwidth


FontloaderFont.uwidth : integer

Corresponding C source code: luafflib.c#L2802-L2804

FontloaderFont.uniqueid


FontloaderFont.uniqueid : integer

Corresponding C source code: luafflib.c#L2811-L2813

FontloaderFont.glyphs


FontloaderFont.glyphs : FontloaderGlyph[]

The glyphs is an array containing the per-character information (quite a few of these are only present if non-zero); Corresponding C source code: luafflib.c#L2838-L2845.

FontloaderFont.glyphcnt


FontloaderFont.glyphcnt : integer

The number of included glyphs; Corresponding C source code: luafflib.c#L2814-L2820.

FontloaderFont.glyphmax


FontloaderFont.glyphmax : integer

The maximum used index the glyphs array; Corresponding C source code: luafflib.c#L2821-L2823.

FontloaderFont.glyphmin


FontloaderFont.glyphmin : integer

The minimum used index the glyphs array; Corresponding C source code: luafflib.c#L2824-L2826.

FontloaderFont.notdef_loc


FontloaderFont.notdef_loc : integer

The location of the .notdef glyph or -1 when not present, for example 0, -1, 854; Corresponding C source code: luafflib.c#L1920.

FontloaderFont.hasvmetrics


FontloaderFont.hasvmetrics : integer

Corresponding C source code: luafflib.c#L2846-L2848.

FontloaderFont.onlybitmaps


FontloaderFont.onlybitmaps : integer

Corresponding C source code: luafflib.c#L2849-L2851.

FontloaderFont.serifcheck


FontloaderFont.serifcheck : integer

Corresponding C source code: luafflib.c#L2852-L2854.

FontloaderFont.isserif


FontloaderFont.isserif : integer

Corresponding C source code: luafflib.c#L2855-L2857.

FontloaderFont.issans


FontloaderFont.issans : integer

Corresponding C source code: luafflib.c#L2858-L2860.

FontloaderFont.encodingchanged


FontloaderFont.encodingchanged : integer

Corresponding C source code: luafflib.c#L2861-L2863.

FontloaderFont.strokedfont


FontloaderFont.strokedfont : integer

Corresponding C source code: luafflib.c#L2864-L2866.

FontloaderFont.use_typo_metrics


FontloaderFont.use_typo_metrics : integer

Corresponding C source code: luafflib.c#L2867-L2869.

FontloaderFont.weight_width_slope_only


FontloaderFont.weight_width_slope_only : integer

Corresponding C source code: luafflib.c#L2870-L2872.

FontloaderFont.head_optimized_for_cleartype


FontloaderFont.head_optimized_for_cleartype : integer

Corresponding C source code: luafflib.c#L2873-L2875.

FontloaderFont.uni_interp


FontloaderFont.uni_interp : unknown

for example none; Corresponding C source code: luafflib.c#L2876-L2878.

FontloaderFont.origname


FontloaderFont.origname : string

The file name, as supplied by the user; Corresponding C source code: luafflib.c#L2887-L2889.

FontloaderFont.map


FontloaderFont.map : FontloaderMap {
    enccount: integer,
    encmax: integer,
    backmax: integer,
    remap: FontloaderRemap,
    map: table<integer,integer>,
    backmap: integer[],
    enc: FontloaderEnc,
}

Corresponding C source code: luafflib.c#L2879-L2886.

FontloaderFont.private


FontloaderFont.private : FontloaderPrivate

Corresponding C source code: luafflib.c#L2890-L2897.

FontloaderFont.xuid


FontloaderFont.xuid : string

[1021 618 1197637146 7437765]; Corresponding C source code: luafflib.c#L2041.

FontloaderFont.pfminfo


FontloaderFont.pfminfo : FontloaderPfminfo {
    pfmset: integer,
    winascent_add: integer,
    windescent_add: integer,
    hheadascent_add: integer,
    hheaddescent_add: integer,
    typoascent_add: integer,
    typodescent_add: integer,
    subsuper_set: integer,
    panose_set: integer,
    hheadset: integer,
    vheadset: integer,
    pfmfamily: integer,
    ...(+34)
}

Corresponding C source code: luafflib.c#L2901-L2904.

FontloaderFont.names


FontloaderFont.names : FontloaderLangName {
    lang: string,
    names: FontloaderTrueTypeNames,
}

Corresponding C source code: luafflib.c#L2905-L2912

FontloaderFont.cidinfo


FontloaderFont.cidinfo : FontloaderCidinfo {
    registry: string,
    ordering: string,
    supplement: integer,
    version: number,
}

Corresponding C source code: luafflib.c#L2913-L2919.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2920-L2930

FontloaderFont.subfonts


FontloaderFont.subfonts : table?

FontloaderFont.commments


FontloaderFont.commments : string?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2931-L2933

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2934-L2936

FontloaderFont.fontlog


FontloaderFont.fontlog : string?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2937-L2947

FontloaderFont.cvt_names


FontloaderFont.cvt_names : table?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2979-L2986

FontloaderFont.anchor_classes


FontloaderFont.anchor_classes : FontloaderAnchorClasses {
    name: string,
    lookup: string,
    type: unknown,
}

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2948-L2955

FontloaderFont.ttf_tables


FontloaderFont.ttf_tables : FontloaderTtfTables?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2956-L2963

FontloaderFont.ttf_tab_saved


FontloaderFont.ttf_tab_saved : FontloaderTtfTables?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2964-L2978

FontloaderFont.texdata


FontloaderFont.texdata : FontloaderTexdata?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2987-L2994

FontloaderFont.kerns


FontloaderFont.kerns : FontloaderGlyph[]?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2995-L3002

FontloaderFont.vkerns


FontloaderFont.vkerns : FontloaderGlyph[]?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2830-L2837

FontloaderFont.lookups


FontloaderFont.lookups : FontloaderLockup {
    type: string,
    format: unknown,
    tag: string,
    current_class: string[],
    before_class: string[],
    after_class: string[],
    rules: FontloaderLockupRule[],
}

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3011-L3018

FontloaderFont.gpos


FontloaderFont.gpos : FontloaderGpos {
    type: unknown,
}

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3019-L3026

FontloaderFont.gsub


FontloaderFont.gsub : FontloaderGsub?

FontloaderFont.features


FontloaderFont.features : nil

FontloaderFont.mm


FontloaderFont.mm : FontloaderMm?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3019-L3026

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3027-L3029

FontloaderFont.chosenname


FontloaderFont.chosenname : string?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3030-L3032

FontloaderFont.macstyle


FontloaderFont.macstyle : integer

for example -1.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3033-L3035

FontloaderFont.fondname


FontloaderFont.fondname : string?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3036-L3038

FontloaderFont.design_size


FontloaderFont.design_size : integer

for example 0.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3039-L3041

FontloaderFont.fontstyle_id


FontloaderFont.fontstyle_id : integer

for example 0.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3042-L3049

FontloaderFont.fontstyle_name


FontloaderFont.fontstyle_name : table?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2155

FontloaderFont.design_range_bottom


FontloaderFont.design_range_bottom : integer

for example 0.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3053-L3055

FontloaderFont.design_range_top


FontloaderFont.design_range_top : integer

for example 0.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3056-L3058

FontloaderFont.strokewidth


FontloaderFont.strokewidth : integer

for example 0.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L3059-L3072

FontloaderFont.mark_classes


FontloaderFont.mark_classes : FontloaderMarkClasses?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2171

FontloaderFont.creationtime


FontloaderFont.creationtime : integer

for example 1495029639.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2172

FontloaderFont.modificationtime


FontloaderFont.modificationtime : integer

for example 1495029639.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2174

FontloaderFont.os2_version


FontloaderFont.os2_version : integer

for example 3.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L1705-L1764

FontloaderFont.math


FontloaderFont.math : FontloaderMath?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2228

FontloaderFont.validation_state


FontloaderFont.validation_state : FontloaderValidationState?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2234

FontloaderFont.horiz_base


FontloaderFont.horiz_base : FontloaderHorizVertBase?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2239

FontloaderFont.vert_base


FontloaderFont.vert_base : FontloaderHorizVertBase?

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L2241

FontloaderFont.extrema_bound


FontloaderFont.extrema_bound : integer

for example 0.

https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/blob/f52b099f3e01d53dc03b315e1909245c3d5418d3/source/texk/web2c/luatexdir/luafontloader/src/luafflib.c#L1931-L1939

FontloaderFont.truetype


FontloaderFont.truetype : integer

signals a TrueType font