Как определить, что шрифты уже загрузились?

Здравствуйте.
Пишу небольшой сервис, генерирующий картинки с цитатами. Ничего особенного, редактор заполняет поля формы (простейший визвиг), загружает фото спикера, все рисуется в скрытый див, с которого потом и отрисовывается канвас, при помощи html2canvas.

Проблема в следующем: в дизайне будут использоваться несколько супер-пупер шрифтов, которые могут загружаться неспеша и при обновлении страницы канвас отрисовывается некорректно: шрифты сбрасываются на дефолт Times New Roman, меняется размер, интерлиньяж. Происходит сугубо рандомно, иногда рисуется абсолютно правильно. На случай полагаться не хочу. Пробовал ставить таймаут на отрисовку, прописывал style="font-family:Lalala", чтобы вызвать принудительную загрузку — не помогает.

Как определить, что нужные шрифты гарантировано загрузились и можно начать рисовать канвас?

Есть еще странность: проблемы возникают в версии html2canvas 0.5.0-alpha1, если ставить 0.4.1 — проблемы, вроде как нет.

Upd: PHP GD не подходит, поскольку цитата у меня со сложным форматированием (мама мыла раму). Как заставить GD отрисовывать часть текста, идущего подряд, другими стилями ответа не нашел.

Upd2: Про PhantomJS слышал, но не изучал, хочется пока обойтись малой кровью.
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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