Hi all, WHAT IS IT ALL ABOUT On 2020-02-13, FPC approved a rewrite of our fonts packaging guidelines. The previous guidelines were more than a decade old, technically outdated, relying on packages dropped from Fedora, and badly damaged during wiki to asciidoc migration. The new guidelines took 2 years to design, automate, test and write. The reviewing itself took 4 to 5 months. STATUS The guidelines are now published (grammar fixes welcome as a PR): https://docs.fedoraproject.org/en-US/packaging-guidelines/FontsPolicy/ Their tech core made the F32 freeze deadline. https://koji.fedoraproject.org/koji/packageinfo?packageID=30775 It has been queued to F31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-296917559c A significant set of pre-existing font packages have been converted in F32 (a few, only in F33). A significant set of new font packages have been added to F32 and F33 (huge thanks to Parag Nemade for a long list of repetitive reviews). No EL8 backport is planned for now, because the redhat-rpm-config version in EL8 is too old, and requires @rh engineering approval to be updated. Ping me if you want to work on EL-ing – I won’t. COMPATIBILITY Existing font packages are unchanged and can still rebuild as-is. Packagers are expected to migrate to new guidelines during F32 and F33. Legacy compatibility logic will be removed in F34. It is not equivalent feature and correctness wise with the new logic. CHANGES FOR OTHER PACKAGES No changes, EXCEPT FOR PACKAGES RELYING ON SPECIFIC FONT FILE PATHS. Unfortunately, some font upstreams can not make up their mind, on whether to publish fonts in dedicated projects, as part of collections, or as part of something else. To limit the effect of such changes, our font file layout has been changed to be completely srpm-independant. The resulting layout should now be more stable. However, users of the previous layout, need to change their symlinks or configuration files. Maintainers of existing font packages, should avoid pushing updates built with the new logic, to previous releases. It is still strongly recommended to migrate apps to fontconfig and harbuzz-ng. OpenType lets upstreams change the way they ventilate data among font files. Sometimes, this relayouting is required to implement new OpenType capabilities. fontconfig and harbuzz-ng isolate applications from a lot of font and text complexities. CHANGES FOR FONT PACKAGE USERS No direct change. However, most converted font packages were updated to the latest upstream version as part of the conversion. This update can include major upstream changes (for example, Google Droid and STIX engineering fonts). Existing fontconfig rules were also streamlined and completed. Both of those can lead to user-visible changes. CHANGES FOR FONT PACKAGERS The font family model to the latest OpenType recommendation. PLEASE DO READ AND APPLY THE GUIDELINES FONT FAMILY DEFINITION. OpenType, CSS and fontconfig are architected around this model, and build new features around it. Font packages that choose a different convention will cause problems in apps. They will need backwards- breaking changes once their upstream implements various OpenType enhancements. The new guidelines no longer assumes upstreams will create a nice dedicated project for each font family. Fonts can be packaged as dedicated projects, as part of a collective project, or as part of something else, with the same spec blocks. Appstream generation and testing is now automated (no more need to write appstream files or synchronise appstream file state with spec state by hand). Primitives are provided to easily create font collection metapackages. Guidelines should now cover a lot more cases, so you don’t need to locate a font expert to create or review font packages. NEXT CHANGES Lots of work with fontconfig upstream and major text users like LibreOffice or Inkscape, to fix more upstream font problems at the fontconfig level, with less fontconfig boilerplate, and better use of the result by apps (IBM Plex Sans requires more the 4000 lines of fontconfig fixes). OpenType and CSS continue to standardise enhancements that assume the previous recommendations were applied strictly. That means that messy upstreams will cause more and more problems application-side unless fontconfig is enhanced to fix more of those by default. In particular, many previously minor transgressions break in presence of variable fonts (variable compatibility mecanisms rely on strict metadata use by fixed fonts). NEW PACKAGES STILL PENDING REVIEW – Some major Google font families: typetogether-literata-fonts A contemporary serif font family for long-form reading https://bugzilla.redhat.com/show_bug.cgi?id=1805992 sorkintype-merriweather-fonts A warm space-saving serif font family https://bugzilla.redhat.com/show_bug.cgi?id=1805974 sorkintype-merriweather-sans-fonts A low-contrast semi-condensed sans-serif font family https://bugzilla.redhat.com/show_bug.cgi?id=1805988 catharsis-cormorant-fonts A display serif font family inspired by the Garamond heritage https://bugzilla.redhat.com/show_bug.cgi?id=1805681 ndiscover-exo-2-fonts A contemporary geometric sans serif font family https://bugzilla.redhat.com/show_bug.cgi?id=1805756 production-type-spectral-fonts An efficient and versatile serif font family https://bugzilla.redhat.com/show_bug.cgi?id=1805768 ossobuffo-jura-fonts A sans-serif font family in the Eurostile vein https://bugzilla.redhat.com/show_bug.cgi?id=1805763 google-rubik-fonts A sans serif font family with slightly rounded corners https://bugzilla.redhat.com/show_bug.cgi?id=1805731 – Other fonts: uswds-public-sans-fonts A strong, neutral, principles-driven, sans-serif latin font family https://bugzilla.redhat.com/show_bug.cgi?id=1805996 typesetit-great-vibes-fonts A beautifully flowing cursive font family https://bugzilla.redhat.com/show_bug.cgi?id=1805991 Those are direct cut and pastes of the new Fedora font packaging templates, they’re easy (if tedious) reviews. So, good way to get reviewing karma points. EXISTING PACKAGES NEEDING NEW REVIEW pt-sans-fonts A grotesque pan-Cyrillic font family https://bugzilla.redhat.com/show_bug.cgi?id=1805779 (renaming review) EXISTING REVIEW REQUESTS NEEDING CONVERSION TO NEW GUIDELINES intel-clear-sans-fonts A sharp on-screen sans-serif font https://bugzilla.redhat.com/show_bug.cgi?id=1795974 Alternative if it stalls: https://bugzilla.redhat.com/show_bug.cgi?id=1811295 cwtex-q-fonts A series of modern traditional Chinese fonts https://bugzilla.redhat.com/show_bug.cgi?id=1094015 hack-fonts A typeface designed for source code https://bugzilla.redhat.com/show_bug.cgi?id=1258542 (that does not change the build from sources part, but this part is still a SHOULD not a MUST in our guidelines) abhaya-libre-fonts Libre version of FM Abhaya font https://bugzilla.redhat.com/show_bug.cgi?id=1750045 hfg-gmuend-openmoji-color-fonts Emojis with a line-drawn style https://bugzilla.redhat.com/show_bug.cgi?id=1803059 I can review those when they are ready. Just ping me (I require at least two clean new font packages to sponsor new packages). CONVERSIONS PENDING PR impallari-raleway-fonts https://src.fedoraproject.org/rpms/impallari-raleway-fonts/pull-request/1 cascadia-code-fonts https://src.fedoraproject.org/rpms/cascadia-code-fonts/pull-request/1 NEW AND CONVERTED FONT PACKAGES Available in F32 or F33. That should bring packaging to 100% for GFS and SIL (some SIL packages not converted yet, and one GFS font with problem licensing upstream not packaged). adf-accanthis-2-fonts adf-accanthis-3-fonts adf-accanthis-fonts adf-tribun-fonts bitstream-vera-sans-fonts bitstream-vera-sans-mono-fonts bitstream-vera-serif-fonts dejavu-lgc-sans-fonts dejavu-lgc-sans-mono-fonts dejavu-lgc-serif-fonts dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts ecolier-court-fonts ecolier-lignes-court-fonts gfs-ambrosia-fonts gfs-artemisia-fonts gfs-baskerville-fonts gfs-bodoni-classic-fonts gfs-bodoni-fonts gfs-complutum-fonts gfs-decker-fonts gfs-didot-classic-fonts gfs-didot-display-fonts gfs-didot-fonts gfs-eustace-fonts gfs-fleischman-fonts gfs-galatea-fonts gfs-garaldus-fonts gfs-gazis-fonts gfs-goschen-fonts gfs-ignacio-fonts gfs-jackson-fonts gfs-neohellenic-fonts gfs-neohellenic-math-fonts gfs-nicefore-fonts gfs-olga-fonts gfs-orpheus-classic-fonts gfs-orpheus-fonts gfs-orpheus-sans-fonts gfs-philostratos-fonts gfs-porson-fonts gfs-pyrsos-fonts gfs-solomos-fonts gfs-theokritos-fonts glyphography-newscycle-fonts google-droid-sans-fonts google-droid-sans-mono-fonts google-droid-serif-fonts google-go-fonts google-go-mono-fonts google-go-smallcaps-fonts ht-alegreya-fonts ht-alegreya-sans-fonts ibm-plex-fonts ibm-plex-sans-fonts ibm-plex-mono-fonts ibm-plex-serif-fonts ibm-plex-sans-thai-looped-fonts impallari-dancing-script-fonts jetbrains-mono-fonts senamirmir-fantuwua-fonts senamirmir-hiwua-fonts senamirmir-jiret-fonts senamirmir-tint-fonts senamirmir-washra-fonts senamirmir-wookianos-fonts senamirmir-yebse-fonts senamirmir-yigezu-bisrat-goffer-fonts senamirmir-yigezu-bisrat-gothic-fonts senamirmir-zelan-fonts sil-alkalami-fonts sil-andika-compact-fonts sil-andika-fonts sil-andika-new-basic-fonts sil-annapurna-fonts sil-apparatus-fonts sil-awami-nastaliq-fonts sil-busra-bunong-fonts sil-busra-diagnostic-fonts sil-busra-dict-fonts sil-busra-dot-fonts sil-busra-fonts sil-busra-high-fonts sil-busra-moe-fonts sil-busra-xspace-fonts sil-charis-compact-fonts sil-charis-fonts sil-dai-banna-fonts sil-ezra-fonts sil-ezra-sr-fonts sil-gentium-plus-compact-fonts sil-gentium-plus-fonts sil-harmattan-fonts sil-mondulkiri-fonts sil-namdhinggo-fonts sil-oureang-fonts sil-ratanakiri-fonts sil-shimenkan-fonts sil-sophia-nubian-fonts sil-tagmukay-fonts sil-tai-heritage-pro-fonts stix-fonts symbian-m-yuppy-gb-fonts vernnobile-muli-fonts vernnobile-nunito-fonts vernnobile-oswald-fonts wagesreiter-patrick-hand-fonts weiweihuanghuang-work-sans-fonts yanone-kaffeesatz-fonts Regards, -- Nicolas Mailhot _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx