You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
from __future__ import annotations
|
|
from typing import TYPE_CHECKING, Iterable, Optional, TypeVar, Union
|
|
from collections.abc import Callable, Sequence
|
|
from fontTools.misc.filesystem._base import FS
|
|
from os import PathLike
|
|
from xml.etree.ElementTree import Element as ElementTreeElement
|
|
|
|
if TYPE_CHECKING:
|
|
from fontTools.ufoLib import UFOFormatVersion
|
|
from fontTools.ufoLib.glifLib import GLIFFormatVersion
|
|
from lxml.etree import _Element as LxmlElement
|
|
|
|
|
|
T = TypeVar("T") # Generic type
|
|
K = TypeVar("K") # Generic dict key type
|
|
V = TypeVar("V") # Generic dict value type
|
|
|
|
GlyphNameToFileNameFunc = Optional[Callable[[str, set[str]], str]]
|
|
ElementType = Union[ElementTreeElement, "LxmlElement"]
|
|
FormatVersion = Union[int, tuple[int, int]]
|
|
FormatVersions = Optional[Iterable[FormatVersion]]
|
|
GLIFFormatVersionInput = Optional[Union[int, tuple[int, int], "GLIFFormatVersion"]]
|
|
UFOFormatVersionInput = Optional[Union[int, tuple[int, int], "UFOFormatVersion"]]
|
|
IntFloat = Union[int, float]
|
|
KerningPair = tuple[str, str]
|
|
KerningDict = dict[KerningPair, IntFloat]
|
|
KerningGroups = dict[str, Sequence[str]]
|
|
KerningNested = dict[str, dict[str, IntFloat]]
|
|
PathStr = Union[str, PathLike[str]]
|
|
PathOrFS = Union[PathStr, FS]
|