[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7857":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":20,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":16,"starSnapshotCount":16,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},7857,"fontcustom","FontCustom\u002Ffontcustom","FontCustom","Generate custom icon webfonts from the comfort of the command line.","",null,"Ruby",3297,418,97,109,0,29.87,false,"master",true,[],"2026-06-12 02:01:45","> [!WARNING]\n> This project is over a decade old. It has served its purpose well, but modern browser SVG support makes icon fonts largely unncessary. It remains available for existing users but is no longer actively maintained.\n>\n> **Alternatives:**\n> - Inline SVG or SVG sprites with `\u003Cuse>` elements\n> - [Font Awesome](https:\u002F\u002Ffontawesome.com\u002F)\n> - [Heroicons](https:\u002F\u002Fheroicons.com\u002F)\n> - [Lucide](https:\u002F\u002Flucide.dev\u002F)\n> - [Feather Icons](https:\u002F\u002Ffeathericons.com\u002F)\n> - [Material Symbols](https:\u002F\u002Ffonts.google.com\u002Ficons)\n\n---\n\n## Font Custom\n\n**Icon fonts from the command line.**\n\nGenerate cross-browser icon fonts and supporting files (@font-face CSS, etc.)\nfrom a collection of SVGs\n([example](https:\u002F\u002Frawgit.com\u002FFontCustom\u002Ffontcustom\u002Fmaster\u002Fspec\u002Ffixtures\u002Fexample\u002Fexample-preview.html)).\n\n[Changelog](https:\u002F\u002Fgithub.com\u002FFontCustom\u002Ffontcustom\u002Fblob\u002Fmaster\u002FCHANGELOG.md)\u003Cbr>\n[Bugs\u002FSupport](https:\u002F\u002Fgithub.com\u002FFontCustom\u002Ffontcustom\u002Fissues)\u003Cbr>\n[Contribute!](https:\u002F\u002Fgithub.com\u002FFontCustom\u002Ffontcustom\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md)\n\n### Installation\n\nRequires **Ruby 2.6+**, **WOFF2**, **FontForge** with Python scripting.\n\n```sh\n# On Mac\nbrew tap bramstein\u002Fwebfonttools\nbrew install woff2 sfnt2woff fontforge eot-utils\ngem install fontcustom\n\n# On Linux (untested, likely requires updates)\nsudo apt-get install zlib1g-dev fontforge\ngit clone https:\u002F\u002Fgithub.com\u002Fbramstein\u002Fsfnt2woff-zopfli.git sfnt2woff-zopfli && cd sfnt2woff-zopfli && make && mv sfnt2woff-zopfli \u002Fusr\u002Flocal\u002Fbin\u002Fsfnt2woff\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fwoff2.git && cd woff2 && make clean all && sudo mv woff2_compress \u002Fusr\u002Flocal\u002Fbin\u002F && sudo mv woff2_decompress \u002Fusr\u002Flocal\u002Fbin\u002F\ngem install fontcustom\n```\n\n#### Note for windows:\n\n1. Install fontforge:  http:\u002F\u002Ffontforge.github.io\u002Fen-US\u002Fdownloads\u002Fwindows\u002F\n-  Install to a path without spaces, eg c:\\FontForgeBuilds\n-  At the end of the installer check the 'run fontforge' box. It finishes some set up.\n2. Add the installation path to your System PATH variable (c:\\FontForgeBuilds\\bin)\n3. Open up a new command prompt and test it. `fontforge -help`\n4. gem install fontcustom\n\n\n### Quick Start\n\n```sh\nfontcustom compile my\u002Fvectors  # Compiles icons into `fontcustom\u002F`\nfontcustom watch my\u002Fvectors    # Compiles when vectors are changed\u002Fadded\u002Fremoved\nfontcustom compile             # Uses options from `.\u002Ffontcustom.yml` or `config\u002Ffontcustom.yml`\nfontcustom config              # Generate a blank a config file\nfontcustom help                # See all options\n```\n\n### Configuration\n\nTo manage settings between compiles, run `fontcustom config` to generate a\nconfig file. Inside, you'll find a list of [**all possible options**](https:\u002F\u002Fgithub.com\u002FFontCustom\u002Ffontcustom\u002Fblob\u002Fmaster\u002Flib\u002Ffontcustom\u002Ftemplates\u002Ffontcustom.yml).\nEach option is also available as a dash-case command line flag (e.g.\n`--css-selector`) that overrides the config file.\n\n### SVG Guidelines\n\n* All colors will be rendered identically. Watch out for white fills!\n* Use only solid colors. SVGs with transparency will be skipped.\n* For greater precision in curved icons, use fills instead strokes and [try\n  these solutions](https:\u002F\u002Fgithub.com\u002FFontCustom\u002Ffontcustom\u002Fissues\u002F85).\n* Activating `autowidth` trims horizontal white space from each glyph. This\n  can be much easier than centering dozens of SVGs by hand.\n\n### Advanced\n\n**For use with Compass and\u002For Rails**\n\nSet `templates` to include `scss-rails` to generate a SCSS partial with the\ncompatible font-url() helper. You'll most likely also need to set\n`preprocessor_path` as the relative path from your compiled CSS to your output\ndirectory.\n\n**Example Use in Rails**\n\nAdd `gem 'fontcustom'` to your gem file.\n```\nbundle\n```\nCreate a `fontcustom.yml` file with something like this:\n```yml\n# config\u002Ffontcustom.yml\n\nfont_name: icons\ncss_selector: .icon-{{glyph}}\npreprocessor_path: \"\"\nautowidth: false\nno_hash: true\nforce: false\ndebug: false\nquiet: false\n\ninput:\n  vectors: app\u002Fassets\u002Ficons\n\noutput:\n  fonts: app\u002Fassets\u002Ffonts\n  css: app\u002Fassets\u002Fstylesheets\n\ntemplates:\n - scss\n```\n\nThis tells the gem to take the vectors from `app\u002Fassets\u002Ficons` and create fonts and stylesheets for them.\n\nCreate a file in lib\u002Ftasks called `icons.rake` :\n\n```ruby\nnamespace :icons do\n  task :compile do\n    puts \"Compiling icons...\"\n    puts %x(fontcustom compile)\n  end\nend\n```\n\nLoad up the icons directory and test it out.\n\nRun this command with\n```sh\nrake icons:compile\n```\n\nThis should run the installed and configured gem to create your icons:\n\n```sh\nCompiling icons...\n      create  .fontcustom-manifest.json\n      create  app\u002Fassets\u002Ffonts\n      create  app\u002Fassets\u002Ffonts\u002Ficons.ttf\n              app\u002Fassets\u002Ffonts\u002Ficons.svg\n              app\u002Fassets\u002Ffonts\u002Ficons.woff\n              app\u002Fassets\u002Ffonts\u002Ficons.eot\n      create  app\u002Fassets\u002Fstylesheets\u002F_icons.scss\n```\nAccess these new icons by creating a tag with the class `icon-{{glyph}}` where the {{glyph}} is the name of the svg you put in the icon folder.\nFor example, if you added a file called 'cars54' icon would look something like this:\n\n```html\n\u003Ci class=\"icon-cars54\"\u003C\u002Fi>\n```\n\nNow the font is adjustable to css 'font-size' and 'color'.\n\n**Save CSS and fonts to different locations**\n\nYou can save generated fonts, CSS, and other files to different locations by\nusing `fontcustom.yml`. Font Custom can also read input vectors and templates\nfrom different places.\n\nJust edit the `input` and `output` YAML hashes and their corresponding keys.\n\n**Tweak font settings**\n\nBy default, Font Custom assumes a square viewBox, 512 by 512, and 16 pica\npoints. Change `font_design_size`, `font_em`, `font_ascent`, `font_descent`,\nand `autowidth` to suit your own needs.\n\n**Generate LESS, Stylus, and other text files**\n\nCustom templates give you the flexibility to generate just about anything you\nwant with Font Custom's output data.\n\nAny non-SVG file in your input directory (or input:templates directory if you\nset it in `fontcustom.yml`) will be available as a custom template to copy into\nthe output directory after compilation. You just need to specify the file name\nunder the `templates` hash.\n\nAny embedded ruby in the templates will be processed, along with the following\nhelpers:\n\n* `font_name`\n* `font_face`: [FontSpring's Bulletproof @Font-Face Syntax](http:\u002F\u002Fwww.fontspring.com\u002Fblog\u002Ffurther-hardening-of-the-bulletproof-syntax)\n* `glyph_selectors`: comma-separated list of all icon CSS selectors\n* `glyphs`: all selectors and their codepoint assignments (`.icon-example:before { content: \"\\f103\"; }`)\n* `@options`: a hash of options used during compilation\n* `@manifest`: a hash of options, generated file paths, code points, and just about everything else Font Custom knows.\n* `@font_path`: the path from CSS to font files (without an extension)\n* `@font_path_alt`: if `preprocessor_path` was set, this is the modified path\n* `pseudo_element`: if `css3` was set to true, then it will print `::before`. Otherwise the PseudoElement will be `:before`\n\n`font_face` accepts a hash that modifies the CSS url() function and the path of\nthe font files (`font_face(url: \"font-url\", path: @font_path_alt)`).\n\n---\n\n[Licenses](https:\u002F\u002Fgithub.com\u002FFontCustom\u002Ffontcustom\u002Fblob\u002Fmaster\u002FLICENSES.txt)\n\nBrought to you by [@endtwist](https:\u002F\u002Fgithub.com\u002Fendtwist) and [@kaizau](https:\u002F\u002Fgithub.com\u002Fkaizau)\n","FontCustom 是一个通过命令行生成自定义图标字体的工具。其核心功能是能够从一组SVG文件中生成跨浏览器兼容的图标字体及相关支持文件（如@font-face CSS等），适用于需要在网页上使用矢量图标的场景。该项目主要使用Ruby语言开发，依赖于Ruby 2.6+、WOFF2及具备Python脚本能力的FontForge环境。尽管项目已超过十年历史且不再积极维护，但对于现有用户来说仍可作为生成图标字体的一个选项。然而，鉴于现代浏览器对SVG的良好支持，直接使用SVG或SVG精灵可能是更优的选择。",2,"2026-06-11 03:14:44","top_language"]