Числовая математика нативного rich-текста
Нативный XHTML rich-text-декодер вычисляет конечные выражения calc, min, max и clamp в font-size, размере font shorthand с высотой через слэш, line-height, letter-spacing и word-spacing
<body xmlns="http://www.w3.org/1999/xhtml" style="font-size:10pt;line-height:calc(1rem + 2pt)">
<p style="letter-spacing:calc(.1em + 1pt);word-spacing:clamp(1pt, 3pt, 4pt)">Spaced text</p>
</body>
Этот пример вычисляет высоту строки 12 пунктов, межбуквенный интервал 2 пункта и межсловный интервал 3 пункта, используя шрифты вызывающего и существующую раскладку абзацев
Арифметика в скобках поддерживает сложение, вычитание, умножение и деление с совпадающими размерностями для сумм; умножение и деление отслеживают степени длины, включая сокращение в выражении вроде calc(20pt / 10pt * 6pt)
Бинарные сложение и вычитание требуют пробел с обеих сторон; min и max принимают совместимые выражения через запятую, а clamp берёт три совместимых выражения, причём его нижняя граница выигрывает при перевёрнутых границах
Поддерживаемые единицы длины — pt, px при 96 dpi, pc, in, cm, mm, q, em, rem, vw, vh, vmin и vmax; десятичные и экспоненциальные числа используют существующее конечное десятичное преобразование
em и проценты font-size используют охватывающий вычисленный размер шрифта; em и проценты line-height и em spacing используют итоговый каскадный размер шрифта объявляющего элемента до наследования
rem использует вычисленный размер шрифта body; собственное выражение font-size у body использует начальный корневой размер из DefaultStyle.FontSize, тогда как остальные его метрики — его итоговый вычисленный размер
Viewport-единицы используют явные записи width и height в MediaFeatures; эти хостовые размеры — совместимые с пунктами длины, а хостовые размеры em или rem используют MediaInitialFontSize с его существующим 12-пунктовым резервом при нуле
Хостовые размеры, разрешение и ненулевые начальные размеры media-шрифта сохраняют существующие нижнюю границу 0.000001 и верхнюю 1000000; точные значения нижней границы используют общее сравнение Double единообразно на всех компиляторных целях, а значения ниже границы по-прежнему отклоняются
vw требует width, vh требует height, а vmin или vmax требуют обоих; отсутствующие размеры оставляют объявление недопущенным, без выводов о десктопе, размере страницы или viewport браузера
Line-height может вычисляться в безразмерный унаследованный множитель или длину в пунктах; вычисленные отрицательные математические высоты срезаются до нуля, тогда как font-size сохраняет существующий диапазон положительного допуска, а spacing — знаковые длины в пунктах
Межбуквенный и межсловный интервалы требуют результатов длины; их существующий синтаксис голого нуля остаётся доступным, а процентный интервал не входит в этот профиль
Применяются существующий по-свойственный каскад, приоритеты important и явное наследование; отложенная математика строки и интервалов использует выигравший итоговый размер шрифта, а font shorthand принимает пробелы и деление внутри сбалансированных математических функций
Недопустимые font-объявления сохраняют допущенный резерв; выигравшая синтаксически допущенная метрика, которая не может вычислиться в конечный ограниченный результат, возбуждает EHPDFHeadlessRichTextCodecError до возврата run-ов
Преобразованные значения и сохранённые результаты арифметики binary64 должны иметь величину не более 1e100 со степенями длины от -64 до 64; существующие бюджеты font-size и метрик продолжают действовать
Умножение и деление предварительно проверяют крайние значения перед операцией, чтобы незамаскированное переполнение с плавающей точкой не вырвалось; финальные проверки используют ту же границу Double на всех компиляторных целях, включая субнормальные делители и значения на границе профиля
Математические сканирования уважают MaxNodes, а рекурсивные выражения — MaxDepth; отмена сохраняет EHPDFOperationCancelled и не возвращает частичных декодированных run-ов, причём свежие и повторно используемые опции декодирования остаются пригодными после
Вычисленные значения в пунктах питают фактические типизированные внешние виды и каноническую сериализацию RV; rich-импорты FDF/XFDF профиля по умолчанию используют тот же декодер без транспортировки пользовательских viewport-профилей
Этот конечный профиль не предоставляет других математических функций CSS, числовых констант, экранированных имён функций или единиц, единиц шрифта на основе метрик, логических или динамических viewport-единиц, custom properties или общей CSS-раскладки
Арифметика и правила относительно корня следуют поддерживаемым частям CSS Values and Units Level 4; ограниченный поддерживаемый профиль выше определяет текущее поведение библиотеки
Нативный декодер · Опции декодирования · Высота строки · Интервалы run-ов · Font shorthand