https://central.sonatype.org/faq/what-is-different-between-central-portal-and-legacy-ossrh/ using Portal OSSRH Staging API https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/
- build using Java 20 (use toolchain because Gradle 8.1.1 does not support running and compiling on Java 20 because Kotlin does not support 20 as target version) - use temurin distribution as default because it is pre-installed on ubuntu-latest
- ci.yml: skip fonts in snapshot and release jobs - fonts.yml: build on all branches/PRs; publish snapshots - fixed version for font snapshots