Allsorts is already powering font loading and shaping in Prince, but there's still plenty more to implement. We welcome contributions of many forms including code, documentation, test cases, and language-specific guidance.
Follow the contribution workflow for submitting changes to the codebase. Or raise an issue to report a bug, or discuss a possible change.
Follow these steps to contribute to the project:
- Within your fork, create a branch for your contribution. Use a meaningful name.
- Create your contribution, meeting all contribution quality standards.
- Ensure all the tests pass (
cargo test
). - Create a pull request
against the
master
branch of the repository. - Once the pull request is reviewed and CI passes, it will be merged.
Most quality and style standards are checked automatically by the CI build. Contributions should:
- Separate each logical change into its own commit.
- Include tests for any new functionality in your pull request.
- Document public functions.
- Format code with
cargo fmt
. - Avoid adding
unsafe
code. If it is necessary, provide an explanatory comment on anyunsafe
block explaining its rationale and why it's safe. - Add a descriptive message for each commit. Follow these commit message guidelines.
- Document your pull requests. Include the reasoning behind each change, and the testing done.