{% hint style="info" %} This documentation for fontkit is created and provided by the Typogram team. It’s a third-party documentation intended to delve deeper into the fontkit API. For the most accurate information, refer to fontkit’s official documentation. {% endhint %}
Install via NPM:
npm install fontkit
{% tabs %} {% tab title="ES6 (Browser)" %}
import * as fontkit from 'fontkit';
async function loadFont(url) {
const response = await fetch(url);
const arrayBuffer = await response.arrayBuffer();
const buf = new Uint8Array(arrayBuffer);
const font = fontkit.create(buf);
console.log(font)
}
{% endtab %}
{% tab title="Node.js" %}
var fontkit = require('fontkit');
// open a font synchronously
var font = fontkit.openSync('font.ttf');
{% endtab %} {% endtabs %}
const run = font.layout('Hello World!');
const run = font.layout('Hello World!', {
dlig: true,
swsh: false,
pcap: false
});
let pathData = '';
let x = 0;
let y = 0;
run.glyphs.forEach((glyph, index) => {
const position = run.positions[index];
if (glyph.path) {
pathData += glyph.path
.scale(1, -1)
.translate(x + position.xOffset, y + position.yOffset)
.toSVG();
x += position.xAdvance;
y += position.yAdvance;
}
});
console.log(pathData);