[ 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 ------------------------------------------------------------------------
