The bulk of Fedora software relies on OpenType compliance and was tested against compliant fonts.
Unfortunately, most font makers feel the OpenType specification is a document written by “software people” for “software people”. They spurn its recommendations. They can not be relied upon to release fonts in a software-friendly state, nor to fix the resulting problems, nor to provide useful advice.
To enable the packaging of fonts by non experts, <<Checklist>> provides a list of sanity rules. Most are short unambiguous one liners, easy to understand and apply. Do read this list, even if it feels long. Unless your upstream is a model of discipline, you WILL need it. Avoid <<Exceptions>> if you do not feel ambitious – here be dragons.
Once you sorted what to package using the checklist, the rpm-specific part of fonts packaging is simple:
take our spec templates,
fill in the blanks with descriptions and the file lists resulting from the sorting.
Fedora automation will do the rest.
<<Tooling>> provides in-depth documentation of those templates, and other operational tips. The operational tips are useful. The spec templates documentation, not so much. The templates are commented and will usually be self-explanatory.
Lastly, <<Rationale>> provides some help, in case a third party attempts to confuse you. A lot of upstreams are dead set against applying OpenType recommendations. They will provide elaborate argumentation, on why the common rule does not apply to them.
[x] Font files MUST comply with our https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Font_Licenses[licensing rules].
[x] Trademark uses MUST be authorized by their owners,
trademarks may occur in font naming or font content (logos…).
[x] Registered names or trademarks MUST NOT prevent downstream modifications,
requiring a rename on significant modification is acceptable.
Packaging unit: an ideal font family
Because fonts upstreams are, on average, extremely messy, a large part of packaging fonts involves sorting files and fixing font file metadata to produce the consistent and reliable font catalog expected by applications and users.