Zdarma JavaScript knihovna pro parsování a zápis fontů
Open Source JavaScript knihovna, která umožňuje parsovat, číst a zapisovat TrueType nebo OpenType fonty. Podporuje správu fontů, metriky glyfů a rozvržení textu v JS aplikacích.
V oblasti vývoje softwaru pro web a digitální typografie může být práce se soubory písem a vytváření plynulých zážitků při vykreslování textu náročná. Práce s OpenType písmy může být obtížná, zejména pokud jde o přístup k jejich pokročilým typografickým funkcím. Zde přichází OpenType.js – revoluční open-source knihovna, která usnadňuje práci s OpenType písmy v prohlížeči. Jednou z hlavních výhod OpenType.js je její schopnost zjednodušit proces práce s OpenType písmy. Na rozdíl od jiných knihoven, které vyžadují rozsáhlé znalosti fontové technologie, OpenType.js poskytuje přímé API, které usnadňuje zahájení práce.
OpenType.js je JavaScriptová knihovna, která poskytuje jednoduché a intuitivní API pro přístup k pokročilým typografickým funkcím OpenType fontů. S OpenType.js mohou vývojáři softwaru snadno využívat funkce jako ligatury, alternativní glyfy, variabilní fonty a podobně, což jim umožňuje vytvářet komplexní a sofistikované typografické návrhy. Kromě parsování a manipulace s existujícími fonty podporuje opentype.js také vytváření nových souborů fontů od nuly. Tato funkce je cenná pro vývojáře, kteří chtějí programově generovat vlastní fonty. Jako JavaScriptová knihovna může být opentype.js použita jak na klientské, tak na serverové straně, což z ní činí flexibilní volbu pro různé projekty. Celkově je to výkonná a všestranná knihovna, která poskytuje jednoduchý a intuitivní způsob práce s OpenType fonty v prohlížeči.
Začínáme s Opentype.js
Doporučený způsob instalace OpenType.js je pomocí NPM. Použijte prosím následující příkaz pro hladkou instalaci.
Nainstalujte Opentype.js pomocí npm
npm install opentype.jsMůžete jej také nainstalovat ručně; stáhněte si nejnovější soubory vydání přímo z úložiště GitHub.
Parsování fontů v aplikacích Node.js
Jednou z hlavních funkcí OpenType.js je její schopnost parsovat soubory fontů OpenType a TrueType pomocí pouhých několika řádků JavaScript kódu. To umožňuje vývojářům softwaru číst a pochopit strukturu fontu, včetně jeho glifů, informací o kerningu a dalších nezbytných dat. V následujícím příkladu je font Roboto Regular načten z TTF souboru. Knihovna parsuje font a zpřístupňuje jeho data pro další manipulaci.
Jak načíst a parsovat font ze souboru TTF v Node.js??
const opentype = require('opentype.js');
// Load a font from a file
opentype.load('fonts/Roboto-Regular.ttf', function(err, font) {
if (err) {
console.error('Font could not be loaded:', err);
} else {
console.log('Font loaded successfully:', font);
console.log('Number of glyphs:', font.numGlyphs);
}
});
Přístup a manipulace s glyfy fontu v Node.js
Open source knihovna Node.js OpenType.js umožňuje vývojářům softwaru přistupovat k jednotlivým glifům ve fontu a manipulovat s nimi v aplikacích Node.js. Glify jsou vizuální reprezentace znaků ve fontu. S touto funkcí můžete extrahovat cesty glifů, upravovat je nebo dokonce vytvářet nové glify. Zde je ukázka kódu, která načte font, získá glif pro znak "A" a poté glif zvětší na 1,5 násobek jeho původní velikosti. Metoda toPathData() převádí cestu glifu na SVG path data, která lze použít pro vykreslování nebo další manipulaci.
Jak načíst font a upravit glyf v aplikacích Node.js?
const opentype = require('opentype.js');
// Load a font and modify a glyph
opentype.load('fonts/Roboto-Regular.ttf', function(err, font) {
if (err) {
console.error('Font could not be loaded:', err);
} else {
const glyph = font.charToGlyph('A');
console.log('Original Glyph Path:', glyph.path.toPathData());
// Modify the glyph path (e.g., scale it)
glyph.path.scale(1.5);
console.log('Scaled Glyph Path:', glyph.path.toPathData());
}
});
Práce s tabulkami fontů pomocí knihovny Node.js
OpenType.js poskytuje vývojářům přístup k podkladovým tabulkám fontů, které ukládají podrobné informace o návrhu a metrikách fontu. To může být zvláště užitečné pro pokročilé manipulace s fonty nebo analýzy. Ukázkový kód v následujícím příkladu demonstruje, jak získat přístup k určitým tabulkám fontů, jako je tabulka head (která obsahuje informace o záhlaví fontu) a tabulka hhea (která obsahuje horizontální metriky záhlaví). Tyto tabulky poskytují nezbytné podrobnosti, které lze použít pro přesnou kontrolu vykreslování a rozvržení fontu.
Jak pomocí knihovny Node.js získat přístup k určitým tabulkám písem a k písmu v nich?
const opentype = require('opentype.js');
opentype.load('path/to/font.ttf', function(err, font) {
if (err) {
console.error('Font could not be loaded: ' + err);
} else {
// Access the 'head' table (font header)
const headTable = font.tables.head;
console.log('Units per Em: ' + headTable.unitsPerEm);
// Access the 'hhea' table (horizontal header)
const hheaTable = font.tables.hhea;
console.log('Ascender: ' + hheaTable.ascender);
console.log('Descender: ' + hheaTable.descender);
}
});