Нативный фолбэк аннотаций
HPDFRenderHeadlessPagePNG строит временные appearances для поддерживаемых аннотаций без нормального appearance
Существующие нормальные appearances имеют приоритет; активные повреждённые appearances по-прежнему явно ломают операцию
Исходный документ остаётся неизменным: сгенерированные потоки и шрифты принадлежат операции отрисовки и освобождаются после использования
Геометрия и статическое содержимое
Фолбэк покрывает границы Link, Square, Circle, Line, Polygon, PolyLine, Ink, Highlight, Underline, StrikeOut, Squiggly, FreeText, Text, Caret, Stamp, FileAttachment, Sound и предпросмотрные контуры Redact
Геометрия линий включает десять стилей окончаний и выносные линии; поддерживаемые границы включают сплошные, пунктирные и подчеркнутые стили, а также затенённые скошенные и утопленные прямоугольные границы, при этом явно пустые массивы цветов сохраняют прозрачность
Popup, Projection и Screen не имеют самостоятельного отрисовываемого содержимого без нормального appearance; активируемые 3D-среды, звук, вложения и действия ссылок вне статической растеризации
Проверки видимости и optional-content выполняются до построения фолбэка; временные appearances сохраняют отсечение страницы и существующие геометрические правила view/print, NoZoom и NoRotate
Подписи линий и рельефные границы
Подписи линий обрабатывают Cap, CP, CO, Contents, RC и DS через тот же временный Unicode-путь текстовой Form, с измеренными промежутками Inline, размещением Top и смещениями относительно конечных точек
Длинные подписи размещаются над линией; явные границы абзацев сохраняются, а пустой обычный или rich-текст оставляет обычную линию как есть
Границы подписи удерживают и временную BBox Form, и прямоугольник аннотации; обычное отсечение содержимого страницы не меняется
Прямоугольные скошенные и утопленные границы используют противоположные светлые и тёмные полосы с независимой прозрачностью границы и внутренней области; нулевая ширина и пустые массивы цветов сохраняют свою семантику прозрачности
Неизвестные именованные стили границ используют сплошную заливку по умолчанию, а неименные стили остаются некорректным входом
Политику цветов, время жизни шрифтов и независимое покрытие приёмки см. в украшениях аннотаций
FreeText
Обычный текст поддерживает PDFDocEncoding, UTF-16 и UTF-8 с BOM-префиксом; XHTML rich-текст поддерживает унаследованную стилизацию по умолчанию и RC-записи в текстовых потоках
Поддерживаемые операторы default-appearance — Tf, g, rg, k, Tc и Tw; нулевой размер шрифта Tf запрашивает автоматическую подгонку
Встроенные TrueType-шрифты default используют байты шрифта документа; поддерживаемые стандартные шрифты и rich-семейства используют локальный платформенный резолвер
Временные текстовые appearances используют явный сборщик read-only семейств, включая TrueType-контурные шрифты только для Preview/Print; полные байты шрифта и флаги прав сохраняются, а существующие сборщики редактирования сохраняют свой исходный допуск
Имена шрифтов DA разрешаются через Catalog AcroForm.DR.Font до ресурсов страницы; ресурсы страницы и распознанные стандартные псевдонимы — пути восстановления при отсутствии привязки по умолчанию
Раскладка текста поддерживает выравнивание, поворот на четверть оборота, difference прямоугольника и геометрию выноски; сгенерированные ресурсы шрифтов остаются изолированными от существующих ресурсов и зашифрованных исходных потоков
Границы и незавершённые обработчики
Лимиты операции, токена, декодированных байтов, рабочей памяти и вывода применяются к сгенерированной геометрии, тексту и шрифтам; отмена и неудавшаяся отрисовка сохраняют те же контракты источника и публикации, что и существующие appearances
Screen без appearance не имеет умолчательного статического изображения или границы; переданный нормальный appearance сохраняет приоритет в обоих режимах view и print
Отсутствующие appearances необязательны в PDF 1.2–1.7; PDF 2.0 требует appearances, кроме заявленных исключений, поэтому Path-фикстуры с отсутствующим appearance проверяют восстановление, а не запись по PDF 2.0
Облачные границы, встроенные CFF-шрифты default, дополнительные операторы default-appearance FreeText и прочие стандартные фолбэк-обработчики остаются незавершёнными
Фолбэк Redact показывает предпросмотрный контур и не удаляет и не замазывает содержимое страницы
Статические стили значков и раскладка текста могут различаться между процессорами; независимые формулы и отдельные наблюдения MuPDF/Poppler сохранены в Tests/Linux/HeadlessAnnotationFallback.en-us.md
Контекст рендерера и формата см. в нативной отрисовке Cairo и опечатках ISO 32000-2 об аннотациях