Подробности
[В начало]
Проблема в реализации № V0017
Краткое описание
FT_Get_Name_Index возвращает 0 вместо индекса глифа
Подробное описание
Согласно FreeType2 API reference, функция FT_Get_Name_Index возвращает индекс глифа с данным именем, 0 при этом означает, что код соответствующего символа не определён.
Однако функция FT_Get_Name_Index возвращает 0 для существующих глифов "asterisk", "space", "zero" и т.д. для некоторых TrueType/OpenType шрифтов (см. прикреплённый пример)
Раздел стандарта
Linux Standard Base Desktop Specification 3.2, Chapter 12. Libraries, 12.1 Interfaces for libfreetype, который ссылается на FreeType-2.1.10 API Reference, section "Base Interface"
Способ воспроизведения
- Распакуйте прикреплённый архив
- Скомпилируйте и скомпонуйте программу-пример, которая в нём хранится
- Запустите программу-пример, указав в командной строке в качестве аргументов имя файла шрифта, имя глифа и правильный индекс этого глифа в данном шрифте:
./basic_glyph MuktiNarrow.ttf zero 19
./basic_glyph MuktiNarrow.ttf asterisk 13
./basic_glyph FreeMono.ttf asterisk 13
./basic_glyph FreeMono.ttf space 3
Правильный индекс глифа можно узнать с помощью какой-либо программы для редактирования шрифтов, например, FontForge.
Компонент
freetype 2.1.10 or later
Принято
freetype-devel mailing list, #42, 2009.01
Статус
Исправлено в freetype 2.3.9
[В начало]