2013-08-07 35 views
64

Tôi muốn lấy dữ liệu đường dẫn SVG từ Font Awesome glyphs để tôi có thể sử dụng chúng ngay lập tức dưới dạng SVG trong HTML của tôi. Tôi nghĩ rằng nó sẽ được dễ dàng như sao chép dán dữ liệu đường dẫn từ fontawesome-webfont.svg, nhưng khi tôi sử dụng nó trong HTML của tôi các biểu tượng được tất cả các rendering lộn ngược. Có ai biết tại sao không?Trích xuất SVG từ Phông chữ Tuyệt vời

(Xem Fiddle)

Font SVG sửa:

<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" /> 

... Ported sang HTML SVG (và thu nhỏ lại):

<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> 

Trả lời

50

Tất cả theo SVG specification ...

Không giống như đồ họa chuẩn trong SVG, trong đó hệ tọa độ ban đầu có trục y hướng xuống dưới, lưới thiết kế cho phông chữ SVG, cùng với hệ tọa độ ban đầu cho glyphs, có trục y hướng lên trên. thực hành ngành cho nhiều định dạng phông chữ phổ biến.

Theo this comment, Thay đổi wrapper để <svg height="179.2" width="179.2"><path transform="scale(0.1,-0.1) translate(0,-1536)" d="..." /></svg> dường như làm các trick, nơi là em đơn vị mỗi và là đi lên trên yếu tố font-face

+5

Để hoàn thành câu trả lời này, thay đổi trình bao bọc thành tỷ lệ '' dường như thực hiện thủ thuật, trong đó '1792' là' đơn vị mỗi em' và '1536' là phần tử' ascent' trên phần tử 'font-face'. – mckamey

16

IcoMoon app làm cho cái chết đơn giản này.

+2

Yea IcoMoon thật tuyệt vời – Yarin

+3

IcoMoon rất dễ sử dụng, nhưng tôi thấy rằng nó xuất ra đường dẫn dài hơn SVG trong [repo GitHub này] (https://github.com/encharm/Font-Awesome-SVG-PNG/tree/master/black/svg). Hãy thử so sánh biểu tượng fa-gift. Các 'đường dẫn' là 837 ký tự thông qua IcoMoon, so với [514 trong repo] (https://github.com/encharm/Font-Awesome-SVG-PNG/blob/master/black/svg/gift.svg). –

+0

Nice tìm Dan, không có ý tưởng về caveat này. Tuy nhiên, tôi yêu IcoMoon. – SISYN

66

Chỉ cần có được các biểu tượng svg sẵn sàng từ this github repo
Họ đã lật và tập trung khi cần thiết

enter image description here

Nhấn vào bất kỳ tệp nào và sau đó "Nguyên bản" enter image description here

+0

tuyệt vời, nhờ liên kết – Yarin

+8

Tôi đã tìm thấy rất nhiều biểu tượng này đã bị cắt ở hai bên, ví dụ như xe hơi – Bankzilla

3

Ngoài ra còn có một công cụ Node.js sẽ tự động này cho bạn, & tạo trước & sau verify.html. https://github.com/eugene1g/font-blast

Tôi đã sử dụng nó trên các phông chữ khác, chỉ 1 chuyển đổi biểu tượng xấu cho đến nay, nhưng phần còn lại trong phông chữ SVG là tốt.

+1

Tôi sẽ phải thử tính năng này –

Các vấn đề liên quan