mcfonts.providers.ttf

A ttf provider, including already-made TTF and OTF fonts.

Module Contents

Classes

TTFProvider

The ttf provider embeds already-compiled TrueType and OpenType fonts.

class mcfonts.providers.ttf.TTFProvider(provider, origin, resource=None)

Bases: mcfonts.providers.base.Provider

The ttf provider embeds already-compiled TrueType and OpenType fonts.

mcfonts does not handle TTF providers by default, and they cannot be exported.

Construct a Provider base class.

Parameters:
provider_type

A string of the value in the JSON "type" field.

origin : os.PathLike[str] | str

The absolute path to the provider's JSON file.

chars_covered

A set of the individual characters covered by this provider.

provider : mcfonts.utils.types.TypedProviderTTF

resource : bytes | None

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.Glyph]]

get_contents()

Return the contents of the provider.

Returns:

Dictionary of the provider.

Return type:

mcfonts.utils.types.TypedProviderTTF

get_icon()

Return a Unicode character that can be used to represent this provider in shorthand descriptions.

Returns:

A 1-character string.

Return type:

str

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.

Returns:

A 2-element tuple of the minimum and maximum valid pack versions.

Return type:

tuple[int, None]

pretty_print()

Return a short one line description of the provider.

Returns:

A string of the provider's info, normally <icon> <type>: <info,...>.

Return type:

str

print_info()

Print information about this provider.

Return type:

None

yield_characters()

Yield strings of the individual characters this provider supports.

Returns:

A yield of strings of length 1, or None if no characters are present.

Return type:

collections.abc.Iterable[str]

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.Glyph]]

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.BitmapGlyph]]


Last update: 2023 November 30