{"id":37904521,"url":"https://github.com/loadingio/ldiconfont","last_synced_at":"2026-01-16T17:08:31.299Z","repository":{"id":38275557,"uuid":"170511078","full_name":"loadingio/ldiconfont","owner":"loadingio","description":"iconfont builder along with a set of prebuilt pixel-perfect icons.","archived":false,"fork":false,"pushed_at":"2025-12-24T02:06:46.000Z","size":49369,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-25T15:31:11.026Z","etag":null,"topics":["icon","iconfont","svg-font"],"latest_commit_sha":null,"homepage":"https://loadingio.github.io/ldiconfont","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loadingio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-02-13T13:17:59.000Z","updated_at":"2025-12-24T02:06:50.000Z","dependencies_parsed_at":"2024-06-21T15:19:44.480Z","dependency_job_id":"125f0af9-012c-4f8a-a754-1da97dd38f65","html_url":"https://github.com/loadingio/ldiconfont","commit_stats":{"total_commits":123,"total_committers":1,"mean_commits":123.0,"dds":0.0,"last_synced_commit":"c153f8e9e5c0d54118e996f70e1f01670200a406"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/loadingio/ldiconfont","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldiconfont","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldiconfont/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldiconfont/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldiconfont/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loadingio","download_url":"https://codeload.github.com/loadingio/ldiconfont/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loadingio%2Fldiconfont/sbom","scorecard":{"id":596473,"data":{"date":"2025-08-11","repo":{"name":"github.com/loadingio/ldiconfont","commit":"8435c666a0b7df3a1efb666027e3df61a6630a1a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.2,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.2.8 not signed: https://api.github.com/repos/loadingio/ldiconfont/releases/151077812","Warn: release artifact v0.2.7 not signed: https://api.github.com/repos/loadingio/ldiconfont/releases/150324210","Warn: release artifact v0.2.6 not signed: https://api.github.com/repos/loadingio/ldiconfont/releases/125934678","Warn: release artifact v0.2.5 not signed: https://api.github.com/repos/loadingio/ldiconfont/releases/119566718","Warn: release artifact v0.2.4 not signed: https://api.github.com/repos/loadingio/ldiconfont/releases/92666815","Warn: release artifact v0.2.8 does not have provenance: https://api.github.com/repos/loadingio/ldiconfont/releases/151077812","Warn: release artifact v0.2.7 does not have provenance: https://api.github.com/repos/loadingio/ldiconfont/releases/150324210","Warn: release artifact v0.2.6 does not have provenance: https://api.github.com/repos/loadingio/ldiconfont/releases/125934678","Warn: release artifact v0.2.5 does not have provenance: https://api.github.com/repos/loadingio/ldiconfont/releases/119566718","Warn: release artifact v0.2.4 does not have provenance: https://api.github.com/repos/loadingio/ldiconfont/releases/92666815"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":0,"reason":"23 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-vc8w-jr9v-vj7f","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-3965-hpx2-q597","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T23:15:46.405Z","repository_id":38275557,"created_at":"2025-08-20T23:15:46.405Z","updated_at":"2025-08-20T23:15:46.405Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["icon","iconfont","svg-font"],"created_at":"2026-01-16T17:08:31.236Z","updated_at":"2026-01-16T17:08:31.290Z","avatar_url":"https://github.com/loadingio.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ldIconFont\n\n![ldiconfont preview](https://github.com/loadingio/ldiconfont/blob/master/screenshot.png?raw=true)\n\nBuild icon font with SVGs, along with a pixel-perfect line icon set in 24x24 / 16x16 resolution, along with source Ai files and SVG files. Check our [Live Demo](http://loadingio.github.io/ldiconfont/) for ldiconfont in action. \n\n\n## Usage\n\ninclude ldif.min.css file and specify font url:\n\n    \u003clink rel=\"stylesheet\" type=\"text/css\" href=\"ldif.min.css\"/\u003e\n    \u003cstyle type=\"text/css\"\u003e\n      @font-face {\n        font-family: 'ldi';\n        font-weight: normal;\n        font-style: normal;\n        src: url('path/to/your/ldif.ttf') format('truetype');\n      }\n    \u003c/style\u003e\n\nThen, use icon via classes:\n\n    \u003ci class=\"i-plus\"\u003e\u003c/i\u003e\n\n\n## Tweak\n\nYou can make customized builds to tweak icon alignment, but even with the same font sometimes it doesn't align properly with different font size. \n\nYou can customize icon vertical position with following CSS:\n\n    i.ldif:before\n      position: relative\n      top: 0\n\nreplace `ldif` with your custom class and tweak `top` value to match your font.\n\n\n## Custom build\n\nrun `./bin/makefont.js` to make a custom build. available parameters:\n\n - map ( -m ) - optional unicode / icon name mapping file. check src/unicode.json for format.\n - units-per-em ( -u ) - glyph size ( default 900 )\n - input ( -i ) - input directory of SVGs. file name of SVG will be its icon name.\n - ascent ( -a ) - ascent for tweaking icon vertical alignment. default 700\n - offset-y ( -y ) - adjust glyph vertical position. negative toward down, positive toward up. default -130\n - dir ( -d ) - output directory. `dist` if omitted.\n\nAdditionally, you can add a config.json under your input directory, `makefont` will parse and use it to config build automatically. Check `src/vector-files/line/svg/config.json` as an example.\n\nYou can also use ldiconfont to build your own iconfont by installing ldiconfont then run:\n\n    npm install --save ldiconfont\n    npx ldif  ... ( parameters ) ...\n\nsample command for 800 x 800 SVGs:\n\n    npx ldif -u 800 -i ~/path/to/svg -a 700.5 -y -90.5 -d out\n\nWe suggest using units-per-em greater than 800 to prevent precision loss when converting to ttf.\n\n\n## Verify Your Build\n\nuse `npx ldif-server -d \u003cyour-font-dist-folder\u003e` to start up a test server for viewing the result of your customized build.\n\n\n\n## Challenges\n\n - Correctly align vertically - https://christopheraue.net/design/vertical-align\n\n\n## SVG Font\n\nBasic construct of SVG Font:\n\n    svg: defs: font\n      font-face\n      glyph\n      ...\n      missing-glyph\n\n\n## Structure\n\nldiconfont provides different variants and favors. You can find all of them in `dist/\u003cfavor\u003e`, with source counterparts under `src/vector-files/\u003cfavor\u003e`, including source illustrator file ( raw paths and merged composite shape ) and generated SVG files. \n\nCurrently we only provide 3 favors:\n\n - Line 24 x 24 bold ( default font after 0.1.0 )\n - Line 16 x 16 light\n - Legacy ( icons used in 0.0.1 )\n\n\n## TODO\n\n - refine the list of icon that we should make including following scenario:\n   - Generic Set\n   - Text Editor\n   - Source Control\n   - Media Player\n - refine icons to make them more consistent and pixel-perfect, in 12px ~ 18px.\n - support (light, regular, bold) x (solid, line) = 6 different styles.\n - support SVG fragment and SVG embed with proper document and even API.\n - refine icon development process\n - add additional preview scenario such as a sample view when using in GitHub.\n\n\n## Reference\n\n - [SVG 1.1 - Fonts](https://www.w3.org/TR/SVG11/fonts.html)\n - [SVG Font Element](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/font)\n - [SVG Font Related Attributes](https://docs.google.com/spreadsheets/d/1NBUILrdB3uDDPzyicEU8WApkTXL9sZVmta7yneXlKIA/edit?usp=sharing)\n - [Font's Measurement Units](https://i.stack.imgur.com/Z0TnA.png)\n - [Icon Fonts vs SVG Icons](https://lambdatest.com/blog/its-2019-lets-end-the-debate-on-icon-fonts-vs-svg-icons)\n\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floadingio%2Fldiconfont","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floadingio%2Fldiconfont","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floadingio%2Fldiconfont/lists"}