как писать программы, используя расширенные возможности OpenType?

Как написать простую программу с использованием таблиц OpenType для динамического отображения текста?

пожалуйста ответьте в:

  • сборка, C, C++, C#, java или Python (и немного WPF :-)

или ввести их библиотеки.

Приветствуются комментарии и ответы о системе рендеринга текста в распространенных операционных системах или разработке текстовых движков, совместимых с протоколом Unicode 5.02.


person sorush-r    schedule 25.03.2010    source источник
comment
я не уверен; если (Существует (любой такой API) && i.KnowOf (noSuchLibrary));   -  person Paul Ruane    schedule 26.03.2010


Ответы (3)


Я не знаю, удовлетворит ли это ваши потребности или нет, но я использовал FreeType библиотека в прошлом для рендеринга текста TrueType. Он достаточно гибкий и легко портируется между различными платформами (Linux, Windows, OSX и т.д.). Кроме того, лицензирование (стиль BSD) таково, что использование его в коммерческих приложениях не является проблемой.

person Gordon    schedule 25.03.2010

FreeType предлагает только базовые возможности рендеринга и не поддерживает расширенные функции OpenType. Много лет назад FreeType 1.x содержал модуль, обеспечивающий функциональность OpenType, но он стал отдельным проектом: HarfBuzz. Если вам нужно что-то, что работает везде (на каждой ОС/платформе), это должно быть лучшим решением. Помимо прочего, превосходная библиотека pango предоставляет высокоуровневый интерфейс для HarfBuzz.

Windows предоставляет механизм OpenType, который называется Uniscribe. То же самое касается OS X, в которой есть ATSUI.

Надеюсь, это поможет вам начать.

person dietr    schedule 30.06.2010

Чистый C#, https://github.com/LayoutFarm/Typography

поддержка .NET> = 20

получить доступ к общим данным глифов,

и получить доступ к расширенным данным типографики.

(например, GDEF, GSUB, GPOS) и т. д.


На изображении ниже показан снимок экрана,

snap1 : сравните затем глиф рендеринга lib 'B'

  1. (слева): глиф из библиотеки без намека

  2. (посередине): GDI Windows с четким типом (из блокнота)

  3. (справа): глиф из библиотеки с True Hinting

введите здесь описание изображения


оснастка 2: я разрабатываю автоподсказку и подгонку сетки.

протестируйте его и не стесняйтесь комментировать, разветвлять, обсуждать.

triangulate1


Snap 3: субпиксельный рендеринг

subpixel_rendering

person WinterDev    schedule 21.10.2016
comment
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели некоторое представление о том, что это такое и почему оно там. Всегда цитируйте наиболее релевантную часть важной ссылки на случай, если целевой сайт недоступен или навсегда отключится. - person pableiros; 21.10.2016