[HEADS UP] Fonts packaging guidelines change status

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux