Браузерный механизм выбора шрифта в системах Linux

Если вы хотите выполнять арифметику с плавающей запятой, вам нужно переключиться на ksh93, zsh или yash (или fish, если вы готовы уйти от Борна -, как оболочки ), bashих не поддерживает.

Для синтаксиса, совместимого со всеми 3 оболочками:

max() {
  [ "$#" -gt 0 ] || return
  typeset i max="$1"; shift
  for i do
    if [ "$((i > max))" -ne 0 ]; then
      max=$i
    fi
  done
  printf '%s\n' "$max"
}
array=(12.5 6.2 nan 0xfff -inf inf -1e12 1e20)
max "${array[@]}"

(вам нужна последняя версия zshдля поддержки inf/ nan. Варианты регистра поддерживаются во всех 3 (INF, NaN, Inf... ), но только yashподдерживает альтернативные варианты написания, такие как Infinity; Типы номеров 0x12p34еще не поддерживаются zsh.Имейте в виду, что 010означает 10 или 8, зависит от оболочки и ее конфигурации )

.
0
17.02.2021, 18:15
1 ответ

После долгого изучения поведения fontconfig и браузеров я узнал об этих моментах:

  1. Fontconfig — сравнительно небольшая, но сложная программа. Он имеет алгоритм, который подбирает лучший шрифт для заданных условий и параметров рендеринга. Эти условия и параметры вместе известны как «шаблоны».

  2. Существует несколько характеристик шрифта, и разные шрифты также могут иметь некоторые общие характеристики. Таким образом, выбирая шрифты для данного шаблона,все шрифты в системах должны быть проверены на предмет их актуальности. Некоторые шрифты имеют некоторые характеристики, перекрывающие другие. Например. некоторые шрифты могут иметь поддержку Unicode для экзотических шрифтов/символов, но могут иметь низкое качество прорисовки. В то же время некоторые шрифты могут иметь поддержку Unicode сравнительно меньшего количества шрифтов/символов, но иметь хорошее качество прорисовки. В таком случае fontconfig пытается отдать предпочтение шрифту, который с большей вероятностью будет отображать данный набор символов, и может фактически игнорировать качество прорисовки. Таким образом, мы просто не можем гарантировать результаты fontconfig, потому что они больше зависят от самих файлов шрифтов и запросов конкретных требований приложения. Наконец, как пользователи, мы всегда знаем, какой шрифт подходит для данного случая. Но fontconfig этого не знает. Очевидно, он не может узнать об эстетике, качестве и ошибках в шрифте. Он просто видит каждый шрифт как шрифт.

  3. Некоторые приложения, такие как браузеры и пакеты графического дизайна, также могут использовать свои собственные шаблоны и шрифты, если захотят. В этом случае они могут запросить fontconfig или вести себя самостоятельно.

  4. Мы можем воспроизвести приоритетное поведение fontconfig в разных системах, но эти системы должны иметь точно такие же версии файлов шрифтов, файлов конфигурации и среды рендеринга. В противном случае, если какой-либо файл шрифта имеет обновленные метрики или данные скрипта/языка, он может быть предпочтительнее другого.

  5. Всегда лучше установить собственный файл fonts.conf в вашем домашнем каталоге, чтобы помочь fontconfig сопоставить правильный шрифт, если он этого не сделает.

Подробнее здесь:https://www.freedesktop.org/software/fontconfig/fontconfig-user.html

0
28.10.2021, 14:06

Теги

Похожие вопросы