Как подружить Fabric.js с русским текстом и заставить правильно показывать fontFamily?

Делаю довольно сложный проект и вроде все получается, но есть одна вещь, котрую совершенно не понимаю. В kitchensink это делается легко и просто, но их кода нет в свободном доступе и он очень сложный и запутанный, чтобы сразу разобраться.

У меня две проблемы при работе с текстом. И обе связаны с fontFamily
1. Если я генерирую текст сразу по клику на кнопку, то все нормально. Если же я сохранил несколько текстов, а потом их загружаю, то они выводятся каким-то стандартным шрифтом. Любой клик по холсту меняет шрифт на тот, что нужен.
canvas.add(text);
canvas.setActiveObject(text);
canvas.renderAll();
canvas.calcOffset();
Все это используется.

Вторая проблема - это русский язык. На нем не меняется font family. Если написать "new Васюки" в одном тексте, то new поменяет шрифт, а Васюки выведется стандартным шрифтом.
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
@fairwind
Скорее всего, текст отрисовывается раньше, чем загружается шрифт.
Если так, можно, как вариант, заранее подгружать шрифты.
Например, с помощью github.com/typekit/webfontloader.
Насчет русского языка - а шрифт вообще кириллический?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xilix
@xilix Автор вопроса
Насчет шрифтов интересно. Надо проверить. Но ведь используется просто текстовое значение fontFamily. Откуда грузятся шрифты?

Еще заметил, что, если сначала отрисовать графический объект, потом текст, то шрифт отображается нормально. Но не в случае с русским языком.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы