colorLib.builder: Build COLR/CPAL tables from scratch¶
colorLib.builder: Build COLR/CPAL tables from scratch
-
fontTools.colorLib.builder.
buildCOLR
(colorGlyphs: Dict[str, Union[Sequence[Union[int, Mapping[str, Any], fontTools.ttLib.tables.otTables.Paint, Tuple[str, Union[int, Mapping[str, Any], fontTools.ttLib.tables.otTables.Paint, Tuple[str, _PaintInput]]]]], int, Mapping[str, Any], fontTools.ttLib.tables.otTables.Paint, Tuple[str, Union[int, Mapping[str, Any], fontTools.ttLib.tables.otTables.Paint, Tuple[str, _PaintInput]]]]], version: Optional[int] = None, glyphMap: Optional[Mapping[str, int]] = None, varStore: Optional[fontTools.ttLib.tables.otTables.VarStore] = None) → fontTools.ttLib.tables.C_O_L_R_.table_C_O_L_R_[source]¶ Build COLR table from color layers mapping.
- Parameters
colorGlyphs – map of base glyph name to, either list of (layer glyph name, color palette index) tuples for COLRv0; or a single Paint (dict) or list of Paint for COLRv1.
version – the version of COLR table. If None, the version is determined by the presence of COLRv1 paints or variation data (varStore), which require version 1; otherwise, if all base glyphs use only simple color layers, version 0 is used.
glyphMap – a map from glyph names to glyph indices, as returned from TTFont.getReverseGlyphMap(), to optionally sort base records by GID.
varStore – Optional ItemVarationStore for deltas associated with v1 layer.
- Returns
A new COLR table.
-
fontTools.colorLib.builder.
buildCPAL
(palettes: Sequence[Sequence[Tuple[float, float, float, float]]], paletteTypes: Optional[Sequence[fontTools.colorLib.builder.ColorPaletteType]] = None, paletteLabels: Optional[Sequence[Union[None, str, Dict[str, str]]]] = None, paletteEntryLabels: Optional[Sequence[Union[None, str, Dict[str, str]]]] = None, nameTable: Optional[fontTools.ttLib.tables._n_a_m_e.table__n_a_m_e] = None) → fontTools.ttLib.tables.C_P_A_L_.table_C_P_A_L_[source]¶ Build CPAL table from list of color palettes.
- Parameters
palettes – list of lists of colors encoded as tuples of (R, G, B, A) floats in the range [0..1].
paletteTypes – optional list of ColorPaletteType, one for each palette.
paletteLabels – optional list of palette labels. Each lable can be either: None (no label), a string (for for default English labels), or a localized string (as a dict keyed with BCP47 language codes).
paletteEntryLabels – optional list of palette entry labels, one for each palette entry (see paletteLabels).
nameTable – optional name table where to store palette and palette entry labels. Required if either paletteLabels or paletteEntryLabels is set.
- Returns
A new CPAL v0 or v1 table, if custom palette types or labels are specified.
-
fontTools.colorLib.builder.
populateCOLRv0
(table: fontTools.ttLib.tables.otTables.COLR, colorGlyphsV0: Dict[str, Sequence[Tuple[str, int]]], glyphMap: Optional[Mapping[str, int]] = None)[source]¶ Build v0 color layers and add to existing COLR table.
- Parameters
table – a raw otTables.COLR() object (not ttLib’s table_C_O_L_R_).
colorGlyphsV0 – map of base glyph names to lists of (layer glyph names, color palette index) tuples.
glyphMap – a map from glyph names to glyph indices, as returned from TTFont.getReverseGlyphMap(), to optionally sort base records by GID.