2016-08-22 7 views
1

я использовать WebFont-загрузчик шрифтов динамической нагрузки с помощью CSS-файлов, код, как этоткак получить Src шрифта URL через WebFont загрузчиком

WebFont.load({ 
    custom: { 
     families: 'Lobster', 
     urls:'mydomain.com/lobster.css' 
    } 
} 

и в файле CSS, это так

@font-face { 
    font-family: 'Lobster'; 
    src: url('Lobster_1.3-webfont.woff') format('woff'), 
     url('Lobster_1.3-webfont.ttf') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 

Интересно, как если есть способ, чтобы получить URL лица шрифта, как «Lobster_1.3-webfont.ttf» и «Lobster_1.3-webfont.woff», который определен в CSS.

в WebFont-загрузчиком, там нет такого апи, если нет непосредственно путь, я должен загрузить CSS как текстовый файл первым, но я Релли не хочу делать такие вещи

вы, ребята, есть какая-то подсказка?

PS: причина, по которой мне нужен URL-адрес шрифта, заключается в том, что я использую fabric.js для создания svg-файла и рендеринга его в PDF на phantom.js в узле, но выглядит, что phantom.js не поддерживает svg с @import url ('xxx.css'). поэтому я должен использовать @ font-face с src.

ответ

0

Ну, допустим, что вы используете подмножество шрифтов, которые вы выбрали и не обновляются пользователями, так что вы знаете пути шрифта вы используете. Fabricjs имеет внутренний объект, который можно заполнить под названием:

fabric.fontPaths = { }; 

если вы храните там URL информации:

fabric.fontPaths = {Lobster: 'Lobster_1.3-webfont.woff'}; 

Вы будете иметь шрифт лицо embeeded в SVG на экспорт. Это должно позволить вам правильно загрузить svg в phantomjs.

+0

да, я знаю, используя fontPaths.but в моем случае, это динамическая нагрузка, и у меня есть много шрифтов, неразумное решение просто добавить файл шрифт URL в fontlist.json (который сейчас просто записать файл CSS URL) –

+0

говорить о ткани fontPaths, это выглядит они ребята не рассматривали о стилях, то же семейства шрифтов, но другой стиль, нужно другой файл шрифта, не так ли? –

+0

Это зависит от файла шрифта. Если у вас жирный курсив и полужирный + курсив в том же файле, этот метод работает. В противном случае вам необходимо определить разные семейства Lobster_bold, Lobster_italic и т. Д. – AndreaBogazzi