Подробности
[В начало]
Проблема в реализации № V0016
Краткое описание
FT_Get_PS_Font_Private возвращает неверные значения unique_id
Подробное описание
Согласно FreeType2 API reference, функция FT_Get_PS_Font_Private возвращает информацию о данном Postscript шрифте в структуре PS_PrivateRec. В частности, если этот шрифт имеет уникальный идентификатор (unique ID), значение последнего должно быть записано функцией в поле 'unique_id' структуры 'PS_PrivateRec'.
Уникальные идентификаторы для шрифтов 'n019023l.pfb' и 'n021003l.pfb' из прикреплённого примера равны 5020908 и 5020931, соответственно (см. директивы "/UniqueID" в этих файлах шрифтов).
Однако, значения unique ID, полученные с помощью функции FT_Get_PS_Font_Private, отличаются от указанных выше.
Раздел стандарта
Linux Standard Base Desktop Specification 3.2, Chapter 12. Libraries, 12.1 Interfaces for libfreetype, который ссылается на FreeType-2.1.10 API Reference, section "Type 1 Tables"
Способ воспроизведения
- Распакуйте прикреплённый архив
- Скомпилируйте и скомпонуйте программу-пример, которая в нём хранится
- Запустите программу-пример, указав в командной строке в качестве аргументов имя файла шрифта и правильный unique ID:
./Example_FT_Get_PS_Font_Private n021003l.pfb 5020931
./Example_FT_Get_PS_Font_Private n019023l.pfb 5020908
Компонент
freetype 2.1.10 or later
Принято
freetype-devel mailing list, #17, 2009.01
Статус
Исправлено в freetype 2.3.8
[В начало]