GetTextBlockCharUnicodeFlags

文本、提取、诊断、Unicode

描述

返回选定文档文本块中单个字符的 Unicode 映射与回退标志

语法

Delphi

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

参数

TextBlockListID由 ExtractPageTextBlocks 返回的句柄
Index从 1 开始的文本块索引
CharIndex块文本内从 1 开始的 UTF-16 代码单元位置

返回值

-1句柄、块索引或字符索引无效
0 或标志没有适用的源字形映射,或结果包含一个或多个 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 标量占用两个 UTF-16 位置,两个位置带有相同的标志