DAGetTextBlockCharUnicodeFlags

ダイレクトアクセス、テキスト、抽出、診断、Unicode

説明

Direct Accessテキストブロック内の1文字について、Unicodeマッピングとフォールバックのフラグを返します

構文

Delphi

Function TPDFlib.DAGetTextBlockCharUnicodeFlags(TextBlockListID, Index, CharIndex: Integer): Integer;

パラメータ

TextBlockListIDDAExtractPageTextBlocksが返したハンドル
Index1始まりのテキストブロックインデックス
CharIndexブロックテキスト内の1始まりのUTF-16コード単位位置

戻り値

-1ハンドル、ブロックインデックスまたは文字インデックスが無効です
0 またはフラグ適用されるソースグリフマッピングがないか、結果に1つ以上のUnicode診断フラグが含まれます

フラグ

PDF_TEXT_CHAR_UNICODE_EXPLICIT文字は明示的な有効なToUnicodeマッピングから生成されました
PDF_TEXT_CHAR_UNICODE_FALLBACK文字はフォントエンコーディング、グリフ、CIDまたは生コードのフォールバックから生成されました
PDF_TEXT_CHAR_UNICODE_MISSING_TOUNICODEフォントにToUnicodeエントリがありません
PDF_TEXT_CHAR_UNICODE_UNMAPPED有効なToUnicode CMapにソースコードのマッピングがありません
PDF_TEXT_CHAR_UNICODE_INVALIDToUnicode CMapが使用不能か、選択されたマッピングが無効なUTF-16です
PDF_TEXT_CHAR_UNICODE_REPLACEMENT使用可能なフォールバックがないため、返されたテキストにU+FFFDが含まれます

備考

フォールバック結果は欠落・未マップ・無効の理由も併せ持つため、ビット単位のテストを使用してください

フラグはダイレクトアクセスのファイルハンドルを閉じた後もテキストブロックリスト内で利用可能です

補助Unicodeスカラーは2つのUTF-16位置を占め、両位置が同じフラグを持ちます