{"id":24893633,"url":"https://github.com/rillig/sfntly","last_synced_at":"2025-10-16T09:32:09.564Z","repository":{"id":25797505,"uuid":"93274384","full_name":"rillig/sfntly","owner":"rillig","description":"A Library for Using, Editing, and Creating SFNT-based Fonts","archived":false,"fork":true,"pushed_at":"2022-01-27T19:30:35.000Z","size":38695,"stargazers_count":178,"open_issues_count":6,"forks_count":40,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-02-01T19:02:26.593Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"googlefonts/sfntly","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rillig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-03T21:17:37.000Z","updated_at":"2025-01-18T19:51:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rillig/sfntly","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rillig/sfntly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rillig%2Fsfntly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rillig%2Fsfntly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rillig%2Fsfntly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rillig%2Fsfntly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rillig","download_url":"https://codeload.github.com/rillig/sfntly/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rillig%2Fsfntly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279173258,"owners_count":26119035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-02-01T19:01:22.651Z","updated_at":"2025-10-16T09:32:04.557Z","avatar_url":"https://github.com/rillig.png","language":"Java","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# sfntly\n\nThis project is not developed any further.\nFor a font renderer, have a look at Apache PDFBox.\n\n# Archived description\n\nsfntly is pronounced \"ess-font-lee.\"\n\nThe sfntly project contains Java and C++ libraries for reading, editing, and writing sfnt container fonts (OpenType, TrueType, AAT/GX, and Graphite.)\n\nsfntly libraries are not by themselves tools that are usable by end users. \nThey are libraries that allows software developers to build tools that manipulate fonts, in ways that haven't been easily accessible to most developers before the project started.\n\nHowever, the project includes some end user tools that are built on top of sfntly: \na font subsetter, font dumper, a font linter, and some compression utilities.\n\nThe uses of sfntly are really anything that you can think of that involves reading and/or editing fonts. \nUsing sfntly you can read and extract any of the tables in a font. \nThe tables are the individual data structures within the font for each of the features and functionality: \nglyph outlines, character maps, kerning, meta data, etc. \nIf you look over the OpenType and TrueType specifications, you will see a number of categories of tables. \nsfntly currently supports all of the tables required by these specifications (the TrueType outline tables, bitmap glyph tables, and a couple of the other miscellaneous tables.)\nThis level of support provides for many of the needs developers have related to the informational reading of font data. \nIt also covers a lot of the editing needs.\n\nThe Java library was initially created by Stuart Gill, within Google's i18n Font and Text Team.\nThe Java version was the core library used to power the Google Fonts AP from 2010 to 2015, .\nThere it was used for all font manipulation - to read font data, to pull apart fonts, and to then reassemble them before they are streamed out to a user. \nPortions of the font that are not needed - specific glyph ranges or features - were stripped using sfntly to minimize the size of the served font. \n\nThe partial C++ port was done by the Chrome team.\nIt is used somewhat similarly within Chrome to subset fonts for insertion into a PDF for viewing or printing. \nThough the features stripped from the font are different in Chrome than in Google Fonts, because the end use is different.\n\nIt was made open source in June 2011 and you are welcome to use it in your projects.\n\nHave fun!\n\n# See also\n\n* https://github.com/Jolg42/awesome-typography\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frillig%2Fsfntly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frillig%2Fsfntly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frillig%2Fsfntly/lists"}