Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.mathworks.com!zombie.ncsc.mil!newsgate.duke.edu!news-feed-1.peachnet.edu!paperboy.wellfleet.com!news3.near.net!amber.ora.com!not-for-mail
From: [email protected] (Norman Walsh)
Newsgroups: comp.fonts,comp.answers,news.answers
Subject: comp.fonts FAQ: X11 Info
Supersedes: <[email protected]>
Followup-To: poster
Date: 14 Aug 1996 10:35:29 -0400
Organization: O'Reilly and Associates, Inc.
Lines: 227
Sender: [email protected]
Approved: [email protected]
Distribution: world
Expires: 27 Sep 1996 14:34:08 GMT
Message-ID: <[email protected]>
References: <[email protected]>
Reply-To: [email protected] (Norman Walsh)
NNTP-Posting-Host: ruby.ora.com
Summary: This posting answers frequently asked questions about fonts.
        It addresses both general font questions and questions that
        are specific to a particular platform.
X-Web-Homepage: http://www.ora.com/homepages/comp.fonts/
Xref: senator-bedfellow.mit.edu comp.fonts:48312 comp.answers:20526 news.answers:79247

Archive-name: fonts-faq/part15
Version: 2.1.5

Subject: 10. X11 Information

 This section needs a lot of work.  At the time of this release, I'm not
 in a position to write it so I'm leaving it basically blank.  Even if
 you don't have time to write it, if you know what should be in this
 section, please forward it to norm.

Subject: 10.1. Getting X11

 The standard location for X software is ftp.x.org.

Subject: 10.2. Historical Notes about X11

 The X Window System has been in widespread use through releases 3, 4,
 and now 5 of X Version 11.

 Fonts weren't really treated by the X Consortium very well until X11
 release 5 (X11R5).  In X11R3 and X11R4, the default format used by the X
 servers was called SNF (server normal format). Basically the font was
 formatted on disk in such a way that the X server could quickly read and
 use it (it was basically a memory-dump).  The important element of the
 SNF format is that it was not a portable format: it depended on the
 architecture of the machine running the server (little endian vs. big
 endian, for example) and as a consequence you needed different directory
 structures for different systems on your network.  On top of that,
 several systems vendors implemented their own font format, making font
 portability even more difficult.

 With X11R5, two things changed: the font service protocol was defined as
 a standard and interoperable way for an X server to obtain fonts
 (independent of their format, origin, or current location on disk) and
 the default format for storing fonts was changed from SNF to PCF
 (Portable Compiled Font).  PCF is a format originally developed by DEC.
 Its primary advantage is that it is not architecture dependent.  That
 is, if you compile a font to PCF format on different systems, then you
 may end up having two different PCF files, but each system will be able
 to read the other's file correctly.

Subject: 10.3. X11 Font Formats

 There are many different font formats that can play a role in an X11
 system configuration.  The following table summarizes some of the
 common formats:

    * BDF

      The Bitmap Distribution Format (BDF) is the standard format for
      distribution of fonts. It is an ASCII format so it can easily be
      edited it with your favourite editor or E-mailed to other users.
      As the name suggests, it stores bitmap fonts only.

      Another virtue of the BDF format is that most font format
      converters convert to or from this format. Means if you want to go
      from format A to format B, neither of which is BDF, then you are
      likely to convert A to BDF, then BDF to B.

      The BDF format is defined by Adobe.  A document describing the
      format is available by ftp from Adobe's file server at
      "[email protected]".  It is also available in the standard X
      distribution.  Look under ../X11R4(5)/mit/hardcopy/BDF.  This
      document is also reproduced in any text describing the X standard.

    * SNF

      The Server Normal Format (SNF) is an older format for bitmap
      fonts. The format is X Server and host dependent.  This means that
      if you have two SNF files, their actual format may be different.
      Also, if you have an "snftobdf" utility, it may not be able to
      read font files from other systems.  Convert to BDF format before
      you move it off the host system.

      Snftobdf is one utility that can generate a BDF file from a SNF
      file.  It was part of the X11R4 contrib release.  To compile under
      X11R5, you need some of the X11R4 snf include files.

    * PCF

      The Portable Compiled Font (PCF) format is a binary format for
      bitmap fonts.  The binary contains sufficient information to be
      readable by other systems.

    * PHIGS

      These fonts are only applicable in PEX environments.  PHIGS fonts
      don't really have any relationship to the normal X font mechanism.

    * DWF

      The DECWindows Fonts (DWF) are bitmap fonts.

    * Intellifont

      These are HP scalable fonts.

    * PFA/PFB

      These are Adobe Type 1 PostScript fonts.

      They can be used in X11R5 based X servers and font servers because
      IBM has donated a renderer for this format to the X Consortium.
      The renderer can be found on the X11R5 contrib, and on ftp.x.org.

    * Speedo

      This is a format from Bitstream, Inc. Bitstream has also donated a
      font renderer to the X Consortium, and a couple of fonts.

      I have been told that in order to use commercial fonts from
      BitStream, you must patch the renderer somewhat to make it use the
      right decryption code for the font.

    * FB

      These are Sun X11/NeWS format bitmap fonts used by the Sun
      OpenWindows system.

      You can use "convertfont" which comes with OpenWindows to convert
      to/from BDF.

    * F3/F3B

      This is the scalable Sun Folio format, also used by OpenWindows.

      You can use "convertfont" to convert to (not from) BDF.

Subject: 10.4. X11 Font Server

 X11 Release 5
 =============

 With X11 Release 5, the X Consortium has created a network-based
 standard font protocol. As a user of the X Window System, you have an X
 server on your desktop, which does the interface between the hardware
 (screen, mouse, keyboard), and the X network protocol. This X server
 needs fonts.  Before X11R5, the only way it could get to those fonts
 was to make font directories readable for the X server on that host,
 either by NFS-mounting or by copying.

 With the X Font Service protocol, you just tell your X server that it
 must use the services of a font server, which is a daemon process
 sitting on a host on your network. The font server is a program which
 talks a standardized protocol on the network, and which is capable of
 reading several font formats.

 The font server sources are modular, such that it is easy to add a
 renderer for an additional font format to the existing code. This is
 obviously also the intention: the X Consortium provides the core
 technology, and supposes that all systems vendors will add font
 renderers for their proprietary formats to the code, and then ship that
 to their customers.

 If you have a multi-vendor environment, then you are supposed to run a
 font server on every host that carries the font files. Then all of the
 X servers on your network can put all the fonts they need in their font
 path. Automatically, IBM fonts will be requested from the font server
 on an IBM host, DEC fonts from a DEC host, etc.

 Other benefits of using font server technology include the ability of
 the font server to implement caching, provide for fault-tolerant setup,
 etc.

 A final example of the good use of the font server is the combination
 of a font server with a Type 1 font renderer. As mentioned above, IBM
 donated a Type 1 font renderer which can easily be built into the X
 font server. As the Type 1 font format, and the ATM format are the same,
 it is perfectly possible to use commercial ATM fonts with the X Window
 System.  See also /contrib/fonts/lib/font/Type1/ in the X11
 distribution.

 X11 Release 6
 =============

 The X11R6 font server is very similar to the X11R5 server described
 above.  Under X11R6, the font server has been renamed to xfs and the
 Type 1 rendering engine is now incorporated into the base
 distribution--it is no longer a contributed package.

Subject: 10.5. Fonts and utilities for X11

 Here's a quick list of possible steps to get from "what you got" to X:

    * Mac format bitmaps:

      No idea.  If you know how to read a Mac format bitmap file on some
      other platform, please tell norm.

    * PC format bitmaps:

      Conversion to BDF is possible from TeX PK format and LaserJet
      softfont format.  Other conversions are also within the realm of
      possibility.  Feel free to ask norm for more information if you
      have a specific conversion in mind.

    * TeX PK format bitmaps:

      PKtoBDF gets us directly to BDF format from here.

    * Mac format postscript:

      Under MS-DOS, conversion to PC format postscript allows the font to
      be accessed with PS2PK (under *nix or MS-DOS).  See above for TeX
      PK to X conversions.

    * PC/Unix format PostScript

      Conversion to TeX PK with PS2PK allows you to get to BDF
      (indirectly).

    * XtoBDF, getbdf, FStoBDF

      XtoBDF and getbdf are two public-domain applications which are
      capable of asking an X server to give them all it knows about a
      given font. They then print the BDF representation of that font on
      stdout.

      You can use these if you have an X server that can read some font
      file, but nothing else can.

      FStoBDF is distributed with X11R5.

      If you use one of these programs, you may actually be converting a
      scalable font into a bitmap font, but converting a bitmap font to a
      scalable one is not currently possible.