Именованные семейства шрифтов rich text

Нативные rich-поля могут объединять до шестнадцати подключённых семейств шрифтов Unicode TrueType, каждое с программами regular, bold, italic и bold-italic; каждый выбранный run использует реальные байты шрифта, карту глифов, ширину, базовую линию и геометрию диакритики

Настройте THPDFHeadlessRichTextFontFamilies, назначьте каждому run метку FontFamily и вызовите SetRichTextFieldValueWithFamilies; пустая метка run выбирает первое настроенное семейство

Для XHTML задайте FontFamilyNames и семейство run по умолчанию перед декодированием; списки font-family через запятую — в кавычках или без — выбирают первую настроенную метку, inherit возвращает окружающее семейство, а корректные объявления important сохраняют приоритет

Корректный список без настроенных меток выбирает первое настроенное семейство; некорректное объявление оставляет прежнее значение без изменений; сопоставление сворачивает регистр ASCII-букв и в точности сохраняет остальные символы Unicode

Метки содержат не более 128 кодовых единиц UTF-16, без окружающих пробелов, управляющих символов, непарных суррогатов, кавычек, обратных слешей, запятых и точек с запятой; этот ограниченный профиль не реализует CSS-эскейпы и неявный поиск системных шрифтов

Чистый построитель внешнего вида семейств встраивает только выбранные начертания и применяет агрегатные бюджеты шрифтов, глифов, объектов, байтов и отмены; отсутствующие выбранные шрифты и неизвестные явные метки run завершаются ошибкой до фиксации изменений документа

Импорт форм с учётом семейств применяет тот же выбор к реальным FDF RV и XFDF value-richtext, сохраняет существующие политики полей и подписей и сравнивает канонические именованные rich-значения для распознавания семантических no-op

Существующие API одиночного семейства и профиль декодера по умолчанию сохраняют сигнатуры и поведение; программы с заново сгенерированными заголовками Pascal или C++Builder должны пересобраться при переходе на расширенные управляемые записи run и опций; внешние записи C ABI V1 остаются неизменными

Нативный JSON именованных семейств Linux и выбор через версионируемый C ABI доступны через привязку семейств Linux; задания FDF и XFDF в Windows принимают вложенные пути файлов семейств и начертаний или существующие шрифтовые callback V1 через обмен form-данными Windows

Опциональный fallback кластера графем по подключённым семействам выбирает реальные программы-кандидаты семейств и начертаний через нативные API; Linux JSON fallback разрешает требуемые настроенные программы-кандидаты до подготовки того же внешнего вида

Произвольные CSS-эскейпы, неявные системные алиасы, внешние таблицы стилей, общая CSS-вёрстка, выбор typed-rich заданий в Windows и загрузка fallback через callback в Windows остаются в активной разработке

Приёмка

Шесть нативных компиляторных целей проходят 168 проверок-утверждений и 1327 независимых проверок над 36 реально сохранёнными PDF на каждую цель, включая восемь реальных шрифтовых программ, смешанные метрики семейств, метки Unicode, унаследованный приоритет, импорт FDF/XFDF, защиту AES R5/R6, откат и раннюю или позднюю отмену

Свежие заголовки C++Builder компилируют новые записи семейств, построители и методы документа на обеих архитектурах; обе версионируемые разделяемые библиотеки Linux проходят существующие четырёхшрифтовые callback и независимые проверки вывода после пересборки с новыми внутренними записями

Rich-поля · Данные форм · API документа