2013-08-07 5 views
64

Я хочу получить данные о пути SVG от глины Font Awesome, чтобы я мог использовать их прямо в SVG в своем HTML. Я думал, что это будет так же просто, как копировать данные пути из fontawesome-webfont.svg, но когда я использую его в своем HTML, символы все переворачиваются в обратном порядке. Кто-нибудь знает, почему?Извлечение SVG из шрифта Awesome

(см Fiddle)

шрифт Удивительный SVG:

<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" /> 

... адаптированное к HTML SVG (и масштабируется вниз):

<svg width="1000" height="1000" ><path transform="scale(0.1,0.1)" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z"/></svg> 

ответ

50

Все согласно SVG specification ...

В отличие от стандартной графики в SVG, где исходная система координат имеет ось y, направленную вниз, проектная сетка для шрифтов SVG вместе с исходной системой координат для глифов имеет ось y, направленную вверх для согласованности с принятыми отраслевая практика для многих популярных форматов шрифтов.

Согласно this comment, Изменение обертку для <svg height="179.2" width="179.2"><path transform="scale(0.1,-0.1) translate(0,-1536)" d="..." /></svg>, кажется, сделать трюк, где является эм единиц-за и является восхождение на шрифт-слойного элемента

+5

Для полноты этого ответа смена обертки на '' похоже, делает трюк, где '1792' - это' units-per-em', а '1536' -' ascent' на элементе 'font-face'. – mckamey

16

IcoMoon app делает этот мертвый просто.

+2

Yea IcoMoon is awesome – Yarin

+3

IcoMoon очень прост в использовании, но я обнаружил, что он экспортирует более длинные пути, чем SVG в [этот репозиторий GitHub] (https://github.com/encharm/Font-Awesome-SVG-PNG/дерево/ведущий/черный/SVG). Попробуйте сравнить значок fa-gift. «Путь» - 837 символов через IcoMoon, против [514 в репо] (https://github.com/encharm/Font-Awesome-SVG-PNG/blob/master/black/svg/gift.svg). –

+0

Приятная находка Дэн, понятия не имела об этом предостережении. Тем не менее, я люблю IcoMoon. – SISYN

66

Просто получить готовые иконки SVG из this github repo
Они уже переворачивается и по центру в случае необходимости

enter image description here

Нажмите любой файл, а затем «Raw» enter image description here

+0

отлично, спасибо за ссылку – Yarin

+8

Я нашел много из них были значки, которые были обрезаны по бокам, например автомобиль – Bankzilla

3

Существует также node.js инструмент, который позволит автоматизировать это для вас, & создать перед тем & после verify.html. https://github.com/eugene1g/font-blast

Я использовал его на других шрифтах, только 1 неудачное преобразование значков, но отдых в шрифте SVG был прекрасен.

+1

Мне нужно попробовать это –

Смежные вопросы