{"id":15018271,"url":"https://github.com/abelcheung/font-coverage","last_synced_at":"2025-04-09T19:42:56.276Z","repository":{"id":12975530,"uuid":"15654166","full_name":"abelcheung/font-coverage","owner":"abelcheung","description":"Perl script for checking Unicode coverage of Truetype / Opentype fonts","archived":false,"fork":false,"pushed_at":"2019-09-11T20:05:36.000Z","size":53,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T20:52:43.072Z","etag":null,"topics":["font","font-coverage","fonts","perl-script","ttc","ttf","ttf-fonts"],"latest_commit_sha":null,"homepage":null,"language":"Perl 6","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abelcheung.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-05T16:14:34.000Z","updated_at":"2024-01-09T15:28:39.000Z","dependencies_parsed_at":"2022-09-16T10:41:31.184Z","dependency_job_id":null,"html_url":"https://github.com/abelcheung/font-coverage","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abelcheung%2Ffont-coverage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abelcheung%2Ffont-coverage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abelcheung%2Ffont-coverage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abelcheung%2Ffont-coverage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abelcheung","download_url":"https://codeload.github.com/abelcheung/font-coverage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248101284,"owners_count":21047947,"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","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":["font","font-coverage","fonts","perl-script","ttc","ttf","ttf-fonts"],"created_at":"2024-09-24T19:51:46.205Z","updated_at":"2025-04-09T19:42:56.257Z","avatar_url":"https://github.com/abelcheung.png","language":"Perl 6","funding_links":[],"categories":[],"sub_categories":[],"readme":"# font-coverage 0.3\n\nThis script is for scanning font files and listing their unicode coverage by unicode blocks. Currently truetype fonts (TTF), opentype fonts (OTF) and truetype collections (TTC) are supported.\n\nIt is inspired from the versatile [FontForge](http://fontforge.org/) suite (actual Unicode characters covered by font is listed under `Element` \u0026rarr; `Font Info`), as well as [ttfcoverage](http://everythingfonts.com/ttfcoverage) website.\n\n### Requirement\n\n* [Font::TTF](http://search.cpan.org/~mhosken/Font-TTF-1.03/) Perl module\n* [Text::CSV](http://search.cpan.org/~makamaka/Text-CSV-1.32/) (optional, to produce CSV output)\n\nNote that due to certain bug in Font::TTF this script may not be able to read all fonts embedded inside TTCs. This is fixed in Font::TTF 1.04.\n\n### Usage\n\n    font-coverage.pl [option…] FONT_FILE…\n\nInvoking `font-coverage.pl -h` produces a list of options.\n\n#### Usage example\n\nPrint statistics of each font separately\n\n    # font-coverage.pl a.ttf dir/b.otf moredir/c.ttc\n\nPrint combined statistics\n\n    # font-coverage.pl -c a.ttf dir/b.otf moredir/c.ttc\n\nUsing Unicode 5.2.0 as basis, generate CSV output, plus demonstrating other options\n\n    # font-coverage.pl -i -s -z -u 5.2.0 a.ttf\n\nRunning the script on [Musica](http://users.teilar.gr/~g1951d/) truetype font produces output like:\n\n```\n..............\nGeometric Shapes (U+25A0-U+25FF) =\u003e 96 / 1 / 0\nMiscellaneous Symbols (U+2600-U+26FF) =\u003e 256 / 7 / 0\nByzantine Musical Symbols (U+1D000-U+1D0FF) =\u003e 246 / 246 / 0\nMusical Symbols (U+1D100-U+1D1FF) =\u003e 220 / 220 / 11\nAncient Greek Musical Notation (U+1D200-U+1D24F) =\u003e 70 / 70 / 0\nSupplementary Private Use Area-A (U+F0000-U+FFFFF) =\u003e 0 / 0 / 58\n```\n\nNumbers appearing in output represents, in order:\n\n1. Total number of code points assigned for specific Unicode range\n1. Number of glyphs **assigned** in unicode standard for that range\n1. Number of glyphs **not assigned** in unicode standard for that range\n\nSo the output snippet above means all Music symbol related unicode ranges are 100% covered (though not for other ranges), and there are 11 extra glyphs in Musical Symbols not used by current version of Unicode.\n\n**Note**: all code points in Control Chars, Surrogates and Private Use Areas are treated as unassigned.\n\n\n### Support for other Unicode versions\n\nThe `-u` option allows one to compare the font against alternative versions of Unicode (by default 12.1.0 is used, as of 2019 ). Include files for latest update of all major Unicode versions (2.1 onwards) have been pre-generated, but if one somehow wants to compare against other versions, it is possible to invoke `gen-include-file.pl` to generate the ones you need. Please refer to the script itself for detail.\n\n### Todo\n\n* user options to show/hide PUA\n* ~~combined count of all fonts~~ (done)\n* points in No_block \u0026 non-unicode glyphs not handled\n* well defined codepoint ignore list\n* cross platform support\n* scan *all* fonts used by system to get an idea about the system\u0026rsquo;s unicode coverage in general, like what BabelMap does\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabelcheung%2Ffont-coverage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabelcheung%2Ffont-coverage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabelcheung%2Ffont-coverage/lists"}