THPDFHeadlessTextAppearance
Владеемый пакет, возвращаемый HPDFBuildHeadlessTextAppearance или HPDFBuildHeadlessRichTextAppearance, содержит реальные объекты HotPDF и выбранные вызывающим подряд идущие номера indirect-объектов
ObjectCount сообщает реальный размер пакета; таблица описывает пакет простого текста из семи объектов
| Индекс | Объект |
|---|---|
| 0 | Form XObject normal appearance |
| 1 | Шрифт Type0 с Identity-H и ToUnicode |
| 2 | CIDFontType2 с точными ширинами и CIDToGIDMap |
| 3 | Font descriptor с реальным именем, границами и вертикальными метриками |
| 4 | Полные исходные байты FontFile2 |
| 5 | CMap ToUnicode с отображениями скаляров в UTF-16 |
| 6 | Явный поток CID-to-glyph |
GetObject(Index) возвращает заимствованный объект; GetObjectNumber(Index) возвращает его indirect-номер, а FirstObjectNumber указывает объект Form
EffectiveFontSize и TextWidth сообщают итоговую раскладку по реальным advance шрифта; TextHeight сообщает логический размер строки по реальным метрикам шрифта и итоговым базовым линиям, без отступов и завершающего интерлиньяжа
DetachObject(Index) передаёт владение объектом вызывающему и очищает его слот в пакете; вызывающий должен сохранить связанные indirect-номера и освободить отделённые объекты
Уничтожение пакета освобождает все оставшиеся присоединёнными объекты
Rich-text-пакет содержит внешний Form, а затем по семь объектов на каждый отрисованный фрагмент, причём реальные программы шрифтов стилей разделяются между фрагментами внутри виджета; неиспользуемые слоты шрифтовых программ содержат null-объекты, поэтому вызывающие должны перебирать ObjectCount, а не считать объекты равными семи