{"id":17970260,"url":"https://github.com/bramstein/sfnt2woff-zopfli","last_synced_at":"2025-06-27T10:07:54.904Z","repository":{"id":22926722,"uuid":"26275772","full_name":"bramstein/sfnt2woff-zopfli","owner":"bramstein","description":"WOFF utilities with Zopfli compression","archived":false,"fork":false,"pushed_at":"2022-11-29T15:31:17.000Z","size":111,"stargazers_count":135,"open_issues_count":11,"forks_count":23,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-27T10:07:42.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bramstein.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-06T15:19:56.000Z","updated_at":"2025-04-28T10:37:38.000Z","dependencies_parsed_at":"2023-01-13T22:27:42.138Z","dependency_job_id":null,"html_url":"https://github.com/bramstein/sfnt2woff-zopfli","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/bramstein/sfnt2woff-zopfli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstein%2Fsfnt2woff-zopfli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstein%2Fsfnt2woff-zopfli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstein%2Fsfnt2woff-zopfli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstein%2Fsfnt2woff-zopfli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bramstein","download_url":"https://codeload.github.com/bramstein/sfnt2woff-zopfli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstein%2Fsfnt2woff-zopfli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262235783,"owners_count":23279567,"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":[],"created_at":"2024-10-29T15:02:36.078Z","updated_at":"2025-06-27T10:07:54.871Z","avatar_url":"https://github.com/bramstein.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create WOFF files with Zopfli compression\n\nThis is a modified version of the [sfnt2woff utility](https://people.mozilla.org/~jkew/woff/) that uses Zopfli as a compression algorithm instead of zlib. This results in compression gains of — on average — 5-8% compared to regular WOFF files. Zopfli generates compressed output that is compatible with regular zlib compression so the resulting WOFF files can be used everywhere.\n\n##Usage\n\nTo create a WOFF file from an OpenType files:\n\n    \u003e sfnt2woff-zopfli [-v \u003cmaj\u003e.\u003cmin\u003e] [-m \u003cmetadata.xml\u003e] [-n \u003citerations\u003e] [-p \u003cprivate.dat\u003e] \u003cotffile\u003e\n\nOptions:\n\n    -v \u003cmaj\u003e.\u003cmin\u003e     set font version number (major and minor, both integers)\n    -m \u003cmetadata.xml\u003e  include metadata from \u003cmetadata.xml\u003e (not validated)\n    -n \u003citerations\u003e    number of zopfli iterations (default = 15)\n    -p \u003cprivate.dat\u003e   include private data block\n\nTo decompress a WOFF file and write the OpenType file to stdout:\n\n    \u003e woff2sfnt-zopfli [-v | -m | -p] \u003cwoff\u003e\n\nOptions:\n\n    -v   write font version to stdout\n    -m   write WOFF metadata block to stdout\n    -p   write private data block to stdout\n\n## Compiling\n\nTo compile the utilities, run make:\n\n    \u003e make\n\nThis will compile two utilities `sfnt2woff-zopfli` to convert OpenType files to WOFF and `woff2sfnt-zopfli` to convert WOFF files back to OpenType files. If the build was succesful you can make them available on your system by copying the resulting executables to `/usr/local/bin` and making them executable (`chmod 755`).\n\n## Licensing\n\nThe WOFF portion of the code is taken from [sfnt2woff](https://web.archive.org/web/20170630235618/https://people-mozilla.org/~jkew/woff/), which is licensed under the MPL/GPL/LGPL. The [Zopfli implementation](https://code.google.com/p/zopfli/) is licensed under the Apache License. My modifications to `woff.c` are also licensed under the MPL/GPL/LGPL.\n\n## Alternative\n\nYou can also use the [ttf2woff tool](https://torinak.com/~jb/ttf2woff/), which also converts OpenType files to WOFF using Zopfli, but is exclusively licensed under the GPL.  However it doesn't have a command line option for the number of Zopfli iterations and thus can't create files as small as sfnt2woff-zopfli.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbramstein%2Fsfnt2woff-zopfli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbramstein%2Fsfnt2woff-zopfli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbramstein%2Fsfnt2woff-zopfli/lists"}