EBSC: Embedded Bitmap Scaling table

The EBSC table is an OpenType table.

This EBSC table converter module describes bitmap strikes that are scaled from other embedded bitmap strikes, and works together with the EBDT and EBLC tables.

class fontTools.ttLib.tables.E_B_S_C_.table_E_B_S_C_(tag: str | bytes | None = None)[source]

Bases: DefaultTable

Embedded Bitmap Scaling Table

The EBSC table provides a mechanism for describing embedded bitmaps which are created by scaling other embedded bitmaps. While this is the sort of thing that outline font technologies were invented to avoid, there are cases (small sizes of Kanji, for example) where scaling a bitmap produces more legible glyphs than scan-converting an outline. For this reason, the EBSC table allows a font to define a bitmap strike as a scaled version of another strike.

The EBSC table is used together with the EBDT table, which provides embedded monochrome or grayscale bitmap data, and the EBLC table, which provides embedded bitmap locators.

See also https://learn.microsoft.com/en-us/typography/opentype/spec/ebsc

dependencies: list[str] = ['EBDT', 'EBLC']
version: float
numSizes: int
bitmapScaleTables: list[BitmapScaleTable]
decompile(data: bytes, ttFont: TTFont)[source]
compile(ttFont: TTFont) bytes[source]
toXML(writer: XMLWriter, ttFont: TTFont, **kwargs: Any)[source]
fromXML(name: str, attrs: dict[str, str], content: list[str | tuple[str, dict[str, str], XMLContent]], ttFont: TTFont)[source]
class fontTools.ttLib.tables.E_B_S_C_.BitmapScaleTable(hori: SbitLineMetrics | None = None, vert: SbitLineMetrics | None = None, ppemX: int = 0, ppemY: int = 0, substitutePpemX: int = 0, substitutePpemY: int = 0)[source]

Bases: object

hori: SbitLineMetrics
vert: SbitLineMetrics
ppemX: int
ppemY: int
substitutePpemX: int
substitutePpemY: int
decompile(data: bytes) bytes[source]
compile() bytes[source]
toXML(index: int, writer: XMLWriter, ttFont: TTFont)[source]
fromXML(content: list[str | tuple[str, dict[str, str], XMLContent]], ttFont: TTFont)[source]