Некоторое время я думал, что переменные шрифты - это просто комбинации нескольких шрифтов, и что значения интерполируются между ними. Однако я только что прочитал об этом проекте protottypo (который, к сожалению, больше не поддерживается), и обнаружил, как они хранят свои шрифты как переменные. Смотрите этот снимок экрана из рекламного ролика, через несколько лет go:
И это казалось таким логичным! Почему бы не использовать настоящий языковой формат с переменными и всем остальным. На картинке выше это (вроде) выглядит как python код.
И тогда я подумал: «Наверное, это было продумано, давайте посмотрим, как реализованы варианты шрифтов OpenType».
И я поискал в Интернете схему и спецификацию, но не нашел.
Итак, собственно вопрос (ы):
- Как переменные шрифты хранятся в otf-файлах? Просто, как я думал раньше, между ними интерполируются несколько шрифтов и другие значения? Существует ли переменный язык, подобный приведенному выше, который используется для записи переменных частей шрифта (очевидно)?
- Где я могу найти спецификацию TTF для переменных шрифтов? Есть ли какие-нибудь?
- Есть ли способ написать переменный шрифт с помощью обычного текстового файла (конечно, с использованием какой-либо векторной графики, например:
const d = 'M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2 c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z'
(это делает сердце)
Спасибо (вот для чего сердце :)