Glossary¶
- Advances¶
Unique to the "space" provider type. A dictionary of
{character: width of space}
.- Aligning¶
Putting a glyph as far as it can go in a direction without losing pixels.
- Allocation¶
To declare a new codepoint in a font. Programs must have an allocated codepoint to map to before they can be added to a font. In some cases, a codepoint may be allocated, but have no program.
- Ascent¶
The number of pixels at which any pixels below it are considered part of the descender. By default, this is
height - scale
. See height and scale.- Bitmap¶
Either a provider type or a texture.
- Cell¶
Alias for glyph cell.
- Char¶
Abbreviation for character.
- Character¶
A single Unicode scalar string. This character's codepoint can range from U+0000 to U+10FFFF. Multi-component graphemes (skin-toned emojis, flags) are not single characters.
- Charline¶
A string inside of a charlist. Contains the characters to map a resource's glyphs to.
- Charlist¶
A list of strings that define which glyphs map to which characters. Used in bitmap providers.
- Charstring¶
An Adobe Type 2 charstring. This is the format chosen to represent OpenType glyphs, and Charstrings are used in exported OpenType fonts. For more information, read https://adobe-type-tools.github.io/font-tech-notes/pdfs/5177.Type2.pdf.
- Charstring program¶
The actual list of instructions inside of a charstring, contains strings that tell how to form a glyph. These are passed into internal exporting functions in order to form an OpenType font.
- Codepoint¶
A number that maps to a specific single character. All characters have exactly 1 codepoint. For example, 🫐 BLUEBERRIES is 1FAD0 in hexadecimal, which is 129744 in decmial. 0x1FAD0 is the same as 129744. See https://en.wikipedia.org/wiki/Code_point.
- Compacting¶
Fitting as many glyphs as possible into a single sheet. See Compacting.
- Coverage¶
Details regarding how many characters and providers a font contains.
- Coverage report¶
An instance of
mcfonts.coverage_reports.CoverageReport
. Contains information about a font, and functions for displaying this information. See the docstring for more usage details.- Excess¶
Values of a glyph that define the left padding and the real width.
- Export Filter¶
An instance of
mcfonts.providers.AnyFilter
that is passed to exporting functions. It controls what characters and providers are exported, and under what conditions.- Exporting¶
Translating a Minecraft Font into a binary font format, such as OpenType.
- Filter¶
Alias for export filter.
- Font¶
A set of designs for letters, numbers, and symbols. Typefaces and fonts are not the same thing.
- fontTools¶
The Python library used to build exported OpenType fonts. See https://github.com/fonttools/fonttools.
- Font XML¶
Alias for TTX.
- Full width¶
A glyph whose width is the same as its character cell.
- Glyph¶
- Glyph cell¶
The dimensions a glyph has in a sheet. Defined as width × height. A cell may 8x8, 9x12, or even 24x24.
- Glyph sizes¶
A binary format that defines how wide a Legacy Unicode character is. The high nibble is the starting width, and the lower nibble is the ending width. The byte's order is the codepoint it's assigned to.
- Height¶
How large a glyph is rendered. Values must be multiples of the resources width; if a glyph's width is 8, acceptable heights are 8, 16, 32, 64, etc. A glyph width of 8 and a height is 16 results in a scale of 2. See ascent and scale.
- Importing¶
Taking a format of a Minecraft font and collecting the providers and referenced textures, and returning a MinecraftFont instance with these collections.
- Mode¶
Alias for PIL's image modes.
- Namerecord¶
A string of text that's attached to a font. Can be the font's name, copyright notice, vendor URL, version, changelog, etc. See https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-records.
- Nominals¶
Alias for excess.
- Notdef¶
The special glyph that is used as a fallback for when a glyph for a codepoint does not exist.
- OpenType¶
The font format that exporting will write in.
- Path¶
The location of a folder or a file.
- Path shortcut¶
Symbols such as
~
,%HOME%
, and others that will translate to other locations in a path. Helps to shorten path lengths.- Policy¶
A string declared how to handle a selection. Most often, this is "include", "exclude", but may also add "include_only", "exclude_only".
- Program¶
Alias for charstring program.
- Provider¶
A dictionary obtained from a Minecraft font file that tells the font what glyphs are in it, and what characters they should be assigned to.
- Provider type¶
What the type of a provider is. As of 1.19 JE, types are: bitmap, space, ttf, legacy_unicode.
- Reference¶
Any external file that is specified inside of a provider. Most referenced files are textures. Normally used as past participle "referenced".
- Resource¶
A individual referenced texture.
- Scale¶
The ratio of a character's cell-width to the provider's height.
- Sheet¶
Similar to resource, except that it isn't necessarily referenced. Sheets are local textures that contains a large number of individual glyphs.
- Space¶
A glyph with no program, but only a defined width. Used for defining whitespace.
- Texture¶
A PNG image that contains the pixels for any glyph(s).
- TTX¶
Abbreviation for TrueType XML. TTX is a human-readable XML document that describes how a TrueType font is made. See https://fonttools.readthedocs.io/en/latest/ttx.html. mcfonts uses TTX as an intermediary representation of a font before compiling it.
- Unicode¶
The universally-adopted standard for encoding, representing, and handling of text. See https://en.wikipedia.org/wiki/Unicode.
- Unirange¶
A notation for specifying multiple Unicode characters compactly. See https://pypi.org/project/unirange/.
- U+¶
Notation for representing the codepoints of Unicode characters. Always padded with 0 to a length of 4. However, 5+ digit codepoints are not padded.
0xFD -> U+00FD, 0x194 -> U+0194, 0xFE0F -> U+FE0F, 0x1FAE3 -> U+1FAE3, 0x10F023 -> U+10F023.
- Validation¶
Ensuring that a Minecraft font is correct in structure, and that all referenced textures are correct in resolution.
- Vanilla¶
The base Minecraft: Java Edition game, unmodded.
- Width¶
How wide a glyph is, measured in pixels. This is the first number in the program list, albeit scaled.