function AddCidType2Text(const FontData: TBytes; const Glyphs: TPdfCidGlyphs; FontSize: Single; X, Y: Double; const Options: TPdfCidFontOptions; out Report: TPdfCidFontReport; Color: TColor = clBlack; Alpha: Byte = $FF): Boolean;
Загружает переданные вызывающей стороной данные TrueType или TrueType Collection через нативный загрузчик шрифтов CID Type 2 в PDFium и добавляет один или несколько позиционированных текстовых объектов на активную страницу
Каждый TPdfCidGlyph передаёт идентификатор исходного глифа, текст Unicode, ширину (advance) и необязательное горизонтальное или вертикальное смещение
Последовательные CID изолируют повторяющиеся экземпляры глифов, поэтому один и тот же идентификатор глифа может нести разные отображения кластеров Unicode
pcfemFull встраивает выбранный шрифт целиком, pcfemSubsetPreferred пытается построить подмножество по списку глифов и при неудаче возвращается к полному шрифту, а pcfemSubsetRequired отклоняет операцию, если безопасное подмножество построить нельзя
Построение подмножества всегда сохраняет глиф ноль, отклоняет результат, который увеличил бы шрифт, и проверяет, что каждый запрошенный исходный GID по-прежнему существует, прежде чем данные попадут в PDFium
TTCIndex выбирает член коллекции TrueType Collection и для отдельного шрифта должен оставаться нулевым
Сгенерированная CMap ToUnicode отображает каждый последовательный CID в переданный UnicodeText, включая отображения лигатур и дополнительной плоскости, состоящие из нескольких кодовых единиц
Пустое отображение превращается в U+200B, чтобы каждый CID оставался извлекаемым и наблюдаемым
Когда включён VerifyExtraction, метод заново открывает текстовую модель страницы, читает только вставленные объекты, сравнивает результат с ExpectedText и при расхождении откатывает все вставленные объекты
TPdfCidFontOptions.Default выбирает pcfemSubsetPreferred в качестве EmbeddingMode, включает проверку извлечения, ограничивает данные шрифта 64 MiB, экземпляры глифов — числом 65,534, а MaxUnicodeCharacters — числом 1,048,576 отображённых кодовых единиц Unicode
TPdfCidFontReport записывает общее число глифов и UniqueGlyphCount, OriginalFontBytes и EmbeddedFontBytes, SubsetAttempted, SubsetApplied, UsedFullFontFallback, SubsetErrorCode, FontEmbedded, ожидаемый и извлечённый текст, а также ExtractionMatches
Позиции глифов вычисляются за линейное время, а глифы с общей базовой линией выпускаются одним нативным текстовым объектом
Различающиеся вертикальные смещения используют изолированные текстовые объекты с сохранением логического порядка объектов
Проверка и построение подмножества завершаются до вставки, а любой последующий нативный сбой удаляет все объекты, добавленные вызовом, до регенерации содержимого страницы