DAGetTextBlockCharUnicodeFlags
Прямой доступ, текст, извлечение, диагностика, Unicode
Описание
Возвращает флаги отображения Unicode и подстановки для одного символа в текстовом блоке Direct Access
Синтаксис
Delphi
Function TPDFlib.DAGetTextBlockCharUnicodeFlags(TextBlockListID, Index, CharIndex: Integer): Integer;Параметры
| TextBlockListID | Дескриптор, возвращенный DAExtractPageTextBlocks |
|---|---|
| Index | Индекс текстового блока, начиная с 1 |
| CharIndex | Позиция кодовой единицы UTF-16, начиная с 1, внутри текста блока |
Возвращаемые значения
| -1 | Дескриптор, индекс блока или индекс символа недопустим |
|---|---|
| 0 or flags | Ни одно отображение исходного глифа не применяется либо результат содержит один или несколько диагностических флагов 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 | В допустимой CMap ToUnicode нет отображения для исходного кода |
PDF_TEXT_CHAR_UNICODE_INVALID | CMap ToUnicode непригодна либо выбранное отображение не является допустимым UTF-16 |
PDF_TEXT_CHAR_UNICODE_REPLACEMENT | Возвращаемый текст содержит U+FFFD, поскольку пригодная подстановка отсутствовала |
Примечания
Используйте побитовые проверки, поскольку резервный результат также несет причину: отсутствие, отсутствие отображения или недопустимость
Флаги остаются доступными в списке текстовых блоков после закрытия дескриптора файла Direct Access
Дополнительный скаляр Unicode занимает две позиции UTF-16, и обе позиции несут одинаковые флаги