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

shared font directory and font installation



[ I think this is best handled in FHS, but I am copying lsb-spec since
  this is somewhat of an application issue too. ]

One problem on Linux systems is that fonts are stored separately by
each application.  The drawbacks of this are:

 - Applications don't have easy access to every available and useful
   font (this is even more important for fonts you purchased, like
   TrueType fonts that come with Windows 95).

 - Some fonts may be installed more than once on a system.

The obvious problem faced when creating a single hierarchy for fonts
is that almost every existing application does things differently.
Extensive modifications to numerous applications would be necessary.

I think this proposal (the idea is from H. Peter Anvin) addresses that
problem.  After running this through FHS and LSB, I plan on discussing
it with L. Peter Deutsch, the TeX Directory Structure folks, and
anyone else that seems appropriate.  Also, if any of the participating
distributions want to comment (or in the case of Debian, discuss it
among yourselves), please feel free, but please remember that this is
the first draft.

First, I'd like to work out the kinks and hear what people think.

Note, however, that this proposal doesn't necessarily require *any*
changes to existing applications.

------------------------------------------------------------------------

/usr/share/fonts : directory for shared fonts

This directory is where font data should be stored, provided the font
data is:

  * architecture-independent
  * application-independent
  * usable by multiple applications, well-defined, etc.
  * not variable or transient

No files should be stored directly in /usr/share/fonts.  Top-level
subdirectories of /usr/share/fonts shall be named <font> where <font> is
the name of the font type.

Reserved type names include:

  * type1 - PostScript Type 1 fonts
  * psf   - PSF fonts
  * snf   - SNF fonts
  * ttf   - TrueType fonts
  * pk    - packed bitmap files

(This list should be expanded.)

The directory structure and naming system used under each <type>
hierarchy should be organized according to whatever standard exists for
organizing that particular font type.  For example, PostScript Type1
font files are usually stored directly under the type1 directory.  (When
possible and it makes sense to do so, we should try to specify the
sub-structure within the FHS.)

BEGIN_RATIONALE

This directory is intended to eliminate unnecessary duplication of fonts
on the system.  It will also help make more fonts available to each
application.

END_RATIONALE

/usr/lib/font-install : application-specific routines for font installation

This directory shall contain application-specific shell scripts to be
executed when fonts are installed and removed.  Shell scripts shall be
named according to the following convention:

   <application name>-install : post-installation scripts
   <application name>-delete  : post-deletion scripts

Whenever fonts are installed into /usr/share/fonts, each
post-installation script shall be executed.  Likewise, whenever fonts
are removed from /usr/share/fonts, each post-deletion script shall be
executed.

No arguments or input for these scripts are defined at this time.  All
arguments and input to these scripts are reserved for future use.  (I
plan to include arguments or input so scripts can be told which fonts or
at least font-types have been modified so less work may be required by
application font installers.)

BEGIN_RATIONALE

This directory is primarily intended to be a transition measure so
applications can easily be made to use the new shared font structure.
However, it is expected that /usr/lib/font-install will exist in one
form or another for some time.

END_RATIONALE

------------------------------------------------------------------------


Reply to: