{"id":25981334,"url":"https://github.com/sixlabors/fonts","last_synced_at":"2025-05-14T04:07:44.910Z","repository":{"id":37790184,"uuid":"80911587","full_name":"SixLabors/Fonts","owner":"SixLabors","description":":black_nib: Font loading and layout library.","archived":false,"fork":false,"pushed_at":"2025-04-26T07:32:35.000Z","size":30011,"stargazers_count":330,"open_issues_count":9,"forks_count":74,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-05-07T14:37:08.200Z","etag":null,"topics":["dotnet","font","netstandard","opentype","truetype","woff","woff2"],"latest_commit_sha":null,"homepage":"https://sixlabors.com/products/fonts","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/SixLabors.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"SixLabors","open_collective":"sixlabors"}},"created_at":"2017-02-04T10:16:12.000Z","updated_at":"2025-04-24T18:20:56.000Z","dependencies_parsed_at":"2025-04-19T03:42:51.409Z","dependency_job_id":"89b9e3ac-da79-4cd7-bb84-e42f7024cc4b","html_url":"https://github.com/SixLabors/Fonts","commit_stats":{"total_commits":1149,"total_committers":41,"mean_commits":"28.024390243902438","dds":0.4543080939947781,"last_synced_commit":"576725476bff4380c55daa5d6de521134764236c"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixLabors%2FFonts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixLabors%2FFonts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixLabors%2FFonts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixLabors%2FFonts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SixLabors","download_url":"https://codeload.github.com/SixLabors/Fonts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254069596,"owners_count":22009558,"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":["dotnet","font","netstandard","opentype","truetype","woff","woff2"],"created_at":"2025-03-05T08:25:27.775Z","updated_at":"2025-05-14T04:07:44.855Z","avatar_url":"https://github.com/SixLabors.png","language":"C#","funding_links":["https://github.com/sponsors/SixLabors","https://opencollective.com/sixlabors"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/SixLabors/Branding/main/icons/fonts/sixlabors.fonts.512.png\" alt=\"SixLabors.Fonts\" width=\"256\"/\u003e\n\u003cbr/\u003e\nSixLabors.Fonts\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/SixLabors/Fonts/build-and-test.yml?branch=main)](https://github.com/SixLabors/Fonts/actions)\n[![codecov](https://codecov.io/gh/SixLabors/Fonts/branch/main/graph/badge.svg)](https://codecov.io/gh/SixLabors/Fonts)\n[![License: Six Labors Split](https://img.shields.io/badge/license-Six%20Labors%20Split-%23e30183)](https://github.com/SixLabors/Fonts/blob/main/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/SixLabors/Fonts.svg)](https://github.com/SixLabors/Fonts/issues)\n[![GitHub stars](https://img.shields.io/github/stars/SixLabors/Fonts.svg)](https://github.com/SixLabors/Fonts/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/SixLabors/Fonts.svg)](https://github.com/SixLabors/Fonts/network)\n\n\u003c/div\u003e\n\n**SixLabors.Fonts** is a new cross-platform font loading and drawing library.\n\n## License\n  \n- Fonts is licensed under the [Six Labors Split License, Version 1.0](https://github.com/SixLabors/Fonts/blob/main/LICENSE)  \n\n## Support Six Labors\n\nSupport the efforts of the development of the Six Labors projects. \n - [Purchase a Commercial License :heart:](https://sixlabors.com/pricing/)\n - [Become a sponsor via GitHub Sponsors :heart:]( https://github.com/sponsors/SixLabors)\n - [Become a sponsor via Open Collective :heart:](https://opencollective.com/sixlabors)\n\n\n## Documentation\n\n- [Detailed documentation](https://sixlabors.github.io/docs/) for the Fonts API is available. This includes additional conceptual documentation to help you get started.\n- Our [Samples Repository](https://github.com/SixLabors/Samples/tree/main/ImageSharp) is also available containing buildable code samples demonstrating common activities.\n\n## Questions\n\n- Do you have questions? We are happy to help! Please [join our Discussions Forum](https://github.com/SixLabors/Fonts/discussions/category_choices).\n- Please read our [Contribution Guide](https://github.com/SixLabors/Fonts/blob/main/.github/CONTRIBUTING.md) before opening issues or pull requests!\n\n## Code of Conduct\nThis project has adopted the code of conduct defined by the [Contributor Covenant](https://contributor-covenant.org/) to clarify expected behavior in our community.\n\n## Installation\n\nInstall stable releases via Nuget; development releases are available via Feedz.io.\n\n| Package Name                   | Release (NuGet) | Nightly (Feedz.io) |\n|--------------------------------|-----------------|-----------------|\n| `SixLabors.Fonts`         | [![NuGet](https://img.shields.io/nuget/v/SixLabors.Fonts.svg)](https://www.nuget.org/packages/SixLabors.Fonts/) | [![feedz.io](https://img.shields.io/badge/endpoint.svg?url=https%3A%2F%2Ff.feedz.io%2Fsixlabors%2Fsixlabors%2Fshield%2FSixLabors.Fonts%2Flatest)](https://f.feedz.io/sixlabors/sixlabors/nuget/index.json) |\n\n## Manual build\n\nIf you prefer, you can compile Fonts yourself (please do and help!)\n\n- Using [Visual Studio 2022](https://visualstudio.microsoft.com/vs/)\n  - Make sure you have the latest version installed\n  - Make sure you have [the .NET 7 SDK](https://www.microsoft.com/net/core#windows) installed\n\nAlternatively, you can work from command line and/or with a lightweight editor on **both Linux/Unix and Windows**:\n\n- [Visual Studio Code](https://code.visualstudio.com/) with [C# Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp)\n- [.NET Core](https://www.microsoft.com/net/core#linuxubuntu)\n\nTo clone Fonts locally, click the \"Clone in [YOUR_OS]\" button above or run the following git commands:\n\n```bash\ngit clone https://github.com/SixLabors/Fonts\n```\n\nIf working with Windows please ensure that you have enabled log file paths in git (run as Administrator).\n\n```bash\ngit config --system core.longpaths true\n```\n\n### Submodules\n\nThis repository contains [git submodules](https://blog.github.com/2016-02-01-working-with-submodules/). To add the submodules to the project, navigate to the repository root and type:\n\n``` bash\ngit submodule update --init --recursive\n```\n\n### Features\n- Reading font description (name, family, subname etc plus other string metadata).\n- Loading OpenType fonts with with CFF1 and True Type outlines.\n- Loading True Type fonts.\n- Loading [WOFF fonts](https://www.w3.org/Submission/WOFF/).\n- Loading [WOFF2 fonts](https://www.w3.org/TR/WOFF2).\n- Load all compatible fonts from local machine store.\n- Support for line breaking based on [UAX 14](https://www.unicode.org/reports/tr14/)\n- Support for rendering left to right, right to left and bidirectional text.\n- Support for ligatures.\n- Support for advanced OpenType features glyph substitution ([GSUB](https://docs.microsoft.com/en-us/typography/opentype/spec/gsub)) and glyph positioning ([GPOS](https://docs.microsoft.com/en-us/typography/opentype/spec/gpos))\n\n## API Examples\n\n### Read font description\n\n```c#\nFontDescription description = null;\nusing(var fs = File.OpenRead(\"Font.ttf\")){\n    description = FontDescription.Load(fs); // once it has loaded the data the stream is no longer required and can be disposed of\n}\n\nstring name = description.FontName(CultureInfo.InvariantCulture);\n\n```\n\n### Populating a font collection\n\n```c#\nFontCollection fonts = new FontCollection();\nFontFamily font1 = fonts.Add(\"./path/to/font1.ttf\");\nFontFamily font2 = fonts.Add(\"./path/to/font2.woff\");\n\n```\n\n### How can you help?\n\nPlease... Spread the word, contribute algorithms, submit performance improvements, unit tests.\n\n### Projects using SixLabors.Fonts\n\n* [SixLabors.ImageSharp.Drawing](https://github.com/SixLabors/ImageSharp.Drawing) - cross platform, fully managed, image drawing library.\n\n### The SixLabors.Fonts Team\n\n- [Scott Williams](https://github.com/tocsoft)\n- [Dirk Lemstra](https://github.com/dlemstra)\n- [Anton Firsov](https://github.com/antonfirsov)\n- [James Jackson-South](https://github.com/jimbobsquarepants)\n- [Brian Popow](https://github.com/brianpopow)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixlabors%2Ffonts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsixlabors%2Ffonts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixlabors%2Ffonts/lists"}