THotPDF Shaping Subset and ToUnicode Mapping Methods

THotPDF API 참조

 

THotPDF 메서드  자동 shaping  GSUB

shaped GID가 올바르게 렌더링·추출되게 하는 glyph subset·ToUnicode 배관을 문서화합니다

 

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출력 glyph을 내장 subset에 유지해야 하는 GSUB feature를 표시합니다
MarkUnicodeGlyphUsed반환된 치환 GID를 내장 폰트 subset 클로저에 추가합니다
RegisterToUnicodeReverseMapping추출과 접근성을 위해 치환 codepoint→소스 codepoint 매핑을 등록합니다
ClearToUnicodeReverseMappings현재 문서의 호출자 등록 역매핑을 모두 지웁니다
ToUnicodeReverseMappingCount등록된 역매핑 수를 반환합니다
AssignSyntheticCodepointForGIDCIDToGIDMap으로 glyph ID를 렌더링하는 private-use 합성 codepoint를 할당합니다
GetSyntheticCodepointForGIDglyph ID에 이미 할당된 합성 codepoint를 반환합니다
MarkSyntheticCpRTL합성 codepoint를 right-to-left로 표시해 출력 순서가 올바르게 유지되게 합니다
IsRTLSyntheticCp합성 codepoint가 right-to-left 출력으로 표시됐는지 보고합니다
IsRTLSyntheticGIDglyph ID가 right-to-left 출력으로 표시된 합성 codepoint로 해석되는지 보고합니다

 

사용 참고 사항

shaping 워크플로가 평범한 Unicode cmap 항목으로는 도달할 수 없는 glyph ID를 출력할 때 이 API들을 씁니다. 합성 codepoint는 렌더링을 CIDToGIDMap으로 우회시키고, 역매핑은 텍스트 추출을 위해 원래 소스 codepoint를 복원합니다

 

참고: AssignSyntheticCodepointForGID GSUB lookup methods Indic shaping methods