GetTextBlockCharUnicodeFlags
テキスト、抽出、診断、Unicode
説明
選択ドキュメントのテキストブロック内の1文字について、Unicodeマッピングとフォールバックのフラグを返します
構文
Delphi
Function TPDFlib.GetTextBlockCharUnicodeFlags(TextBlockListID, Index, CharIndex: Integer): Integer;パラメータ
| TextBlockListID | ExtractPageTextBlocksが返したハンドル |
|---|---|
| Index | 1始まりのテキストブロックインデックス |
| 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_INVALID | ToUnicode CMapが使用不能か、選択されたマッピングが無効なUTF-16です |
PDF_TEXT_CHAR_UNICODE_REPLACEMENT | 使用可能なフォールバックがないため、返されたテキストにU+FFFDが含まれます |
備考
フォールバック結果は欠落・未マップ・無効の理由も併せ持つため、ビット単位のテストを使用してください
フラグは抽出時に保持され、ページコンテンツを再解析せずに定数時間で照会されます
補助Unicodeスカラーは2つのUTF-16位置を占め、両位置が同じフラグを持ちます