Skip to content

@pdfa-lab/fontkit / CFFGlyph

Class: CFFGlyph ​

Defined in: src/glyph/cff-glyph.ts:9

Represents an OpenType PostScript glyph, in the Compact Font Format.

Extends ​

Constructors ​

Constructor ​

new CFFGlyph(id, codePoints, font): CFFGlyph

Defined in: src/glyph/cff-glyph.ts:16

Parameters ​

ParameterType
idnumber
codePointsreadonly number[]
fontOpenTypePostScriptFont

Returns ​

CFFGlyph

Overrides ​

Glyph.constructor

Properties ​

PropertyModifierTypeDefault valueOverridesInherited fromDefined in
_metrics?protectedGlyphLayoutMetricsundefined-Glyph._metricssrc/glyph/glyph.ts:109
codePointsreadonlyreadonly number[]undefined-Glyph.codePointssrc/glyph/glyph.ts:104
fontprotectedOpenTypePostScriptFontundefinedGlyph.font-src/glyph/cff-glyph.ts:13
idreadonlynumberundefined-Glyph.idsrc/glyph/glyph.ts:103
isLigaturereadonlybooleanundefined-Glyph.isLigaturesrc/glyph/glyph.ts:107
isMarkreadonlybooleanundefined-Glyph.isMarksrc/glyph/glyph.ts:106
usedGsubrspublicRecord<number, boolean>{}--src/glyph/cff-glyph.ts:10
usedSubrspublicRecord<number, boolean>{}--src/glyph/cff-glyph.ts:11

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 ​

Glyph.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 ​

Glyph.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(): Readonly<BoundingBox>

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

Returns ​

Readonly<BoundingBox>

Inherited from ​

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/cff-glyph.ts:24

Returns ​

string | null

Overrides ​

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/glyph.ts:377

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

Inherited from ​

Glyph.render