Интерпретация алгоритма сопоставления шрифтов CSS 3 - PullRequest
2 голосов
/ 27 февраля 2020

Алгоритм согласования шрифтов CSS 3 сообщает

4. a. ‘font-stretch’ пробуется первым. Если соответствующий набор содержит грани со значениями ширины, соответствующими значению ‘font-stretch’, грани с другими значениями ширины удаляются из соответствующего набора. Если нет грани, которая точно соответствует значению ширины, вместо нее используется ближайшая ширина. Если значение ‘font-stretch’ равно ‘normal’ или одно из сжатых значений, сначала проверяются более узкие значения ширины, а затем более широкие значения. Если значение ‘font-stretch’ является одним из расширенных значений, сначала проверяются более широкие значения, а затем более узкие значения. Как только в результате этого процесса будет определена ближайшая подходящая ширина, грани с другой шириной будут удалены из подходящего набора.

Как вы интерпретируете упорядочение spe c в сочетании с "ближайшей подходящей шириной" «?

Скажите, что доступны следующие значения ширины:

  • semi-expanded (112,5%)
  • ultra-expanded (200%)

Если страница запрашивает font-stretch: expanded (125%), spe c говорит, что сначала нужно посмотреть на более широкие значения, а затем на более узкие. Таким образом, выбранная ширина будет ultra-expanded, потому что она на шире , чем expanded, или semi-expanded, потому что ближе к expanded?

или , чтобы взять более экстремальный случай, если две доступные ширины:

  • ultra-condensed (50%)
  • semi-expanded (112,5%)

и font-stretch: normal (100%) запрашивается, какой алгоритм выберет?

1 Ответ

1 голос
/ 27 февраля 2020

С 3.3. Ширина шрифта: свойство font-stretch

Когда грань не существует для данной ширины, нормальные или сжатые значения отображаются на более узкую грань, в противном случае - более широкую грань. И наоборот, расширенные значения отображаются на более широкую грань, в противном случае более узкую грань.

Единственная интерпретация алгоритма, которая согласуется с этим утверждением:

Для первого случая: " ближайшая более широкая грань, если есть, в противном случае ближайшая более узкая грань. "
т.е. ultra-expanded

Для второго случая:" ближайшая более узкая грань, если есть, в противном случае ближайшая более широкая грань. "
т.е. ultra-condensed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...