HarfBuzz — это движок для формирования текста. В первую очередь он поддерживает OpenType, а также Apple Advanced Typography. HarfBuzz используется в Android, Chrome, ChromeOS, Firefox, GNOME, GTK+, KDE, Qt, LibreOffice, OpenJDK, XeTeX, PlayStation, Microsoft Edge, Adobe Photoshop, Illustrator, InDesign, Godot Engine, Unreal Engine и других местах.
Отчеты об ошибках, список рассылки и другую информацию можно найти на странице:
http://harfbuzz.org/
Информацию о лицензии см. в разделе КОПИРОВАНИЕ.
Руководство пользователя, а также документацию по API можно найти по адресу: https://harfbuzz.github.io.
Архивные версии HarfBuzz можно найти здесь. Там же вы также найдете двоичные пакеты Win32/Win64, включающие libharfbuzz
DLL, hb-view.exe
, hb-shape.exe
и все зависимости.
Каноническое дерево исходного кода доступно на github.
API, поставляемый с hb.h
не изменится несовместимо. Другие, периферийные заголовки, скорее всего, претерпят незначительные изменения, но, опять же, мы делаем все возможное, чтобы никогда не изменять API несовместимым образом. Мы никогда не нарушим ABI.
Если вы не уверены, подходит ли вам Pango или HarfBuzz, прочтите Pango против HarfBuzz.
Информацию о сборке см. в BUILD.md.
Для пользовательских конфигураций см. CONFIG.md.
Для тестирования и профилирования см. TESTING.md.
Чтобы лучше понять, какое место занимает HarfBuzz в стеке рендеринга текста, вы можете прочитать «Состояние рендеринга текста 2024». Вот несколько слайдов презентации о HarfBuzz на конференции по интернационализации и Unicode за последние годы:
Обсуждения HarfBuzz как разработчиков, так и пользователей происходят на GitHub.
Чтобы сообщить об ошибках или отправить исправления, используйте задачи GitHub и запросы на включение.
Для сравнения потребления памяти старым и новым HarfBuzz см. это.
HarfBuzz (حرفباز) — это дословный персидский перевод слова «OpenType», транслитерированный с использованием латинского алфавита. Это также означает «разговорчивый» или «бойкий» (также отсылка к проекту GNOME, откуда берет свое начало HarfBuzz).
Справочная информация: Изначально существовал формат шрифтов под названием TrueType. Люди и компании начали называть свои системы типов всем, что оканчивается на Type: FreeType, CoolType, ClearType и т. д. А затем появился OpenType, который является преемником TrueType. Итак, для моей реализации OpenType я решил придерживаться этой концепции, но использовать персидский перевод. Это вполне уместно, учитывая, что персидский язык написан арабской вязью, а OpenType — это расширение TrueType, добавляющее поддержку сложного рендеринга сценариев, а HarfBuzz — это реализация сложного формирования текста OpenType.