Skip to content

UWAL / MSDFFont

Type Aliases

Kernings

ts
type Kernings = Map<number, Map<number, number>>;

Type Parameters

Type Parameter

Interfaces

Char

Properties

c
ts
c: number;

x
ts
x: number;

y
ts
y: number;

id
ts
id: number;

char
ts
char: string;

chnl
ts
chnl: number;

page
ts
page: number;

index
ts
index: number;

width
ts
width: number;

height
ts
height: number;

xoffset
ts
xoffset: number;

yoffset
ts
yoffset: number;

xadvance
ts
xadvance: number;

Common

Properties

base
ts
base: number;

redChnl
ts
redChnl: number;

greenChnl
ts
greenChnl: number;

blueChnl
ts
blueChnl: number;

alphaChnl
ts
alphaChnl: number;

lineHeight
ts
lineHeight: number;

scaleW
ts
scaleW: number;

scaleH
ts
scaleH: number;

packed
ts
packed: number;

pages
ts
pages: number;

Kerning

Properties

first
ts
first: number;

second
ts
second: number;

amount
ts
amount: number;

Font

Properties

chars
ts
chars: Char[];

common
ts
common: Common;

pages
ts
pages: string[];

kernings?
ts
optional kernings?: Kerning[];

Classes

MSDFFont

An MSDF font management class, mostly for internal usage.

Constructors

Constructor
ts
new MSDFFont(label?, generated?): MSDFFont;
Parameters
ParameterTypeDefault valueDescription
label?string"MSDFFont"Name of the font
generated?booleanfalseWhether the font was generated with this tool
Returns

MSDFFont

Methods

GetBindGroupLayoutEntries()
ts
static GetBindGroupLayoutEntries(Renderer): BindGroupLayoutEntry[];

Create layout entries for the text bind group layout.

Parameters
ParameterTypeDescription
RendererRenderStageRenderer instance to create layout entries
Returns

BindGroupLayoutEntry[]

GetCharacter()
ts
GetCharacter(code): Char;

Get character information when measuring the text.

Parameters
ParameterTypeDescription
codenumberCharacter code to get info about
Returns

Char

CreateBindGroupResources()
ts
CreateBindGroupResources(
   Pipeline, 
   url, 
requestOptions?): Promise<Record<string, GPUBindingResource>>;

Load and parse the font from a URL and save its character info into a storage buffer.

Parameters
ParameterTypeDescription
PipelineRenderPipelineInstanceText pipeline
urlstringURL to load the font from
requestOptions?RequestInitOptional fetch request options
Returns

Promise<Record<string, GPUBindingResource>>

GetXAdvance()
ts
GetXAdvance(code, nextCode?): number;

Get the distance in pixels a line should advance for a given character. If the next character is given, any kerning between the two characters will be taken into account.

Parameters
ParameterTypeDefault valueDescription
codenumberundefinedCode of the character to advance
nextCode?number-1Code of the next character
Returns

number

Destroy()
ts
Destroy(): undefined;

Destroy font and page textures.

Returns

undefined

Accessors

BindGroupResources
Get Signature
ts
get BindGroupResources(): Record<string, GPUBindingResource>;
Returns

Record<string, GPUBindingResource>

Font bind group resources.

LineHeight
Get Signature
ts
get LineHeight(): number;
Returns

number

Line height defined by the font.

Generated
Get Signature
ts
get Generated(): boolean;
Returns

boolean

Whether the font was generated with this tool.

Released under the MIT License.