Skip to content

@pdfa-lab/fontkit / COLRGlyph

Class: COLRGlyph ​

Defined in: src/glyph/colr-glyph.ts:24

Represents a color (e.g. emoji) glyph in Microsoft's COLR format. Each glyph in this format contain a list of colored layers, each of which is another vector glyph.

Extends ​

Constructors ​

Constructor ​

new COLRGlyph(id, codePoints, font): COLRGlyph

Defined in: src/glyph/glyph.ts:125

An array of unicode code points that are represented by this glyph. There can be multiple code points in the case of ligatures and other glyphs that represent multiple visual characters.

Parameters ​

ParameterTypeDescription
idnumberthe glyph id in the font.
codePointsreadonly number[]the array of Unicode code points.
fontTrueTypeSubsetFont | OpenTypeFontthe font containing the glyph

Returns ​

COLRGlyph

Inherited from ​

Glyph.constructor

Properties ​

PropertyModifierTypeInherited fromDefined in
_metrics?protectedGlyphLayoutMetricsGlyph._metricssrc/glyph/glyph.ts:109
codePointsreadonlyreadonly number[]WOFF2Glyph.codePointssrc/glyph/glyph.ts:104
fontreadonlyTrueTypeSubsetFont | OpenTypeFontGlyph.fontsrc/glyph/glyph.ts:105
idreadonlynumberGlyph.idsrc/glyph/glyph.ts:103
isLigaturereadonlybooleanGlyph.isLigaturesrc/glyph/glyph.ts:107
isMarkreadonlybooleanGlyph.isMarksrc/glyph/glyph.ts:106

Accessors ​

advanceHeight ​

Get Signature ​

get advanceHeight(): number

Defined in: src/glyph/glyph.ts:294

The glyph's advance height.

Returns ​

number

Inherited from ​

Glyph.advanceHeight


advanceWidth ​

Get Signature ​

get advanceWidth(): number

Defined in: src/glyph/glyph.ts:283

The glyph's advance width.

Returns ​

number

Inherited from ​

WOFF2Glyph.advanceWidth


bbox ​

Get Signature ​

get bbox(): Readonly<BoundingBox>

Defined in: src/glyph/glyph.ts:250

The glyph’s bounding box, i.e. the rectangle that encloses the glyph outline as tightly as possible.

Returns ​

Readonly<BoundingBox>

Inherited from ​

Glyph.bbox


cbox ​

Get Signature ​

get cbox(): Readonly<BoundingBox>

Defined in: src/glyph/glyph.ts:238

The glyph’s control box. This is often the same as the bounding box, but is faster to compute. Because of the way bezier curves are defined, some of the control points can be outside of the bounding box. Where bbox takes this into account, cbox does not. Thus, cbox is less accurate, but faster to compute. See here for a more detailed description.

Returns ​

Readonly<BoundingBox>

Inherited from ​

Glyph.cbox


name ​

Get Signature ​

get name(): string | null

Defined in: src/glyph/glyph.ts:352

The glyph's name.

Returns ​

string | null

Inherited from ​

WOFF2Glyph.name


path ​

Get Signature ​

get path(): Readonly<Path>

Defined in: src/glyph/glyph.ts:262

A vector Path object representing the glyph outline.

Returns ​

Readonly<Path>

Inherited from ​

Glyph.path

Methods ​

getBBox() ​

protected getBBox(): BoundingBox

Defined in: src/glyph/colr-glyph.ts:25

Returns ​

BoundingBox

Overrides ​

Glyph.getBBox


getCBox() ​

protected getCBox(_?): Readonly<BoundingBox>

Defined in: src/glyph/glyph.ts:146

Parameters ​

ParameterType
_?boolean

Returns ​

Readonly<BoundingBox>

Inherited from ​

Glyph.getCBox


getName() ​

protected getName(): string | null

Defined in: src/glyph/glyph.ts:302

Returns ​

string | null

Inherited from ​

Glyph.getName


getScaledPath() ​

getScaledPath(size): Path

Defined in: src/glyph/glyph.ts:275

Returns a path scaled to the given font size.

Parameters ​

ParameterType
sizenumber

Returns ​

Path

Inherited from ​

Glyph.getScaledPath


render() ​

render(ctx, size): void

Defined in: src/glyph/colr-glyph.ts:108

Renders the glyph to the given graphics context, at the specified font size.

The rendering context ctx should actually be an instance of pdfkit. However, for regular glyphs, you can also pass an HTML5 CanvasRenderingContext2D or one of the implementations for Node.js, like canvas, although you have to cast this, when using TypeScript.

Unfortunately, this will crash, for colour glyphs, see https://github.com/gflohr/pdfa-lab/issues/105.

Parameters ​

ParameterTypeDescription
ctxFontkitCanvasthe FontkitCanvas
sizenumberthe font size in points

Returns ​

void

Overrides ​

Glyph.render