Допустимые имена семейства шрифтов

Я провел некоторое исследование и нашел эту статью, но она не совсем мне помогает. Меня интересует, какие допустимые символы можно использовать для именования семейств шрифтов. Теоретически, могу ли я использовать каждый символ для именования, просто поставив все в кавычки? Как с именами на практике?

Пример:

@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 как одно семейство шрифтов, без кавычек. Цитирование нарушает поведение и по умолчанию что-то вроде наследования или чего-то отличного от наследования или моноширинного пространства. Цитирование любого монопространства ломает это. Цитирование обоих ломает это.

Другие вопросы по тегам