{"id":16286157,"url":"https://github.com/wieslawsoltes/typefaceutil","last_synced_at":"2026-01-14T04:35:05.481Z","repository":{"id":41269792,"uuid":"275941008","full_name":"wieslawsoltes/TypefaceUtil","owner":"wieslawsoltes","description":"An OpenType typeface utilities.","archived":false,"fork":false,"pushed_at":"2024-07-24T21:33:18.000Z","size":170641,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-11T19:42:16.617Z","etag":null,"topics":["avalonia","avaloniaui","cmap","codepoint","converter","fonts","opentype","png","skiasharp","svg","text","ttf","typeface","unicode","xaml"],"latest_commit_sha":null,"homepage":"https://wieslawsoltes.github.io/TypefaceUtil/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wieslawsoltes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.TXT","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},"funding":{"github":["wieslawsoltes"]}},"created_at":"2020-06-29T22:37:44.000Z","updated_at":"2024-07-24T21:33:22.000Z","dependencies_parsed_at":"2024-07-24T22:15:09.267Z","dependency_job_id":null,"html_url":"https://github.com/wieslawsoltes/TypefaceUtil","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FTypefaceUtil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FTypefaceUtil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FTypefaceUtil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wieslawsoltes%2FTypefaceUtil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wieslawsoltes","download_url":"https://codeload.github.com/wieslawsoltes/TypefaceUtil/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221733848,"owners_count":16871977,"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":["avalonia","avaloniaui","cmap","codepoint","converter","fonts","opentype","png","skiasharp","svg","text","ttf","typeface","unicode","xaml"],"created_at":"2024-10-10T19:42:25.799Z","updated_at":"2026-01-14T04:35:05.446Z","avatar_url":"https://github.com/wieslawsoltes.png","language":"C#","funding_links":["https://github.com/sponsors/wieslawsoltes"],"categories":[],"sub_categories":[],"readme":"# TypefaceUtil\n\n[![Build Status](https://dev.azure.com/wieslawsoltes/GitHub/_apis/build/status/wieslawsoltes.TypefaceUtil?branchName=master)](https://dev.azure.com/wieslawsoltes/GitHub/_build/latest?definitionId=95\u0026branchName=master)\n[![CI](https://github.com/wieslawsoltes/TypefaceUtil/actions/workflows/build.yml/badge.svg)](https://github.com/wieslawsoltes/TypefaceUtil/actions/workflows/build.yml)\n\n[![NuGet](https://img.shields.io/nuget/v/TypefaceUtil.OpenType.svg)](https://www.nuget.org/packages/TypefaceUtil.OpenType)\n[![NuGet](https://img.shields.io/nuget/dt/TypefaceUtil.OpenType.svg)](https://www.nuget.org/packages/TypefaceUtil.OpenType)\n\n[![GitHub release](https://img.shields.io/github/release/wieslawsoltes/TypefaceUtil.svg)](https://github.com/wieslawsoltes/TypefaceUtil)\n[![Github All Releases](https://img.shields.io/github/downloads/wieslawsoltes/TypefaceUtil/total.svg)](https://github.com/wieslawsoltes/TypefaceUtil)\n[![Github Releases](https://img.shields.io/github/downloads/wieslawsoltes/TypefaceUtil/latest/total.svg)](https://github.com/wieslawsoltes/TypefaceUtil)\n\nAn OpenType typeface utilities.\n\n## About\n\nTypefaceUtil is a set of OpenType typeface utilities.\nCurrently supported are `cmap` table format parser for `character to glyph index mapping`, \ngeneration of character `png` map, `svg` and `xaml` export for glyphs.\n\n![4dsZT5hb3a](https://user-images.githubusercontent.com/2297442/126555807-1acf614d-a44e-40fc-bd60-5b0d6df4a10d.jpg)\n\n![mehzNi5G2T](https://user-images.githubusercontent.com/2297442/126555801-c63a3c0a-1092-451b-9c79-a964f4d7dfe7.jpg)\n\n## Usage\n\n```\nTypefaceUtil:\n  An OpenType typeface utilities.\n\nUsage:\n  TypefaceUtil [options]\n\nOptions:\n  -f, --inputFiles \u003cinputfiles\u003e              The relative or absolute path to the input files\n  -d, --inputDirectory \u003cinputdirectory\u003e      The relative or absolute path to the input directory\n  -p, --pattern \u003cpattern\u003e                    The search string to match against the names of files in the input directory [default: *.ttf]\n  --fontFamily \u003cfontfamily\u003e                  The input font family\n  -o, --outputDirectory \u003coutputdirectory\u003e    The relative or absolute path to the output directory\n  --zip                                      Create zip archive from exported files\n  --zipFile \u003czipfile\u003e                        The relative or absolute path to the zip file [default: export.zip]\n  --printFontFamilies                        Print available font families\n  --printCharacterMaps                       Print character maps info\n  --png, --pngExport                         Export text as Png\n  --pngTextSize \u003cpngtextsize\u003e                Png text size [default: 20]\n  --pngCellSize \u003cpngcellsize\u003e                Png cell size [default: 40]\n  --pngColumns \u003cpngcolumns\u003e                  Png number of columns [default: 20]\n  --svg, --svgExport                         Export text as Svg\n  --svgTextSize \u003csvgtextsize\u003e                Svg text size [default: 16]\n  --svgPathFill \u003csvgpathfill\u003e                Svg path fill [default: black]\n  --xaml, --xamlExport                       Export text as Xaml\n  --xamlTextSize \u003cxamltextsize\u003e              Xaml text size [default: 16]\n  --xamlBrush \u003cxamlbrush\u003e                    Xaml brush [default: Black]\n  --quiet                                    Set verbosity level to quiet\n  --debug                                    Set verbosity level to debug\n  --version                                  Show version information\n  -?, -h, --help                             Show help and usage information\n```\n\n```\nTypefaceUtil -h\n```\n```\nTypefaceUtil --pngExport -f segoeui.ttf\nTypefaceUtil --pngExport --fontFamily \"Segoe UI\"\n```\n```\nTypefaceUtil --svgExport -f seguisym.ttf\nTypefaceUtil --svgExport --fontFamily \"Segoe UI Symbol\"\n```\n```\nTypefaceUtil --xamlExport -f calibri.ttf\nTypefaceUtil --xamlExport --fontFamily \"Calibri\"\n```\n\n```\nTypefaceUtil -d C:\\Windows\\Fonts --png --svg --xaml -o export\nTypefaceUtil -d C:\\Windows\\Fonts --png --svg --xaml --zip --zipFile \"Windows-Fonts-IconPack.zip\"\n```\n\n## Build\n\n```\ndotnet build\n```\n\n## References\n\n* https://docs.microsoft.com/en-us/typography/opentype/spec/cmap\n* https://docs.microsoft.com/en-us/dotnet/api/skiasharp.sktypeface?view=skiasharp-1.68.1\n\n## License\n\nTypefaceUtil is licensed under the [MIT license](LICENSE.TXT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieslawsoltes%2Ftypefaceutil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwieslawsoltes%2Ftypefaceutil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwieslawsoltes%2Ftypefaceutil/lists"}