Бесплатная JavaScript-библиотека для разбора и рендеринга шрифтов

Открытая JavaScript-библиотека для обработки шрифтов, поддерживающая разбор и рендеринг шрифтов TrueType и OpenType непосредственно в браузере.

В сфере веб- и программной разработки типография играет решающую роль в формировании общего пользовательского опыта. Для эффективного манипулирования и рендеринга шрифтов разработчики полагаются на надёжные библиотеки, упрощающие процесс. Одна из таких библиотек — Typr.js, мощная JavaScript‑библиотека, специально разработанная для разбора и рендеринга шрифтов. Она спроектирована как лёгкая, что позволяет быстро интегрировать её в веб‑проекты. Библиотека поддерживает все основные веб‑браузеры, включая Chrome, Firefox, Safari и Edge. Это обеспечивает согласованный рендеринг шрифтов на разных платформах и устройствах.

Typr.js — мощная библиотека JavaScript с открытым исходным кодом, предоставляющая разработчикам программного обеспечения лёгкое и универсальное решение для работы с различными типами файлов шрифтов. Она позволяет выполнять разбор и рендеринг шрифтов TrueType и OpenType непосредственно в браузере, устраняя необходимость серверной обработки. Это делает Typr.js незаменимым инструментом для веб‑дизайнеров и разработчиков, стремящихся оптимизировать типографику на своих сайтах. Библиотека полностью поддерживает внедрение функций доступности, таких как масштабирование текста, настройка межбуквенного интервала и загрузка пользовательских шрифтов, удовлетворяя потребности пользователей с различными требованиями и многое другое.

Typr.js очень прост в использовании и может применяться в различных веб‑приложениях, от простого отображения текста до более сложных проектов, связанных с типографикой. Он поддерживает упрощённые функции, такие как загрузка и управление шрифтами на веб‑страницах, анализ и извлечение различных метрик из шрифтов, лёгкое манипулирование и стилизацию текста онлайн, поддержку интернационализации и локализации, продвинутую типографику и многое другое. Его богатый набор функций, лёгкий вес и кросс‑браузерная совместимость делают его незаменимым инструментом для улучшения типографии в вебе.

Previous Next

Начало работы с 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 позволяет разработчикам программного обеспечения использовать продвинутые типографические функции, такие как кернинг и лигатуры, чтобы улучшить визуальную привлекательность текста. Кернинг регулирует расстояние между определёнными парами символов для повышения общей читаемости, в то время как лигатуры заменяют последовательности символов визуально приятными альтернативами. Используя эти возможности, разработчики могут достичь более изысканной и гармоничной типографии в вебе.

 Русский