Бесплатная JavaScript-библиотека для разбора и рендеринга шрифтов
Открытая JavaScript-библиотека для обработки шрифтов, поддерживающая разбор и рендеринг шрифтов TrueType и OpenType непосредственно в браузере.
В сфере веб- и программной разработки типография играет решающую роль в формировании общего пользовательского опыта. Для эффективного манипулирования и рендеринга шрифтов разработчики полагаются на надёжные библиотеки, упрощающие процесс. Одна из таких библиотек — Typr.js, мощная JavaScript‑библиотека, специально разработанная для разбора и рендеринга шрифтов. Она спроектирована как лёгкая, что позволяет быстро интегрировать её в веб‑проекты. Библиотека поддерживает все основные веб‑браузеры, включая Chrome, Firefox, Safari и Edge. Это обеспечивает согласованный рендеринг шрифтов на разных платформах и устройствах.
Typr.js — мощная библиотека JavaScript с открытым исходным кодом, предоставляющая разработчикам программного обеспечения лёгкое и универсальное решение для работы с различными типами файлов шрифтов. Она позволяет выполнять разбор и рендеринг шрифтов TrueType и OpenType непосредственно в браузере, устраняя необходимость серверной обработки. Это делает Typr.js незаменимым инструментом для веб‑дизайнеров и разработчиков, стремящихся оптимизировать типографику на своих сайтах. Библиотека полностью поддерживает внедрение функций доступности, таких как масштабирование текста, настройка межбуквенного интервала и загрузка пользовательских шрифтов, удовлетворяя потребности пользователей с различными требованиями и многое другое.
Typr.js очень прост в использовании и может применяться в различных веб‑приложениях, от простого отображения текста до более сложных проектов, связанных с типографикой. Он поддерживает упрощённые функции, такие как загрузка и управление шрифтами на веб‑страницах, анализ и извлечение различных метрик из шрифтов, лёгкое манипулирование и стилизацию текста онлайн, поддержку интернационализации и локализации, продвинутую типографику и многое другое. Его богатый набор функций, лёгкий вес и кросс‑браузерная совместимость делают его незаменимым инструментом для улучшения типографии в вебе.
Начало работы с Typr.js
Рекомендуемый способ установки Typr.js — использовать npm. Пожалуйста, используйте следующую команду, чтобы добавить зависимость Maven в ваш проект.
Установите Typr.js через npm
npm install @fredli74/typr --save-devВы также можете установить его вручную; скачайте последние файлы релиза напрямую из репозитория GitHub.
Загрузка шрифтов и управление ими через JavaScript API
Открытый проект Typr.js предоставляет полную поддержку загрузки и управления шрифтами в JavaScript‑приложениях. Он упрощает процесс загрузки и управления шрифтами на веб‑страницах. Он поддерживает различные форматы шрифтов, включая TrueType (TTF), OpenType (OTF) и Web Open Font Format (WOFF), позволяя разработчикам бесшовно интегрировать пользовательские шрифты в свои проекты. Предоставляя удобный интерфейс управления шрифтами, Typr.js позволяет разработчикам эффективно контролировать загрузку шрифтов и приоритизировать подмножества шрифтов для оптимизации производительности.
Добавьте SVG Table Parser для разбора SVG Color Font
Typr.SVG = {};
Typr.SVG.parse = function(data, offset, length)
{
var bin = Typr._bin;
var obj = { entries: []};
var offset0 = offset;
var tableVersion = bin.readUshort(data, offset); offset += 2;
var svgDocIndexOffset = bin.readUint(data, offset); offset += 4;
var reserved = bin.readUint(data, offset); offset += 4;
offset = svgDocIndexOffset + offset0;
var numEntries = bin.readUshort(data, offset); offset += 2;
for(var i=0; i < numEntries ; i++)
{
var startGlyphID = bin.readUshort(data, offset); offset += 2;
var endGlyphID = bin.readUshort(data, offset); offset += 2;
var svgDocOffset = bin.readUint(data, offset); offset += 4;
var svgDocLength = bin.readUint(data, offset); offset += 4;
var svg = bin.readASCII(data, offset0 + svgDocOffset + svgDocIndexOffset, svgDocLength);
for(var f=startGlyphID; f<=endGlyphID; f++){
obj.entries[f] = svg;
}
}
return obj;
}
Применение форматирования текста и стилей через JavaScript API
Библиотека с открытым исходным кодом Typr.js упрощает разработчикам программного обеспечения применение различных типов форматирования текста в JavaScript‑приложениях. С помощью Typr.js разработчики могут без труда манипулировать и стилизовать текст на веб‑страницах. Она предоставляет обширный набор функций верстки текста, таких как перенос строк, выравнивание текста и переносы, позволяя точно контролировать отображение текста. Кроме того, библиотека поддерживает широкий спектр параметров стилизации текста, включая межбуквенный интервал, межсловный интервал и оформление текста, позволяя разработчикам создавать визуально привлекательный и читаемый текст.
Применение форматирования текста и стилей в JavaScript приложениях
// Assume that Typr.js library is already loaded
// Define the target element where the text will be formatted and styled
const targetElement = document.getElementById('myTextElement');
// Load and parse the font file using Typr.js
Typr.loadFont('path/to/font.ttf', (font) => {
// Font loading is complete
// Apply the loaded font to the target element
targetElement.style.fontFamily = font.name.fontFamily;
// Set text content for the target element
targetElement.textContent = 'Hello, Typr.js!';
// Apply text styling
targetElement.style.fontSize = '24px';
targetElement.style.letterSpacing = '2px';
targetElement.style.wordSpacing = '4px';
targetElement.style.textDecoration = 'underline';
// Additional text layout adjustments
targetElement.style.textAlign = 'center';
targetElement.style.lineHeight = '1.5';
targetElement.style.textJustify = 'inter-word';
});
Кернинг и лигатуры через JavaScript API
Typr.js позволяет разработчикам программного обеспечения использовать продвинутые типографические функции, такие как кернинг и лигатуры, чтобы улучшить визуальную привлекательность текста. Кернинг регулирует расстояние между определёнными парами символов для повышения общей читаемости, в то время как лигатуры заменяют последовательности символов визуально приятными альтернативами. Используя эти возможности, разработчики могут достичь более изысканной и гармоничной типографии в вебе.