Подробности

[В начало]

Проблема в реализации № 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"

Способ воспроизведения

  1. Распакуйте прикреплённый архив
  2. Скомпилируйте и скомпонуйте программу-пример, которая в нём хранится
  3. Запустите программу-пример, указав в командной строке в качестве аргументов имя файла шрифта и правильный 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

[В начало]