Skip to main content

Contributing

Read the contribution guide before you open an issue or a pull request. This project follows the Code of Conduct.

Report a bug​

Search the issues first. If nobody has reported the bug, open a new issue with:

  • the version of the library and of .NET,
  • the font, or a link to it,
  • the text and the TextOptions that you used,
  • what you expected, and what happened.

A small test case is the best way to show a layout bug.

Propose a change to the public API​

Open an issue that describes the change before you write the code. A maintainer must approve each public API addition or breaking change. The build checks the public API against src/PinataLabs.Typography/PublicAPI.Shipped.txt and fails if it differs.

Build and test​

You need the .NET 11 SDK, RC2 or later, and the .NET 8 and .NET 10 runtimes for the tests.

git clone https://github.com/PinataLabs/Typography
cd Typography
dotnet build PinataLabs.Typography.slnx -c Release
dotnet test PinataLabs.Typography.slnx -c Release

The build applies StyleCop and the .editorconfig rules, and treats warnings as errors.

Edit this documentation​

The site is in the docs-website folder of the repository, built with Docusaurus. Each page has an Edit this page link at the bottom.

To run the site on your machine you need Node.js 20 or later and pnpm:

cd docs-website
pnpm install
pnpm start

pnpm start serves the site at http://localhost:3000/Typography/ and reloads it when you save a page. pnpm run build makes the static site and fails on broken links.