I'm working on integrating the updated font packages from the X.Org X11R7.5
release, and since those involve big changes anyway, I'm fixing several other
issues with our font packaging at the same time. What follows are my current
plans - they're open to change still if you've got objections or better ideas,
but I'd like to deliver to 129 next week, so sooner would be better than later
to bring those up. (Of course, that just sets in stone the delivery for 129,
and we can change again for later builds before 2010.03 ships.)
- Unifying font packages:
Currently SXCE includes SUNWxwfnt, SUNWxwcft, and SUNWxwoft for font
packages from X - these contain a subset of the current X.Org fonts,
not including many of the additional fonts or character sets added in
XFree86 or later X.Org release, but also include a mix of encumbered
fonts. Because of this, OpenSolaris releases have included a competely
separate set of font packages, the FSWxorg-font* packages that are
completely open source and include some fonts/encodings not in SXCE.
I've split all the open source fonts out of the old X font packages,
so that there is no overlap now between the two sets. The open source
packages, renamed to SUNWfont-* and SUNWttf-*, will be delivered to
both SXCE and OpenSolaris. SUNWxwfnt & SUNWxwoft will be delivered
just to SXCE, but will be able to be installed alongside the open source
versions without any conflicts. (Most of SUNWxwcft went into the
open source packages, the rest was merged into SUNWxwfnt.)
The new set of font package names:
SUNWfont-daewoo-misc
SUNWfont-isas-misc
SUNWfont-jis-misc
SUNWfont-misc-ethiopic
SUNWfont-misc-meltho
SUNWfont-xorg-cyrillic
SUNWfont-xorg-core
SUNWfont-xorg-iso8859-1
SUNWfont-xorg-iso8859-2
SUNWfont-xorg-iso8859-3
SUNWfont-xorg-iso8859-4
SUNWfont-xorg-iso8859-9
SUNWfont-xorg-iso8859-10
SUNWfont-xorg-iso8859-13
SUNWfont-xorg-iso8859-14
SUNWfont-xorg-iso8859-15
SUNWfont-xorg-iso8859-16
SUNWttf-bh-luxi
SUNWttf-bitstream-vera
SUNWttf-dejavu
SUNWttf-google-droid
SUNWttf-liberation
(As you can see I also did a little more refactoring to break them out a
little more for easier customization/minimization.)
- Adopting new standard locations:
The X11R7.5 font packages have changed their default install locations
to match where most Linux distros already installed them, and where we'd
decided to move them as part of PSARC/2009/482: Obsolescence of /usr/X11
The fonts will now be installed into subdirectories of /usr/share/fonts.
The bitmap & Type1 fonts that have traditionally been delivered with X
will be found in these directories:
/usr/share/fonts/X11:
100dpi 100dpi-ISO8859-* 75dpi 75dpi-ISO8859-*
cyrillic ethiopic misc misc-ISO8859-*
daewoo jiskan syriac
TrueType fonts (which X didn't traditionally deliver) will be in per
family subdirectories of /usr/share/fonts/TrueType, such as:
/usr/share/fonts/TrueType:
bh-luxi bitstream-vera dejavu google-droid liberation
The encumbered fonts from SUNWxwfnt & SUNWxwcft will be delivered under
/usr/share/fonts/sun to avoid clashes. (Currently we're left with just
F3bitmaps and HTbdf subdirectories there.)
- Uncompressing bdf fonts:
X can handle bdf fonts either uncompressed or compressed with one of
compress, gzip or bzip.
During Solaris 10 development we changed from .Z to uncompressed for
these fonts, since that improved performance, didn't result in much
increased disk space usage (many of the fonts were small enough that
the difference between compressed and uncompressed was less than a
8k block), and reduced install media size (since the SVR4 packages
could bzip2 the uncompressed fonts much more effectively than the
compressed ones).
When we upgraded the fonts from X11R6 to X11R7 versions, they got
gzipped, since that was automatically done in the upstream sources.
For X11R7.5, I fixed the configure scripts upstream to allow a
configure-time choice of compression methods, and have set our builds
to use --without-compression. This should allow better compression
and deduplication at the filesystem level, especially when dealing with
the fonts that are built into files for each ISO-8859-* locale, since
the characters for 0-127 should be the same in each variant of the font.
(ISO-8859-* locales all map to ASCII for 0-127, and differ in the values
for characters 128-255.)
This will also reduce unnecessary IPS thrashing, now that we'll be
delivering these packages to the main Nevada dock, and thus have to
have both SPARC & x86 SVR4 package deliveries, and redeliver every
build. The uncompressed fonts should checksum consistently between
platforms & builds, while the compression metadata would cause different
checksums, and thus detection of changes where none really occurred.
(Handling gzip metadata is IPS RFE #6189)
--
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering