mcfonts.font¶
A Minecraft: Java Edition font.
Module Contents¶
- class MinecraftFont¶
Bases:
collections.abc.MutableSequence[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]The MinecraftFont class contains a list of providers which supply character-glyph mappings.
By default, these do not have any "not defined" glyphs. Items that expect such default fallbacks must generate their own. You can manually create and add a
NotdefProvideror similar that implements it.This class is a MutableSequence:
font = MinecraftFont() BitmapProvider(...) in font glyph = font.get_first_provider_covering("A") del font[BitmapProvider(...)] for provider in font: ... if len(font) > 0: ... if font: ...- __getitem__(index: int) mcfonts.provider.Provider[mcfonts.glyph.Glyph]¶
- __getitem__(index: slice) list[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]
- __iter__() collections.abc.Generator[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]¶
- Return type:¶
collections.abc.Generator[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]
- __reversed__() collections.abc.Generator[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]¶
- Return type:¶
collections.abc.Generator[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]
- __setitem__(index: int, value: mcfonts.provider.Provider[mcfonts.glyph.Glyph])¶
- __setitem__(index: slice, value: collections.abc.Iterable[mcfonts.provider.Provider[mcfonts.glyph.Glyph]])
- delete_providers_with_character(character: str) None¶
Delete all providers from this font which cover character.
- get_characters() collections.abc.Generator[str]¶
Yield all characters this font covers.
- get_first_provider_covering(character: str, /) mcfonts.provider.Provider[mcfonts.glyph.Glyph] | None¶
- get_notdef() mcfonts.provider.Provider[mcfonts.glyph.Glyph] | None¶
Return the first provider which responds to/has a glyph for the character "notdef".
- get_provider_count() dict[type[mcfonts.provider.Provider[mcfonts.glyph.Glyph]], int]¶
Return a count of the providers stored.
- Returns:¶
Dictionary of provider type field to amount.
- Return type:¶
dict[type[mcfonts.provider.Provider[mcfonts.glyph.Glyph]], int]
-
get_providers(order: PrioritySortOrder | None =
None) collections.abc.Generator[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]¶ Yield providers by their priority, ascending by default.
- Parameters:¶
- order : PrioritySortOrder | None¶
Order to yield in. Default is None - insertion order regardless of priority
- Returns:¶
Generator yielding Provider.
- Return type:¶
collections.abc.Generator[mcfonts.provider.Provider[mcfonts.glyph.Glyph]]
- get_providers_covering(characters: collections.abc.Iterable[str], /) collections.abc.Generator[tuple[set[str], mcfonts.provider.Provider[mcfonts.glyph.Glyph]]]¶
Yield providers that cover at least 1 of any of the characters in characters.
Providers will be yielded at most once, and in descending priority order.
Warning
Multiple providers may overlap and cover the same character.
- Parameters:¶
- characters : collections.abc.Iterable[str]¶
Set of characters.
- Returns:¶
Generator that yields tuple of
(set of characters this provider covers, the provider).- Return type:¶
collections.abc.Generator[tuple[set[str], mcfonts.provider.Provider[mcfonts.glyph.Glyph]]]
- insert(index: int, value: mcfonts.provider.Provider[mcfonts.glyph.Glyph]) None¶
S.insert(index, value) -- insert value before index
- Parameters:¶
- index : int¶
- value : mcfonts.provider.Provider[mcfonts.glyph.Glyph]¶
- Return type:¶
None
- with_filter(game_filter: mcfonts.provider.ProviderFilter) MinecraftFont¶
Return a new font with a filter applied, including only providers which would be enabled for it.
- Parameters:¶
- game_filter : mcfonts.provider.ProviderFilter¶
ProviderFilter reflecting the game's state.
- Returns:¶
New MinecraftFont with filtered providers.
- Return type:¶