|
|
Line 1: |
Line 1: |
| {{CompactHeader|fonts-sig}}
| | #REDIRECT [[Packaging/FontsPolicy]] |
| | |
| == Legal considerations ==
| |
| | |
| The FLOSS font scene is still too young to have evolved common licensing conventions. As a result packaging fonts will often require more legal work than packaging your average FLOSS app. Before you continue, check our [[Legal_considerations_for_fonts| legal page]].
| |
| | |
| {{Anchor|build-from-sources}}
| |
| == Building from sources ==
| |
| | |
| Fonts '''SHOULD''' be built from source whenever upstream provides them in a source format<ref>As documented in our general [[Packaging/Guidelines#SourceRequirementExceptions|packaging guidelines]].</ref>. Automating the build ensures we'll be able to fix the fonts when problems are reported and upstream is not responsive. Sometimes that means working with upstream to sanitize its build processes.
| |
| | |
| {{Anchor|no-handler-deps}}
| |
| == Install-time dependencies ==
| |
| | |
| Font packages in a generic format (TTF, OTF) are resources and '''MUST NOT''' force the installation of a particular font handler through direct or indirect ''Requires''. Fonts can be used by many different software stacks, including outside an X11 context, you should not choose one of them in the stead of users.
| |
| | |
| Execution of stack-specific helpers in scriptlets is allowed, as long as it's conditioned on the presence of those helpers on the system, does not force their installation for the font package, and does not block package installation in their absence.
| |
| | |
| Likewise, installation of stack-specific configuration files is allowed, if they have no effect in the absence of this software stack, and are auto-discovered on installation of the software stack package.
| |
| | |
| {{Anchor|no-new-core-fonts}}
| |
| == Core fonts ==
| |
| | |
| Once upon a time every Linux GUI application used the so-called ''Core fonts'' server-side X11 backend<ref>Fonts accessed through the original ''core'' X protocol, using tools like ''mkfontdir'', ''xfs'', ''/etc/X11/fontpath.d/'', ''XLFD'' strings, etc. See also this [http://keithp.com/~keithp/talks/xtc2001/paper/ paper] written shortly before projects massively migrated to client-side fonts.</ref>. It was riddled with problems. The FLOSS developers finally gave up on it, declared it legacy and broken by design, and moved to client-side font handling (''fontconfig''). Nowadays almost no modern Linux GUI application uses the ''Core fonts'' backend. Few (if any) people are willing to fix its remaining bugs.
| |
| | |
| Therefore, unless your font has previously been registered in ''Core fonts'', and the problems triggered by this font hopefully fixed, you '''SHOULD NOT''' declare it there. This is especially true of fonts in modern (TTF or OTF) formats.
| |
| | |
| The users of this legacy backend won't thank you for destabilizing it with new fonts. They value stability. Otherwise they'd have moved to ''fontconfig'' like everyone else a long time ago.
| |
| | |
| {{Anchor|grouping}}
| |
| == Grouping ==
| |
| | |
| {{:Comps_fonts_rules}}
| |
| | |
| {{:Fonts_SIG_signature}}
| |
| [[Category:Fonts packaging|Packaging policy]]
| |