Meziantou.Framework.Fonts namespace

Classes

NameDescription
AfmCharacterMetricsThe metrics of one character of an AFM file: a line of its StartCharMetrics section (Adobe Technical Note #5004, section 8).
AfmCompositeCharacterA composite character of an AFM file (the CC key): a character made of other characters of the font, such as an accented letter (Adobe Technical Note #5004, section 10).
AfmFontMetricsThe metrics of a PostScript font read from an AFM file (Adobe Font Metrics, Adobe Technical Note #5004, version 4.1): the global metrics of the font, the widths, bounding boxes and ligatures of its characters, its kerning pairs and tracks, and its composite characters.
AfmWritingDirectionThe metrics of an AFM file for one writing direction (Adobe Technical Note #5004, section 7.2).
CffFontA font program in the Compact Font Format (Adobe Technical Note #5176) on its own, not in an OpenType font: a .cff file, or a program embedded in a PDF document (/FontFile3, Type1C and CIDFontType0C). It gives the names (or the CIDs) of the glyphs, the built-in encoding, the font matrix and the outlines.
ColorGlyphA glyph of a color font as a display list: what the COLR table describes as a graph of paints, flattened into operations that are run in order.
ColorImageThe image of a glyph a font gives as a bitmap: pixels decoded, and scaled to the size the glyph is drawn at, when a text is laid out.
FontAllocatorThe storage of the temporary buffers of an operation of the font code, bounded by a number of live bytes.
FontBufferA buffer rented from a FontAllocator. Disposing it returns its storage.
FontDataThe bytes of a font file, kept for the lifetime of the fonts created from it and shared by the faces of a collection.
FontEnvironmentWhat the font code gets from the library that uses it: the limits that bound its work, and the storage of its temporary buffers.
FontExceptionThe base class of the exceptions of the font code.
FontFaceOne face of a font file: its table directory and what its fixed-size tables declare.
FontInstanceAn instance of a variable font: a value for each axis, and what only depends on these values.
FontInstanceRecordA named instance of a variable font: a name and a value for each axis, as 16.16 fixed-point numbers.
FontLoaderReads a font file into memory, within the limits of an environment, and creates its faces.
FontResourceLimitExceptionThe exception thrown when an operation would exceed a limit of FontResourceLimits or of a FontAllocator.
FontResourceLimitsThe limits that bound the work of the font code on untrusted input: the bytes read and kept, the work of decoding a glyph and the glyphs of a shaped text. Exceeding a limit throws a FontResourceLimitException.
FontSubsetterSubsets the outlines of a font to the glyphs a document uses, keeping the glyph identifiers: the glyphs that are not kept are empty, so that what refers to a glyph by its identifier (a PDF content stream, a shaped text) is unchanged.
GlyphBoundsSinkMeasures an outline: the smallest rectangle that contains its points and the control points of its curves.
GlyphBufferThe glyphs of a run of text while it is shaped: characters come in, substitutions replace, insert and remove glyphs, positioning fills the positions.
GlyphHinterDecodes the outlines of the glyphs of a font fitted to the pixel grid of a size: hinted outlines are sharper at small sizes, where an exactly scaled outline puts its edges across pixels.
GlyphScratchThe working storage of the decoding of a glyph, charged to an allocator. It grows to the largest glyph and is kept by its owner, so that decoding the same glyphs again allocates nothing.
InvalidFontExceptionThe exception thrown when a font does not follow the rules of its format.
LayoutQueriesAnswers questions about the layout tables of a font without shaping a text: whether it has a feature, what a feature does to a glyph or to a pair of glyphs. The lookups are those of the default language system of a script.
LayoutTableThe structure the GSUB and GPOS tables share: scripts, language systems, features and lookups. OpenType specification, "OpenType Layout Common Table Formats".
MathGlyphConstructionHow a glyph of mathematical layout grows along a direction: its larger forms, from the smallest, and the parts of the assembly that makes it as large as needed.
OpenTypeLanguageFinds the language systems of the OpenType Layout tables a text in a language can use: the tags a font can have a language system under, for a BCP 47 language tag.
OpenTypeScriptGives the script tags of the OpenType Layout tables for a Unicode script: OpenType specification, "Script Tags".
OutlineSinkReceives the outline of a glyph: closed contours of lines and Bézier curves, in font units with the y axis up.
PooledFontEnvironmentThe environment of a caller that has no allocation scopes of its own: the temporary buffers of an operation are rented from the shared array pool, and their live bytes are bounded per operation.
ShapingCacheWhat shaping computes from a font alone, kept for the runs of a layout: the glyphs each lookup of its layout tables may apply at, the plan of the runs of each font and settings, and the advances a variable font computes from the outlines of its glyphs. A font has no cache of its own; the caller keeps this one as long as it wants, and uses it for one shaping at a time.
SystemFontCollectionThe fonts installed on the machine, or the fonts of chosen directories: an index of their faces by family and by name, read without loading the fonts.
SystemFontDescriptorA face of a font installed on the machine: the file that holds it, and its names and its style, read without loading the font.
TextShaperShapes a run of text: turns its characters into the glyphs of a font and their positions, with the OpenType Layout tables of the font.
TrueTypeGlyphOutlinesThe TrueType outlines of the glyf and loca tables of a font program that FontLoader cannot load because it lacks tables, such as the programs embedded in PDF documents (/FontFile2), which often have only the tables a PDF reader needs (ISO 32000-2, 9.9).
UnknownFontFormatExceptionThe exception thrown when data does not start with the signature of a font format.
UnsupportedFontFeatureExceptionThe exception thrown when a valid font uses a feature of its format that the font code does not support.

Structs

NameDescription
AfmBoxA bounding box of an AFM file, in units of 1/1000 of the point size, with the y axis up.
AfmCompositePartA part of a composite character of an AFM file (the PCC key).
AfmKerningPairA kerning pair of an AFM file (the KP, KPX, KPY and KPH keys): the vector by which the second character moves relative to the first one.
AfmLigatureA ligature of an AFM file (the L key of a character): the character followed by Successor may be replaced by Ligature.
AfmTrackKerningA track of an AFM file (the TrackKern key): a degree of tightness, and the change of the space between characters as a linear function of the point size (Adobe Technical Note #5004, section 9.1).
AfmVectorA vector of an AFM file, in units of 1/1000 of the point size.
BitmapGlyphA glyph a font gives as an image of a fixed size: where the image is in the font data, and where it is drawn.
ColorLayerA layer of a color glyph of version 0 of the COLR table: the glyph whose outline it fills, and the index of its color in the palette (CpalTable.Foreground for the color of the text).
ColorOpAn operation of the display list of a color glyph.
ColorPaintA paint of the display list of a color glyph: a color, or a gradient in its own coordinate space.
ColorStopA color of a paint of a color glyph: a stop of a color line, or the color of a solid paint.
FontAxisRecordAn axis of a variable font. The values are 16.16 fixed-point numbers, in the units of the axis.
GlyphBoxThe box of the outline of a glyph, in font units, with the y axis up.
GlyphBudgetCounts the elementary operations spent to produce one glyph (outline points, components, operators), against FontResourceLimits.MaxGlyphComplexity.
GlyphInfoA glyph of a text being shaped: its identifier, the characters it comes from, and what shaping knows about it.
GlyphPositionThe position of a glyph, in font units: how far the pen moves after it, and where it is drawn from the pen.
MathGlyphPartA part of the assembly of a glyph of mathematical layout: the glyph, the lengths of its connectors at its start and at its end, its full size along the direction of the assembly (in font units), and whether it can be repeated.
MathGlyphVariantA larger form of a glyph of mathematical layout, and its size along the direction it grows in, in font units.
ShapingFeatureA feature of the OpenType Layout tables to apply to a run, with its value: 0 turns it off, 1 turns it on, a larger value selects an alternate. A feature applies to the whole run, or to the characters of a range.

Enums

NameDescription
BitmapGlyphFormatThe format of the image of a bitmap glyph (sbix, CBDT).
CmapVariationWhat the font says of a variation sequence: a base character followed by a variation selector.
ColorCompositeModeHow a paint is composed with its backdrop: the composition modes of the COLR table ("CompositeMode enumeration"), which are the Porter-Duff operators and the blend modes of the Compositing and Blending specification of the W3C.
ColorOpKindWhat an operation of the display list of a color glyph does.
ColorPaintKindThe kinds of paints of a color glyph.
FontOutlineKindThe format of the outlines of a font.
FontResourceLimitKindThe limits of FontResourceLimits and of a FontAllocator.
GlyphHintingHow the outlines of a font are fitted to the pixel grid of a size (GlyphHinter).
MathConstantThe constants of mathematical layout: OpenType specification, "MATH - The Mathematical Typesetting Table", "MathConstants table", in the order of the table.