You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
328 lines
7.2 KiB
328 lines
7.2 KiB
1 year ago
|
"""
|
||
|
This type stub file was generated by pyright.
|
||
|
"""
|
||
|
|
||
|
import numpy as np
|
||
|
from typing import BinaryIO, Literal, TypedDict, overload
|
||
|
from numpy.typing import NDArray
|
||
|
|
||
|
__freetype_build_type__: str
|
||
|
__freetype_version__: str
|
||
|
BOLD: int
|
||
|
EXTERNAL_STREAM: int
|
||
|
FAST_GLYPHS: int
|
||
|
FIXED_SIZES: int
|
||
|
FIXED_WIDTH: int
|
||
|
GLYPH_NAMES: int
|
||
|
HORIZONTAL: int
|
||
|
ITALIC: int
|
||
|
KERNING: int
|
||
|
KERNING_DEFAULT: int
|
||
|
KERNING_UNFITTED: int
|
||
|
KERNING_UNSCALED: int
|
||
|
LOAD_CROP_BITMAP: int
|
||
|
LOAD_DEFAULT: int
|
||
|
LOAD_FORCE_AUTOHINT: int
|
||
|
LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH: int
|
||
|
LOAD_IGNORE_TRANSFORM: int
|
||
|
LOAD_LINEAR_DESIGN: int
|
||
|
LOAD_MONOCHROME: int
|
||
|
LOAD_NO_AUTOHINT: int
|
||
|
LOAD_NO_BITMAP: int
|
||
|
LOAD_NO_HINTING: int
|
||
|
LOAD_NO_RECURSE: int
|
||
|
LOAD_NO_SCALE: int
|
||
|
LOAD_PEDANTIC: int
|
||
|
LOAD_RENDER: int
|
||
|
LOAD_TARGET_LCD: int
|
||
|
LOAD_TARGET_LCD_V: int
|
||
|
LOAD_TARGET_LIGHT: int
|
||
|
LOAD_TARGET_MONO: int
|
||
|
LOAD_TARGET_NORMAL: int
|
||
|
LOAD_VERTICAL_LAYOUT: int
|
||
|
MULTIPLE_MASTERS: int
|
||
|
SCALABLE: int
|
||
|
SFNT: int
|
||
|
VERTICAL: int
|
||
|
class _SfntHeadDict(TypedDict):
|
||
|
version: tuple[int, int]
|
||
|
fontRevision: tuple[int, int]
|
||
|
checkSumAdjustment: int
|
||
|
magicNumber: int
|
||
|
flags: int
|
||
|
unitsPerEm: int
|
||
|
created: tuple[int, int]
|
||
|
modified: tuple[int, int]
|
||
|
xMin: int
|
||
|
yMin: int
|
||
|
xMax: int
|
||
|
yMax: int
|
||
|
macStyle: int
|
||
|
lowestRecPPEM: int
|
||
|
fontDirectionHint: int
|
||
|
indexToLocFormat: int
|
||
|
glyphDataFormat: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class _SfntMaxpDict(TypedDict):
|
||
|
version: tuple[int, int]
|
||
|
numGlyphs: int
|
||
|
maxPoints: int
|
||
|
maxContours: int
|
||
|
maxComponentPoints: int
|
||
|
maxComponentContours: int
|
||
|
maxZones: int
|
||
|
maxTwilightPoints: int
|
||
|
maxStorage: int
|
||
|
maxFunctionDefs: int
|
||
|
maxInstructionDefs: int
|
||
|
maxStackElements: int
|
||
|
maxSizeOfInstructions: int
|
||
|
maxComponentElements: int
|
||
|
maxComponentDepth: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class _SfntOs2Dict(TypedDict):
|
||
|
version: int
|
||
|
xAvgCharWidth: int
|
||
|
usWeightClass: int
|
||
|
usWidthClass: int
|
||
|
fsType: int
|
||
|
ySubscriptXSize: int
|
||
|
ySubscriptYSize: int
|
||
|
ySubscriptXOffset: int
|
||
|
ySubscriptYOffset: int
|
||
|
ySuperscriptXSize: int
|
||
|
ySuperscriptYSize: int
|
||
|
ySuperscriptXOffset: int
|
||
|
ySuperscriptYOffset: int
|
||
|
yStrikeoutSize: int
|
||
|
yStrikeoutPosition: int
|
||
|
sFamilyClass: int
|
||
|
panose: bytes
|
||
|
ulCharRange: tuple[int, int, int, int]
|
||
|
achVendID: bytes
|
||
|
fsSelection: int
|
||
|
fsFirstCharIndex: int
|
||
|
fsLastCharIndex: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class _SfntHheaDict(TypedDict):
|
||
|
version: tuple[int, int]
|
||
|
ascent: int
|
||
|
descent: int
|
||
|
lineGap: int
|
||
|
advanceWidthMax: int
|
||
|
minLeftBearing: int
|
||
|
minRightBearing: int
|
||
|
xMaxExtent: int
|
||
|
caretSlopeRise: int
|
||
|
caretSlopeRun: int
|
||
|
caretOffset: int
|
||
|
metricDataFormat: int
|
||
|
numOfLongHorMetrics: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class _SfntVheaDict(TypedDict):
|
||
|
version: tuple[int, int]
|
||
|
vertTypoAscender: int
|
||
|
vertTypoDescender: int
|
||
|
vertTypoLineGap: int
|
||
|
advanceHeightMax: int
|
||
|
minTopSideBearing: int
|
||
|
minBottomSizeBearing: int
|
||
|
yMaxExtent: int
|
||
|
caretSlopeRise: int
|
||
|
caretSlopeRun: int
|
||
|
caretOffset: int
|
||
|
metricDataFormat: int
|
||
|
numOfLongVerMetrics: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class _SfntPostDict(TypedDict):
|
||
|
format: tuple[int, int]
|
||
|
italicAngle: tuple[int, int]
|
||
|
underlinePosition: int
|
||
|
underlineThickness: int
|
||
|
isFixedPitch: int
|
||
|
minMemType42: int
|
||
|
maxMemType42: int
|
||
|
minMemType1: int
|
||
|
maxMemType1: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class _SfntPcltDict(TypedDict):
|
||
|
version: tuple[int, int]
|
||
|
fontNumber: int
|
||
|
pitch: int
|
||
|
xHeight: int
|
||
|
style: int
|
||
|
typeFamily: int
|
||
|
capHeight: int
|
||
|
symbolSet: int
|
||
|
typeFace: bytes
|
||
|
characterComplement: bytes
|
||
|
strokeWeight: int
|
||
|
widthType: int
|
||
|
serifStyle: int
|
||
|
...
|
||
|
|
||
|
|
||
|
class FT2Font:
|
||
|
ascender: int
|
||
|
bbox: tuple[int, int, int, int]
|
||
|
descender: int
|
||
|
face_flags: int
|
||
|
family_name: str
|
||
|
fname: str
|
||
|
height: int
|
||
|
max_advance_height: int
|
||
|
max_advance_width: int
|
||
|
num_charmaps: int
|
||
|
num_faces: int
|
||
|
num_fixed_sizes: int
|
||
|
num_glyphs: int
|
||
|
postscript_name: str
|
||
|
scalable: bool
|
||
|
style_flags: int
|
||
|
style_name: str
|
||
|
underline_position: int
|
||
|
underline_thickness: int
|
||
|
units_per_EM: int
|
||
|
def __init__(self, filename: str | BinaryIO, hinting_factor: int = ..., *, _fallback_list: list[FT2Font] | None = ..., _kerning_factor: int = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def clear(self) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_glyph_to_bitmap(self, image: FT2Image, x: float, y: float, glyph: Glyph, antialiased: bool = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_glyphs_to_bitmap(self, antialiased: bool = ...) -> None:
|
||
|
...
|
||
|
|
||
|
def get_bitmap_offset(self) -> tuple[int, int]:
|
||
|
...
|
||
|
|
||
|
def get_char_index(self, codepoint: int) -> int:
|
||
|
...
|
||
|
|
||
|
def get_charmap(self) -> dict[int, int]:
|
||
|
...
|
||
|
|
||
|
def get_descent(self) -> int:
|
||
|
...
|
||
|
|
||
|
def get_glyph_name(self, index: int) -> str:
|
||
|
...
|
||
|
|
||
|
def get_image(self) -> NDArray[np.uint8]:
|
||
|
...
|
||
|
|
||
|
def get_kerning(self, left: int, right: int, mode: int) -> int:
|
||
|
...
|
||
|
|
||
|
def get_name_index(self, name: str) -> int:
|
||
|
...
|
||
|
|
||
|
def get_num_glyphs(self) -> int:
|
||
|
...
|
||
|
|
||
|
def get_path(self) -> tuple[NDArray[np.float64], NDArray[np.int8]]:
|
||
|
...
|
||
|
|
||
|
def get_ps_font_info(self) -> tuple[str, str, str, str, str, int, int, int, int]:
|
||
|
...
|
||
|
|
||
|
def get_sfnt(self) -> dict[tuple[int, int, int, int], bytes]:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["head"]) -> _SfntHeadDict | None:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["maxp"]) -> _SfntMaxpDict | None:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["OS/2"]) -> _SfntOs2Dict | None:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["hhea"]) -> _SfntHheaDict | None:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["vhea"]) -> _SfntVheaDict | None:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["post"]) -> _SfntPostDict | None:
|
||
|
...
|
||
|
|
||
|
@overload
|
||
|
def get_sfnt_table(self, name: Literal["pclt"]) -> _SfntPcltDict | None:
|
||
|
...
|
||
|
|
||
|
def get_width_height(self) -> tuple[int, int]:
|
||
|
...
|
||
|
|
||
|
def get_xys(self, antialiased: bool = ...) -> NDArray[np.float64]:
|
||
|
...
|
||
|
|
||
|
def load_char(self, charcode: int, flags: int = ...) -> Glyph:
|
||
|
...
|
||
|
|
||
|
def load_glyph(self, glyphindex: int, flags: int = ...) -> Glyph:
|
||
|
...
|
||
|
|
||
|
def select_charmap(self, i: int) -> None:
|
||
|
...
|
||
|
|
||
|
def set_charmap(self, i: int) -> None:
|
||
|
...
|
||
|
|
||
|
def set_size(self, ptsize: float, dpi: float) -> None:
|
||
|
...
|
||
|
|
||
|
def set_text(self, string: str, angle: float = ..., flags: int = ...) -> NDArray[np.float64]:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class FT2Image:
|
||
|
def __init__(self, width: float, height: float) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_rect(self, x0: float, y0: float, x1: float, y1: float) -> None:
|
||
|
...
|
||
|
|
||
|
def draw_rect_filled(self, x0: float, y0: float, x1: float, y1: float) -> None:
|
||
|
...
|
||
|
|
||
|
|
||
|
|
||
|
class Glyph:
|
||
|
width: int
|
||
|
height: int
|
||
|
horiBearingX: int
|
||
|
horiBearingY: int
|
||
|
horiAdvance: int
|
||
|
linearHoriAdvance: int
|
||
|
vertBearingX: int
|
||
|
vertBearingY: int
|
||
|
vertAdvance: int
|
||
|
@property
|
||
|
def bbox(self) -> tuple[int, int, int, int]:
|
||
|
...
|
||
|
|
||
|
|
||
|
|