mcfonts.providers.space
¶
A space provider, defining simple widths for characters.
Module Contents¶
Classes¶
The |
Functions¶
|
Create a glyph_sizes.bin bytearray from a template of characters and their starting and ending positions. |
- class mcfonts.providers.space.SpaceProvider(provider, origin)¶
Bases:
mcfonts.providers.base.Provider
The
space
provider defines only the width of a character.It's the simplest provider: it only contains the
"advances"
map.The keys of the advances are the characters as 1-length strings, and the values are the widths as integers. In mcfonts only, uniranges can also be used as the keys.
The default width for
U+0020 SPACE
is 4.Construct a Provider base class.
- Parameters:¶
- construct_glyphs()¶
Yield a tuple of (character, glyph) for every glyph available in the provider's resource.
Some glyphs may be empty or have no content.
- Returns:¶
A yield of
(character, Glyph)
, or None if there are no glyphs.- Return type:¶
collections.abc.Iterable[tuple[str, mcfonts.glyphs.SpaceGlyph]]
- get_contents()¶
Return the contents of the provider.
- get_icon()¶
Return a Unicode character that can be used to represent this provider in shorthand descriptions.
- get_pack_versions()¶
Return a tuple of the minimum and maximum pack versions for which this provider is valid.
The first element is guaranteed to be an integer. There will always be a minimum version, even if it's 0. The second element may be an integer, or None. If it is None, there is no maximum version bound.
- pretty_print()¶
Return a short one line description of the provider.
- validate()¶
Specific tests for validating a provider.
This function checks values to ensure that they're correct and in an acceptable range.
If applicable, textures are checked to ensure all characters have a defined glyph, and that the dimensions are correct.
Warnings are printed through
mcfonts.logger.warning()
.
- yield_characters()¶
Yield strings of the individual characters this provider supports.
- yield_glyphs()¶
Yield a tuple of (character, glyph) for every glyph available in the provider's resource.
This is different from
construct_glyphs()
because it yields glyphs that have already been constructed and stored.- Returns:¶
A yield of
(character, Glyph)
.- Return type:¶
collections.abc.Iterable[tuple[str, mcfonts.glyphs.SpaceGlyph]]
- yield_glyphs_in_unirange(unirange_notation)¶
Given unirange_notation, return a dictionary of the requested characters to their glyphs.
- Parameters:¶
- unirange_notation : str¶
A string representing the requested range of chars. See https://pypi.org/project/unirange/.
- Returns:¶
A yield of the requested glyphs that match unirange_notation.
- Return type:¶
collections.abc.Iterable[tuple[str, mcfonts.glyphs.SpaceGlyph | None]]
-
mcfonts.providers.space.to_glyph_sizes(advances, default_width=
(0, 14)
)¶ Create a glyph_sizes.bin bytearray from a template of characters and their starting and ending positions.
>>> to_glyph_sizes({"\0": 15}, (0, 0)) bytearray(b'\x0e\x00\x00\x00...')