All Projects → oslllo → svg-fixer

oslllo / svg-fixer

Licence: MIT License
Converts SVG Strokes To Fill.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to svg-fixer

Webfont
Awesome generator of webfont
Stars: ✭ 170 (+188.14%)
Mutual labels:  font, svg-icons, webfont
Coreui Icons
CoreUI Free Icons - Premium designed free icon set with marks in SVG, Webfont and raster formats
Stars: ✭ 1,813 (+2972.88%)
Mutual labels:  font, svg-icons, webfont
Unicons
1000+ Pixel-perfect vector icons and Iconfont for your next project.
Stars: ✭ 911 (+1444.07%)
Mutual labels:  font, svg-icons, webfont
font-gis
Icon font and SVG for use with GIS and spatial analysis tools
Stars: ✭ 121 (+105.08%)
Mutual labels:  font, svg-icons, webfont
Alfred Font Awesome Workflow
🎩 Font Awesome workflow for Alfred
Stars: ✭ 714 (+1110.17%)
Mutual labels:  font, svg-icons, webfont
Font Awesome
The iconic SVG, font, and CSS toolkit
Stars: ✭ 66,937 (+113352.54%)
Mutual labels:  font, svg-icons, webfont
Svgtofont
Read a set of SVG icons and ouput a TTF/EOT/WOFF/WOFF2/SVG font.
Stars: ✭ 149 (+152.54%)
Mutual labels:  font, svg-icons, webfont
Nuxt Webfontloader
Efficient web font loading has never been easier!
Stars: ✭ 264 (+347.46%)
Mutual labels:  font, webfont
Yakuhanjp
Yakumono-Hankaku Only Web Fonts
Stars: ✭ 288 (+388.14%)
Mutual labels:  font, webfont
Icons
The premium icon font for @uiwjs Component Library. https://uiwjs.github.io/icons
Stars: ✭ 99 (+67.8%)
Mutual labels:  svg-icons, webfont
Typeface Fixed System Excelsior
Fixed System Excelsior typeface
Stars: ✭ 6 (-89.83%)
Mutual labels:  font, webfont
Linearicons
Linearicons is the highest quality set of line icons, matching with minimalist UI designs in iOS.
Stars: ✭ 64 (+8.47%)
Mutual labels:  font, webfont
vue-iconfont
更优雅地使用 Iconfont.cn,同时支持 font-class 引入和 symbol 引入。
Stars: ✭ 27 (-54.24%)
Mutual labels:  font, svg-icons
fontagon
Fontagon is a great tool that easily converts svg into icon font. Fontagon-cli allows faster conversion to commands.
Stars: ✭ 18 (-69.49%)
Mutual labels:  font, webfont
fontIconPicker
A lightweight iconpicker for use with jQuery
Stars: ✭ 30 (-49.15%)
Mutual labels:  icomoon, fontello
Bellota-Font
An ornamented Sans Serif font family
Stars: ✭ 21 (-64.41%)
Mutual labels:  font, webfont
Urbanist
Urbanist is a low-contrast, geometric sans-serif inspired by Modernist design and typography.
Stars: ✭ 374 (+533.9%)
Mutual labels:  font, webfont
cryptofont
Cryptocurrency icon webfont and SVG
Stars: ✭ 149 (+152.54%)
Mutual labels:  font, webfont
microns
The universal icon set for user interfaces.
Stars: ✭ 58 (-1.69%)
Mutual labels:  font, webfont
icons-flat-osx
Free Flat icons For OSX
Stars: ✭ 371 (+528.81%)
Mutual labels:  svg-icons

SVG Fixer

Cover Image

CI/Test npm Coveralls github

🎉 v2.0.0 Removed Canvas & JSDOM no more slow npm install cycles.

Attempts to fix your svg by turning it into a fill / single path (and making it font compatible as a bonus).

Convert SVG Strokes To Fills


Strokes To Files Demo


Documentation, Installation, and Usage Instructions

See the full installation and usage documentation HERE.

The Objective

I wanted to convert some svg icons to fonts using tools like icomoon.io, fontello.com and webfont

The Problem / Why

If your svg containts strokes or any tags besides a single path e.g polygon rect line etc, you will get these errors when trying to convert them into fonts.


Example

SVG

Icon -> we will be using in this example

SVG Icon

Code -> for the icon

<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round">
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
<line x1="9" y1="9" x2="15" y2="15" />
<line x1="15" y1="9" x2="9" y2="15" />
</svg>

Errors

When we try to convert this SVG into a font using one of these SVG To Font conversion tools we get the following errors.

icomoon.io error fontello.com error webfont error
Icomoon Error Fontello Error Webfont Error

Ignoring The Errors

What happends if you ignore these errors? well, the font pack with the icon(s) will come out "corrupt/incorrect", different than expected or not even render at all (blank).

Results From Ignoring The Errors

The icon not showning up or rendering in the font pack when we ignore the errors and just create the font anyway.

icomoon.io blank fontello.com blank webfont blank using fontdrop.info to preview the font
Icomoon Blank Fontello Blank Webfont Blank

The Solution

I created this package to solve this issue, now you can "fix" svg icons to make then font compatable by running them through SVGFixer.

Fixing The Icon

The icon in a font pack after we run it through SVGFixer().

icomoon.io fixed fontello.com fixed webfont fixed using fontdrop.info to preview the font
Icomoon Fixed Fontello Fixed Webfont Fixed

Fixed SVG Code

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4.620 2.025 C 4.212 2.105,4.087 2.139,3.870 2.227 C 2.989 2.585,2.321 3.364,2.076 4.320 C 1.993 4.647,1.992 19.351,2.076 19.677 C 2.357 20.776,3.117 21.553,4.260 21.915 C 4.439 21.971,5.243 21.979,11.820 21.990 C 16.818 21.998,19.268 21.989,19.453 21.960 C 20.643 21.777,21.620 20.876,21.924 19.680 C 22.007 19.352,22.008 4.648,21.924 4.323 C 21.617 3.126,20.660 2.233,19.480 2.043 C 19.234 2.003,4.819 1.986,4.620 2.025 M19.340 4.066 C 19.455 4.105,19.603 4.201,19.701 4.299 C 20.025 4.623,20.000 3.977,20.000 12.000 C 20.000 20.023,20.025 19.377,19.701 19.701 C 19.377 20.025,20.023 20.000,12.000 20.000 C 3.975 20.000,4.623 20.025,4.298 19.700 C 3.974 19.376,3.998 20.028,4.010 11.918 L 4.020 4.700 4.131 4.511 C 4.256 4.298,4.449 4.136,4.670 4.057 C 4.793 4.013,6.104 4.003,11.983 4.002 C 18.548 4.000,19.162 4.006,19.340 4.066 M8.643 8.069 C 8.291 8.193,8.000 8.614,8.000 9.000 C 8.000 9.080,8.030 9.234,8.066 9.343 C 8.123 9.517,8.276 9.685,9.354 10.770 L 10.577 12.000 9.354 13.230 C 8.276 14.315,8.123 14.483,8.066 14.657 C 7.936 15.046,8.021 15.423,8.299 15.701 C 8.577 15.979,8.954 16.064,9.343 15.934 C 9.517 15.877,9.685 15.724,10.770 14.646 L 12.000 13.423 13.230 14.646 C 14.315 15.724,14.483 15.877,14.657 15.934 C 15.046 16.064,15.423 15.979,15.701 15.701 C 15.979 15.423,16.064 15.046,15.934 14.657 C 15.877 14.483,15.724 14.315,14.646 13.230 L 13.423 12.000 14.646 10.770 C 15.724 9.685,15.877 9.517,15.934 9.343 C 16.064 8.954,15.979 8.577,15.701 8.299 C 15.423 8.021,15.046 7.936,14.657 8.066 C 14.483 8.123,14.315 8.276,13.230 9.354 L 12.000 10.577 10.770 9.354 C 9.685 8.276,9.517 8.123,9.343 8.066 C 9.102 7.985,8.877 7.986,8.643 8.069 " stroke="none" fill="black" fill-rule="evenodd"></path></svg>

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].