@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:132
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 ​
| Parameter | Type | Description |
|---|---|---|
id | number | the glyph id in the font. |
codePoints | readonly number[] | the array of Unicode code points. |
font | TrueTypeSubsetFont | OpenTypeFont | the font containing the glyph |
Returns ​
COLRGlyph
Inherited from ​
Properties ​
| Property | Modifier | Type | Inherited from | Defined in |
|---|---|---|---|---|
_metrics? | protected | GlyphLayoutMetrics | Glyph._metrics | src/glyph/glyph.ts:116 |
codePoints | readonly | readonly number[] | WOFF2Glyph.codePoints | src/glyph/glyph.ts:111 |
font | readonly | TrueTypeSubsetFont | OpenTypeFont | Glyph.font | src/glyph/glyph.ts:112 |
id | readonly | number | Glyph.id | src/glyph/glyph.ts:110 |
isLigature | readonly | boolean | Glyph.isLigature | src/glyph/glyph.ts:114 |
isMark | readonly | boolean | Glyph.isMark | src/glyph/glyph.ts:113 |
Accessors ​
advanceHeight ​
Get Signature ​
get advanceHeight():
number
Defined in: src/glyph/glyph.ts:301
The glyph's advance height.
Returns ​
number
Inherited from ​
advanceWidth ​
Get Signature ​
get advanceWidth():
number
Defined in: src/glyph/glyph.ts:290
The glyph's advance width.
Returns ​
number
Inherited from ​
bbox ​
Get Signature ​
get bbox():
Readonly<BoundingBox>
Defined in: src/glyph/glyph.ts:257
The glyph’s bounding box, i.e. the rectangle that encloses the glyph outline as tightly as possible.
Returns ​
Readonly<BoundingBox>
Inherited from ​
cbox ​
Get Signature ​
get cbox():
Readonly<BoundingBox>
Defined in: src/glyph/glyph.ts:245
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 ​
name ​
Get Signature ​
get name():
string|null
Defined in: src/glyph/glyph.ts:359
The glyph's name.
Returns ​
string | null
Inherited from ​
path ​
Get Signature ​
get path():
Readonly<Path>
Defined in: src/glyph/glyph.ts:269
A vector Path object representing the glyph outline.
Returns ​
Readonly<Path>
Inherited from ​
Methods ​
getBBox() ​
protectedgetBBox():BoundingBox
Defined in: src/glyph/colr-glyph.ts:25
Returns ​
Overrides ​
getCBox() ​
protectedgetCBox(_?):Readonly<BoundingBox>
Defined in: src/glyph/glyph.ts:153
Parameters ​
| Parameter | Type |
|---|---|
_? | boolean |
Returns ​
Readonly<BoundingBox>
Inherited from ​
getName() ​
protectedgetName():string|null
Defined in: src/glyph/glyph.ts:309
Returns ​
string | null
Inherited from ​
getScaledPath() ​
getScaledPath(
size):Path
Defined in: src/glyph/glyph.ts:282
Returns a path scaled to the given font size.
Parameters ​
| Parameter | Type |
|---|---|
size | number |
Returns ​
Inherited from ​
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 ​
| Parameter | Type | Description |
|---|---|---|
ctx | FontkitCanvas | the FontkitCanvas |
size | number | the font size in points |
Returns ​
void