Допустимые имена семейства шрифтов
Я провел некоторое исследование и нашел эту статью, но она не совсем мне помогает. Меня интересует, какие допустимые символы можно использовать для именования семейств шрифтов. Теоретически, могу ли я использовать каждый символ для именования, просто поставив все в кавычки? Как с именами на практике?
Пример:
@font-face {
font-family: '&This is my font 1234#!&&&';
src: url('font.eot');
src: url('font.eot?#iefix') format('embedded-opentype'),
url('font.woff') format('woff'),
url('font.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
Я также хотел бы знать, существуют ли какие-то стандарты, соглашения, используемые для именования семейств шрифтов?
1 ответ
Страница Mozilla ссылается на примеры со страницы W3C.
Единственные имена семейства шрифтов, которые можно заключать в кавычки, начинаются с буквы Alpha. [a-zA-Z]
и содержать только буквенно-цифровые символы впоследствии [A-Za-z0-9]
, И, возможно, также подчеркивание (_
) также.
Что касается цитаты, это не уточняется. Можно предположить, что что-нибудь пойдет, но кто знает, что на самом деле примут браузеры? Лучше всего включать тесты в поддерживаемых браузерах, чтобы обеспечить постоянную поддержку и быстро обнаруживать поломки в разработке или в отчетах об ошибках пользователей в новых или менее используемых браузерах.
Но никогда не должно быть абсолютно необходимым использовать такие символы, которые могут увеличить шансы взлома где-то, сейчас или в будущем. Такие соглашения об именах, безусловно, являются запахом кода и требуют пересмотра.
Единственное ограничение на двойные кавычки заключается в том, что он должен заключать в кавычки полное имя семейства шрифтов, т.е. "One Two" Three
, Я также заметил спорадический сбой при цитировании имени, которое имеет только альфа или регулярное выражение /[a-zA-Z][a-zA-Z0-9_]+/
, "One","Two","Three"
, может работать или не работать, или работать частично, как ожидалось, или может быть в порядке.
Хотя это только косвенно связано, во многих браузерах есть что-то, что тупо нарушается: monospace
шрифт. Согласно этой статье - и моим наблюдениям в Mozilla Firefox, недавно вышедшим v58, - это все еще остается в силе. monospace
шрифт слишком сильно сжат. "Исправление", кажется, взломать, где вы указываете monospace, monospace
как одно семейство шрифтов, без кавычек. Цитирование нарушает поведение и по умолчанию что-то вроде наследования или чего-то отличного от наследования или моноширинного пространства. Цитирование любого монопространства ломает это. Цитирование обоих ломает это.