feat(developer): manage shared fonts 🐻
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
Fonts are currently difficult to manage in Keyman Developer projects, particularly because we want to share fonts between keyboards. The developer must either clone the entire keyboards repository, or else jump through convoluted hoops in order to properly use shared fonts.
Proposal, in short: allow packages to reference files from GitHub repos, not just local files. Then the compiler will download (and maybe cache) files. The keyboard author could reference, e.g. `https://github.com/keymanapp/keyboards/blob/master/release/shared/fonts/aegyptus/Aegyptus.otf`. (Query, should we use sha instead of branch names?)
Ideally, we can leverage an existing WSTech repository for this. Perhaps LFF. In theory, we could allow any URL in the .kps file. But we would probably want to have a whitelist for perf, stability, and security reasons for the keyboard repository.
This also resolves the single-keyboard-repo conundrum of how to share fonts.
It would be important to have a UI that helps keyboard devs to find the fonts as well.
# Things to do
- [x] #12667
- [ ] Update package schema min version for Source field support
- [ ] Caching of resources retrieved online (offline support?)
- [ ] A lot of work will need to be done with the Package Editor in TIKE to support this feature.
- [ ] Author documentation (once Package Editor has been updated)
- [ ] Add a keyboards repo action which does a verify against all names and reports on changes
- [ ] After reporting on changes, build a script to automatically update all keyboards that refer to a given font and open a PR
Contributor guide
Assessment
This issue has not been assessed yet.