Методы shaping-подмножества и отображения ToUnicode в THotPDF

THotPDF Справочник API

 

Методы THotPDF  Auto Shaping  GSUB

Описывает инфраструктуру glyph-подмножества и ToUnicode, благодаря которой сформированные shaping'ом GID корректно отображаются и извлекаются

 

Синтаксис Delphi

procedure EnableShapingFeatureForSubset(const FeatureTag: AnsiString); overload;

procedure EnableShapingFeatureForSubset(Feature: THPDFShapingFeature); overload;

procedure MarkUnicodeGlyphUsed(GID: Word);

procedure RegisterToUnicodeReverseMapping(SubstCodepoint: Cardinal; const SourceCodepoints: array of Cardinal);

procedure ClearToUnicodeReverseMappings;

function ToUnicodeReverseMappingCount: Integer;

function AssignSyntheticCodepointForGID(GID: Word; out SyntheticCP: Word): Boolean;

function GetSyntheticCodepointForGID(GID: Word): Word;

procedure MarkSyntheticCpRTL(Cp: Word);

function IsRTLSyntheticCp(Cp: Word): Boolean;

function IsRTLSyntheticGID(GID: Word): Boolean;

 

Охватываемые API

APIПримечания по использованию
EnableShapingFeatureForSubsetПомечает фичи GSUB, чьи выходные глифы должны остаться во встроенном подмножестве
MarkUnicodeGlyphUsedДобавляет возвращённый substitute GID в замыкание подмножества встроенного шрифта
RegisterToUnicodeReverseMappingРегистрирует отображение substitute-кодовой точки в исходные кодовые точки для извлечения текста и доступности
ClearToUnicodeReverseMappingsОчищает все зарегистрированные вызывающим обратные отображения для текущего документа
ToUnicodeReverseMappingCountВозвращает число зарегистрированных обратных отображений
AssignSyntheticCodepointForGIDВыделяет синтетическую кодовую точку из private-use, рисующую glyph ID через CIDToGIDMap
GetSyntheticCodepointForGIDВозвращает синтетическую кодовую точку, уже назначенную данному glyph ID
MarkSyntheticCpRTLПомечает синтетическую кодовую точку как right-to-left, чтобы порядок вывода оставался корректным
IsRTLSyntheticCpСообщает, помечена ли синтетическая кодовая точка для right-to-left вывода
IsRTLSyntheticGIDСообщает, разрешается ли glyph ID в синтетическую кодовую точку, помеченную для right-to-left вывода

 

Примечания по использованию

Используйте эти API, когда shaping-конвейер выдаёт glyph ID, недостижимые через обычную запись Unicode cmap. Синтетические кодовые точки маршрутизируют отрисовку через CIDToGIDMap, а обратные отображения восстанавливают исходные кодовые точки для извлечения текста

 

См. также: AssignSyntheticCodepointForGID GSUB lookup methods Методы индийского шейпинга