متدهای نگاشت ToUnicode و زیرمجموعه‌سازی شکل‌دهی در THotPDF

مرجع API برای THotPDF

 

متدهای THotPDF  شکل‌دهی خودکار  GSUB

زیرمجموعه glyph و plumbing مربوط به ToUnicode را مستند می‌کند که باعث می‌شود GIDهای شکل‌دهی‌شده درست رندر و استخراج شوند

 

Delphi syntax

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 را علامت می‌زند که glyphهای خروجی آن‌ها باید در زیرمجموعه embedded نگه داشته شوند
MarkUnicodeGlyphUsedیک GID جایگزین برگشتی را به closure زیرمجموعه فونت embedded اضافه می‌کند
RegisterToUnicodeReverseMappingنگاشت یک codepoint جایگزین به source-codepoint را برای استخراج و دسترس‌پذیری ثبت می‌کند
ClearToUnicodeReverseMappingsهمه reverse mappingهای ثبت‌شده توسط فراخواننده را برای سند جاری پاک می‌کند
ToUnicodeReverseMappingCountتعداد reverse mappingهای ثبت‌شده را برمی‌گرداند
AssignSyntheticCodepointForGIDیک codepoint synthetic از فضای private-use تخصیص می‌دهد که یک GID را از طریق CIDToGIDMap رندر می‌کند
GetSyntheticCodepointForGIDcodepoint syntheticی را که از قبل به یک GID اختصاص یافته برمی‌گرداند
MarkSyntheticCpRTLیک codepoint synthetic را راست‌به‌چپ علامت می‌زند تا ترتیب emit درست بماند
IsRTLSyntheticCpگزارش می‌کند آیا یک codepoint synthetic برای emit راست‌به‌چپ علامت خورده است یا نه
IsRTLSyntheticGIDگزارش می‌کند آیا یک GID به codepoint syntheticای resolve می‌شود که برای emit راست‌به‌چپ علامت خورده است یا نه

 

یادداشت‌های استفاده

وقتی یک workflow شکل‌دهی GIDهایی emit می‌کند که از طریق یک entry عادی Unicode cmap قابل دسترس نیستند از این APIها استفاده کنید. codepointهای synthetic رندر را از طریق CIDToGIDMap هدایت می‌کنند، در حالی که reverse mappingها codepointهای source اصلی را برای استخراج متن بازیابی می‌کنند

 

همچنین ببینید: AssignSyntheticCodepointForGID GSUB lookup methods Indic shaping methods