Penguin
Diff: HowToTTDebian
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of HowToTTDebian.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 4 Last edited on Tuesday, October 26, 2004 4:44:10 pm by AristotlePagaltzis
Older page: version 3 Last edited on Monday, August 23, 2004 2:18:07 pm by PerryLorier Revert
@@ -1,1651 +1 @@
-  
-  
-!TrueType Fonts in Debian mini-HOWTO  
-  
-  
-  
-----  
-  
-!!!!TrueType Fonts in Debian mini-HOWTO  
-  
-!!Bear Giles,  
-bgiles@coyotesong.comv0.3, 10 January 2000  
-  
-  
-----  
-''This document describes how to configure a Debian system to  
-use !TrueType fonts for display and printing. The most recent  
-version of this document can be obtained in HTML format at  
-  
-http://www.dimensional.com/~bgiles/debian-tt.html''  
-----  
-  
-  
-  
-  
-!!1. Introduction  
-  
-  
-*1.1 Disclaimer  
-  
-*1.2 Credits  
-  
-*1.3 Additional links  
-  
-*1.4 Change log  
-  
-*1.5 Feedback  
-  
-*1.6 Related projects  
-  
-*1.7 Distribution  
-  
-  
-  
-  
-  
-!!2. Display (what they never told you)  
-  
-  
-*2.1 A look ahead to XFree86 4.  
-  
-*2.2 Review: Preparation before changing X configuration files.  
-  
-  
-  
-  
-  
-!!3. Display (X and the font servers)  
-  
-  
-*3.1 Setting up the xfs Font Server  
-  
-*3.2 Setting up the xfstt Font Server and installing !TrueType fonts  
-  
-*3.3 Using !TrueType fonts  
-  
-*3.4 Installing additional !TrueType fonts  
-  
-*3.5 Internationalization  
-  
-*3.6 Security Issues  
-  
-  
-  
-  
-  
-!!4. Printing (ghostscript)  
-  
-  
-*4.1 Configuring Ghostscript to use !TrueType fonts  
-  
-*4.2 Printing !TrueType font specimens  
-  
-  
-  
-  
-  
-!!5. Content Generation  
-  
-  
-*5.1 Generating AFM font metrics  
-  
-*5.2 Generating font.map files  
-  
-*5.3 Image manipulation: GIMP  
-  
-*5.4 ASCII to !PostScript conversion: enscript  
-  
-*5.5 Text Formatting and Typesetting: groff  
-  
-*5.6 Text Formatting and Typesetting: TeX  
-  
-  
-  
-  
-  
-!!6. Unanswered questions  
-  
-  
-  
-  
-!!7. Obtaining !TrueType Fonts  
-  
-  
-*7.1 A comment about using Microsoft's free !TrueType fonts  
-  
-  
-  
-  
-  
-!!8. Legalities  
-----  
-  
-!!1. Introduction  
-  
-  
-A Linux installation typically contains several independent sets of  
-fonts or font metrics. A quick glance at my system shows fonts or font  
-metrics spread across the following directories:  
-  
-  
-  
-  
-  
-*XFree86 stores its fonts in /usr/X11R6/lib/X11/fonts/  
-*  
-  
-*Ghostscript stores its fonts in /usr/lib/ghostscript/fonts/  
-*  
-  
-*TeX stores its fonts in /usr/lib/texmf/fonts/  
-*  
-  
-*The Debian kbd package stores its fonts in /usr/share/consolefonts/  
-*  
-  
-*Groff stores its metrics in /usr/share/font/devps/  
-*  
-  
-*Enscript (ASCII to !PostScript converter) stores its metrics  
-in /usr/share/enscript/*.afm  
-*  
-  
-  
-  
-Needless to say, these fonts are not coordinated.  
-  
-  
-!TrueType fonts are designed to eliminate this problem by allowing the  
-same font files to be used for both display and printing. This HOW-TO  
-attempts to show how to use !TrueType fonts for display, printing, and  
-document preparation on Debian GNU/Linux systems.  
-  
-  
-  
-  
-!!1.1 Disclaimer  
-  
-  
-  
-The information in this document is, to the best of my knowledge, correct.  
-However this HOWTO is still in preliminary versions and what works for  
-me may not work for you. Even if it does work for you, I am not a  
-professional technical writer and I have been known to gloss over critical  
-details.  
-  
-  
-So have fun, but play it safe and keep backups.  
-  
-  
-  
-  
-!!1.2 Credits  
-  
-  
-  
-Created by Bear Giles,  
-<bgiles@coyotesong.com>  
-  
-  
-Thanks go to:  
-  
-  
-* Brion Vibber,  
-  
-<brion@pobox.com>, who  
-wrote the  
-  
-(preliminary) !TrueType HOW-TO (http://pobox.com/~brion/linux/!TrueType-HOWTO.html)  
-*  
-  
-* Doug Holland,  
-  
-<meldroc@frii.com>,  
-who wrote the  
-  
-XFree86 Font Deuglification HOW-TO (http://www.frii.com/~meldroc/Font-Deuglification.html)  
-*  
-  
-  
-  
-  
-  
-!!1.3 Additional links  
-  
-  
-  
-These links don't directly discuss Debian systems or packages, but  
-they may still be interesting to readers of this mini-HOWTO.  
-  
-  
-  
-  
-  
-* Using !TrueType Fonts with !RedHat Linux  
-  
-(http://www.kegel.com/linux/tt.html)  
-  
-*  
-  
-* X Font Tools  
-  
-(http://www.hex.net/~cbbrowne/xfonts.html)  
-  
-*  
-  
-* Getting fonts to look pretty under GNU/Linux for applications like  
-!StarOffice  
-(http://king.ccrc.wustl.edu/~zubin/fonts.html)  
-  
-*  
-  
-*How to use True Type (c) fonts for !StarOffice Under Linux  
-  
-(http://www.mindspring.net/~john_mcl/adding_fonts.html)  
-  
-*  
-  
-  
-  
-  
-  
-!!1.4 Change log  
-  
-  
-  
-  
-  
-  
-*.1. Sept. 16, 1999: First release.  
-*  
-  
-*.2. Sept. 16, 1999: added "additional links" section.  
-*  
-  
-*.3. Jan. 10, 2000: reader feedback! Added clarification  
-of several details.  
-*  
-  
-  
-  
-  
-  
-!!1.5 Feedback  
-  
-  
-  
-Comments, corrections, additions and critiques are always welcome. You can  
-reach me at  
-bgiles@coyotesong.com.  
-  
-  
-  
-  
-!!1.6 Related projects  
-  
-  
-  
-  
-  
-  
-* !FreeType  
-http://www.freetype.org/  
-  
-  
-The !FreeType engine is a free and portable !TrueType font rendering engine.  
-The code is a clean-room implementation that is totally independent of  
-the Apple and Microsoft implementations. (A question has recently been  
-raised about a possible Apple ''patent'', however.) !FreeType is a  
-library, not a font server or a complete text rendering library.  
-  
-*  
-  
-  
-  
-  
-  
-!!1.7 Distribution  
-  
-  
-  
-This is the first draft and I expect it to change significantly  
-after publication, I ask that you refer to the latest version  
-at  
-http://www.dimensional.com/~bgiles/debian-tt.html.  
-The permanent home for this document will eventually be at  
-  
-http://www.coyotesong.com/  
-  
-  
-  
-----  
-  
-!!2. Display (what they never told you)  
-  
-  
-Before we dive into setting up !TrueType fonts under X, we should  
-review the difference between points and pixels... and why we care.  
-  
-  
-All displayed fonts are measured in ''points''. One inch is  
-exactly 72 points. Why 72? Partly because of the limitations of  
-mechanical typesetting machines and partly because it's evenly  
-divisible by 2, 3, 4, 6, 8, 9, 12, 18 and 24. It's also worth  
-noting that the default unit in !PostScript is one point.  
-  
-  
-(Historical note: I lied. Until the introduction of !PostScript  
-an inch was exactly 72.27 points, but that point size was set in  
-the era of mechanical printers with metal stamps in a handful  
-of standard sizes. With computer displays and laser printers,  
-it's easy to get fonts in any size and 72 makes ''much'' more  
-sense for the reason mentioned above.)  
-  
-  
-As a general rule, most text should be between 7 and 12 points.  
-Anything smaller than 6 points is literally "the fine print."  
-Line printers used 9 or 12 point type (for 8 or 6 lines/inch,  
-respectively).  
-  
-  
-In contrast, all video drivers must ultimately measure fonts in  
-''pixels''. To your video driver, your screen is 1024x800  
-pixels, not 10 by 8 inches (or 720 by 576 points).  
-  
-  
-To map from points (which we use to specify a font size) to pixels  
-(which we use to blit the video memory) we must know our screen's  
-resolution. This is usually measured in "dots per inch (dpi),"  
-although it's really pixels per inch. These are the units used in  
-the two sets of bitmap fonts included with XFree86: fonts-75 is  
-intended for use on low-end displays with a resolution of approximately  
-75 dpi, fonts-100 is intended for use on mid-range displays with  
-a resolution of approximately 100 dpi. There are no bitmap fonts  
-intended for use on high-end displays with a resolution of over 120 dpi.  
-  
-  
-As a concrete example, a 13" diagonal screen (11.1" usable)  
-displaying a 640x480 pixel image has a resolution of 72.0 dpi.  
-This Is Not A Coincidence. In fact, most web pages (and Microsoft  
-applications) are designed around a canonical display with a resolution  
-of exactly 72 dpi. XFree86's default configuration assumes a display  
-with a resolution of 75 dpi.  
-  
-  
-Back in the real world, nobody runs 640x480 video anymore. Nobody  
-uses 13" diagonal screens anymore. Since video cards have improved  
-faster than video monitors it's not uncommon to have a configuration  
-like mine: 19" diagonal screen, (17+" usable), 1600x1200 pixels,  
-117 dpi resolution.  
-  
-  
-If I run a stock X configuration, all of my fonts are approximately  
-2/3 of the intended size. It's not an exaggeration to say that  
-all fonts are cut down by a full size: large fonts (12 pts) appear  
-medium (9). Medium fonts (9 pts) appear small (6).  
-  
-  
-There are three things we can do to fix this. First, We should tell  
-the X server our actual screen resolution:  
-  
-  
-  
-  
-''/etc/X11/xdm/Xservers''  
-----  
-  
-#:0 local /usr/X11R6/bin/X -bpp 16  
-:0 local /usr/X11R6/bin/X -bpp 16 -dpi 120  
-  
-----  
-  
-  
-  
-Second, we should ensure that we use the 100 dpi bitmapped fonts  
-in preference to the 75 dpi fonts.  
-  
-  
-  
-  
-''/etc/X11/XF86Config''  
-----  
-  
-Section "Files"  
-!RgbPath "/usr/X11R6/lib/X11/rgb"  
-!FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/misc/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/Type1/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"  
-!EndSection  
-  
-----  
-  
-  
-  
-Finally, if one of our bitmapped fonts isn't an exact match the  
-X server will attempt to "scale" a similar font via pixel  
-replication. The results are rarely pleasant to use. Assuming we  
-have a reasonably powerful system, we can tell the server to  
-use scaled fonts by default, then bitmaps which are exact matches,  
-and scaled bitmaps as a last resort.  
-  
-  
-  
-  
-''/etc/X11/XF86Config''  
-----  
-  
-Section "Files"  
-!RgbPath "/usr/X11R6/lib/X11/rgb"  
-!FontPath "/usr/X11R6/lib/X11/fonts/Type1/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"  
-!FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"  
-!FontPath "/usr/X11R6/lib/X11/fonts/misc/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"  
-!FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"  
-!EndSection  
-  
-----  
-  
-  
-  
-  
-  
-!!2.1 A look ahead to XFree86 4.  
-  
-  
-  
-I've just been informed that XFree86 will support DDC communications,  
-if the video card and monitor both support it. This will allow the  
-X server to query the monitor for its physical dimensions and the  
-server will automatically compute the correct DPI setting.  
-  
-  
-You will still need to make the appropriate changes to your font path,  
-since the server should not second guess your explicit configuration.  
-  
-  
-  
-  
-!!2.2 Review: Preparation before changing X configuration files.  
-  
-  
-  
-Any time we make changes to the X11 configuration files, it's an  
-excellent idea to disable XDM by putting exit 0 somewhere  
-near the top of the file. If you don't do this and X is unable  
-to start for some reason, XDM will put your system into a nasty  
-busy loop that is an unspeakable pain to correct. You Have Been Warned.  
-  
-  
-  
-----  
-  
-!!3. Display (X and the font servers)  
-  
-  
-Strictly speaking, it is not absolutely necessary to set up font servers  
-to use !TrueType fonts with X servers. If you wish to use  
-static files instead of a font server, please see the instructions for  
-setting up !TrueType fonts for ghostscript.  
-  
-  
-  
-  
-!!3.1 Setting up the xfs Font Server  
-  
-  
-  
-At this point I assume you have a working /etc/X11/XF86Config  
-file that loads explicitly specifies each directory in the !FontPath.  
-We will convert it to use the xfs Font Server.  
-  
-  
-  
-  
-  
-*Install XFS  
-  
-  
-If you have not already done so, install main/binary-*/x11/xfs_*.deb.  
-  
-  
-  
-  
-*  
-  
-*Configure XFS  
-  
-  
-Edit /etc/X11/xfs/config and change the catalogue to  
-contain the contents of your !FontList. You may also wish to  
-change the default-resolutions value.  
-  
-  
-  
-  
-''/etc/X11/xfs/config''  
-----  
-  
-# paths to search for fonts  
-catalogue =  
-/usr/X11R6/lib/X11/fonts/100dpi/:unscaled,  
-/usr/X11R6/lib/X11/fonts/75dpi/:unscaled,  
-/usr/X11R6/lib/X11/fonts/misc/,  
-/usr/X11R6/lib/X11/fonts/Speedo/,  
-/usr/X11R6/lib/X11/fonts/Type1/,  
-/usr/X11R6/lib/X11/fonts/100dpi/,  
-/usr/X11R6/lib/X11/fonts/75dpi/  
-# x1,y1,x2,y2,...  
-default-resolutions = 100,100,75,75  
-  
-----  
-  
-  
-  
-  
-  
-*  
-  
-*Restart XFS  
-  
-  
-Restart XFS in the usual Debian manner:  
-  
-  
-  
-  
-''root shell''  
-----  
-  
-# /etc/init.d/xfs restart  
-  
-----  
-  
-  
-  
-  
-  
-*  
-  
-*Verify that XFS is working  
-  
-  
-Before we change our XF86Config file, we should verify that the xfs  
-server is working by listing them through the font server:  
-  
-  
-  
-  
-''user shell''  
-----  
-  
-$ fslsfonts -server unix/:7100  
--adobe-courier-bold-i-normal------m--iso8859-1  
--adobe-courier-bold-o-normal----100-100-m--iso8859-1  
--adobe-courier-bold-o-normal----75-75-m--iso8859-1  
-....  
-  
-----  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*Change /etc/X11/XF86Config to use xfs  
-  
-  
-We're now ready to tell the X server to use the xfs font server.  
-We keep one static font path as a fallback position in case of a problem  
-with xfs. (We keep "misc" since it contains fixed, the  
-default font.)  
-  
-  
-  
-  
-''/etc/X11/XF86Config''  
-----  
-  
-Section "Files"  
-!FontPath "unix/:7100"  
-!FontPath "/usr/X11R6/lib/X11/fonts/misc/"  
-!EndSection  
-  
-----  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*Restart X  
-  
-  
-Restart X with startx, unless you like living life dangerously.  
-If that's the case, name me the beneficiary of your unusually large life  
-insurance policy and restart xdm.  
-  
-  
-  
-  
-*  
-  
-*Verify that the XFS fonts are visible  
-  
-  
-Once we have an X session established, we can verify that our server  
-sees all of the xfs fonts by listing them through the X server.  
-  
-  
-  
-  
-''user shell''  
-----  
-  
-$ xlsfonts  
--adobe-courier-bold-i-normal------m--iso8859-1  
--adobe-courier-bold-o-normal----100-100-m--iso8859-1  
--adobe-courier-bold-o-normal----75-75-m--iso8859-1  
-....  
-  
-----  
-  
-  
-*  
-  
-  
-  
-  
-  
-  
-  
-  
-!!3.2 Setting up the xfstt Font Server and installing !TrueType fonts  
-  
-  
-  
-At this point I assume you have a working xfs font server and wish  
-to add !TrueType support via xfstt.  
-  
-  
-  
-  
-  
-*Install XFSTT  
-  
-  
-If you have not already done so, install main/binary-*/x11/xfstt_*.deb.  
-  
-  
-  
-  
-*  
-  
-*Installing the !TrueType Fonts  
-  
-  
-Copy your !TrueType fonts into the /usr/share/fonts/truetype  
-directory. These files usually have a .ttf extension, and they  
-should have 0444 permissions.  
-  
-  
-  
-  
-*  
-  
-*Restart the XFSTT Font Server  
-  
-  
-Restart the xfstt server with the force-reload flag  
-  
-  
-  
-  
-''root shell''  
-----  
-  
-# /etc/init.d/xfstt force-reload  
-  
-----  
-  
-  
-  
-  
-  
-*  
-  
-*Verify that XFSTT is working  
-  
-  
-Before we change our XF86Config file, we should verify that the xfstt  
-server is working.  
-  
-  
-''Important: the Debian xfstt server listens to  
-port 7101, not 7100. Also, the default permissions will require you  
-to run this query as root.''  
-  
-  
-  
-  
-''user and root shells''  
-----  
-  
-$ fslsfonts -server unix/:7101  
-_FSTransSocketUNIXConnect: Can't connect: errno = 111  
-fslsfonts: unable to open server "unix/:7101"  
-# fslsfonts -server unix/:7101  
--ttf-arial black-medium-r-normal-regular-----p--iso8859-1  
--ttf-arial mt black-medium-r-normal-regular-----p--iso8859-1  
--ttf-arial narrow-bold-i-normal-bold italic-----p--iso8859-1  
-  
-----  
-  
-  
-  
-  
-  
-*  
-  
-*Change /etc/X11/XF86Config to use xfstt  
-  
-  
-We're now ready to tell the X server to use the xfstt font server.  
-We want it to use !TrueType fonts in preference to all others.  
-  
-  
-  
-  
-''/etc/X11/XF86Config''  
-----  
-  
-Section "Files"  
-!FontPath "unix/:7101"  
-!FontPath "unix/:7100"  
-!FontPath "/usr/X11R6/lib/X11/fonts/misc/"  
-!EndSection  
-  
-----  
-  
-  
-  
-  
-  
-*  
-  
-*Verify that XFSTT fonts are visible  
-  
-  
-Once we have an X session established, we can verify that our server  
-sees all of the !TrueType fonts by listing them.  
-  
-  
-  
-  
-----  
-  
-$ xlsfonts | grep ttf  
--ttf-arial black-medium-r-normal-regular-----p--iso8859-1  
--ttf-arial mt black-medium-r-normal-regular-----p--iso8859-1  
--ttf-arial narrow-bold-i-normal-bold italic-----p--iso8859-1  
-....  
-  
-----  
-  
-  
-*  
-  
-  
-  
-  
-  
-!!3.3 Using !TrueType fonts  
-  
-  
-  
-At this point it should be possible to use a !TrueType font in  
-applications like GIMP, Netscape or !StarOffice.  
-Since most !TrueType fonts aren't monospaced you probably don't want  
-to use one of them with xterm - these programs use monospacing  
-the size of the largest character cell.  
-  
-  
-  
-  
-!!3.4 Installing additional !TrueType fonts  
-  
-  
-  
-If you are using the xfstt font server, it's trivial to install  
-additional !TrueType fonts.  
-  
-  
-  
-  
-  
-*Copy the new font(s) into /usr/share/fonts/truetype/  
-*  
-  
-*Restart xfs with /etc/init.d/xfs restart  
-*  
-  
-  
-  
-  
-  
-!!3.5 Internationalization  
-  
-  
-  
-xfstt has the ability to generate multiple font encodings,  
-provided that the !TrueType font contains the necessary glyphs.  
-To enable fonts other than iso8859-1/unicode-1, you must manually  
-edit the /etc/init.d/xfstt script:  
-  
-  
-  
-  
-''/etc/init.d/xfstt''  
-----  
-  
-- start-stop-daemon --start --quiet --exec $XFSTT -- \  
---port $portno --daemon  
-+ start-stop-daemon --start --quiet --exec $XFSTT -- \  
---port $portno --encoding iso8859-1,koi8-r,windows-1252,symbol-0 \  
---daemon  
-  
-----  
-  
-  
-  
-The recognized encodings in Debian 2.1 are:  
-  
-  
-  
-  
-  
-*iso8859-1 (Latin 1 - Western Europe)  
-*  
-  
-*iso8859-2 (Latin 2 - Central and Eastern Europe)  
-*  
-  
-*iso8859-3 (Latin 3 - Esperanto and Maltese)  
-*  
-  
-*iso8859-4 (Latin 4 - superceded by Latin 6)  
-*  
-  
-*iso8859-5 (Cyrillic)  
-*  
-  
-*iso8859-6 (Arabic)  
-*  
-  
-*iso8859-7 (Greek)  
-*  
-  
-*iso8859-8 (Hebrew)  
-*  
-  
-*iso8859-9 (Latin 5 - Latin 1 with Turkish, not Icelandic)  
-*  
-  
-*iso8859-10 (Latin 6 - Nordic languages, replaces Latin 4)  
-*  
-  
-*koi8-r (Cyrillic)  
-*  
-  
-*windows-1250 (Central Europe)  
-*  
-  
-*windows-1251 (Cyrillic)  
-*  
-  
-*windows-1252  
-*  
-  
-*windows-1253 (Greek)  
-*  
-  
-*windows-1254  
-*  
-  
-*windows-1255  
-*  
-  
-*windows-1256  
-*  
-  
-*windows-1257  
-*  
-  
-*symbol-  
-*  
-  
-*wingding-  
-*  
-  
-*wingreek-  
-*  
-  
-*cp-437 (various IBM code pages)  
-*  
-  
-*cp-737  
-*  
-  
-*cp-850  
-*  
-  
-*cp-851  
-*  
-  
-*cp-852  
-*  
-  
-*cp-853  
-*  
-  
-*cp-855  
-*  
-  
-*cp-857  
-*  
-  
-*cp-860  
-*  
-  
-*cp-861  
-*  
-  
-*cp-862  
-*  
-  
-*cp-863  
-*  
-  
-*cp-864  
-*  
-  
-*cp-865  
-*  
-  
-*cp-866  
-*  
-  
-*cp-869  
-*  
-  
-*cp-895  
-*  
-  
-*atari-st  
-*  
-  
-*unicode-2  
-*  
-  
-  
-  
-The first 128 characters in the iso8859-x encodings is always ASCII.  
-The windows- fonts embrace and extend iso8859-1 with additional  
-characters such as "smart quotes." (Since these extensions, such as "smart  
-quotes" are undefined in iso8859-1, they are usually rendered as  
-question marks.)  
-  
-  
-Excellent source for additional information on character set encodings  
-are at  
-  
-  
-*  
-http://ppewww.ph.gla.ac.uk/%7Eflavell/iso8859/iso8859-pointers.html,  
-*  
-  
-*  
-http://anubis.dkuug.dk/i18n/ and  
-*  
-  
-*  
-http://czyborra.com/charsets/iso8859.html.  
-*  
-  
-  
-  
-  
-  
-  
-  
-  
-!!3.6 Security Issues  
-  
-  
-  
-I used Unix sockets above, but the standard Debian packages also  
-configure xfs and xfstt to listen to TCP/IP ports 7100 and  
-7101, respectively. Access to these ports should be controlled  
-by the trusted-clients field in /etc/X11/xfs/config,  
-but this option is not implemented in XFree86 3.3.2.3a.  
-  
-  
-This means that anyone, anywhere, can connect to your font server.  
-Since xfs (and presumably xfsts) "clone" to support  
-more users there's a trivial denial-of-service attack against these  
-systems. It's probably safe to use the font servers on dialup  
-lines (since you're present to handle problems), but DSL and cable  
-modem users should use a firewall.  
-  
-  
-  
-----  
-  
-!!4. Printing (ghostscript)  
-  
-  
-Starting with version 4, ghostscript has supported !TrueType  
-fonts as a compile-time option. Two Debian packages provide ghostscript:  
-  
-  
-*main/binary-*/text/gs_*.deb is DFSG-compliant version 5.10,  
-*  
-  
-*non-free/binary-*/gs-aladdin_*.deb is non-DFSG-compliant  
-version 5.50.  
-*  
-  
-Both versions support !TrueType fonts.  
-  
-  
-  
-  
-!!4.1 Configuring Ghostscript to use !TrueType fonts  
-  
-  
-  
-If you have a working xfstt server, it is easy to configure  
-ghostscript to use !TrueType fonts. We simply execute the  
-following command:  
-  
-  
-  
-  
-----  
-  
-# xfstt --gslist --sync >> /etc/gs.Fontmap  
-  
-----  
-  
-  
-  
-In practice, I've found it beneficial to make several small changes  
-to the font definitions generated by xfstt. First, if a font name  
-does not contain any spaces, I change the name to the usual notation.  
-If a font name does contain spaces, I replace all spaces with dashes  
-and the original name is added as an alias to the new name.  
-  
-  
-Finally, I prepend TTF- (or MS-) to all font names to  
-minimize problems caused by a !TrueType font having an identical  
-name to an preexisting font.  
-  
-  
-Thus  
-  
-  
-  
-  
-----  
-  
-(Arial) (/usr/share/fonts/truetype/arial.ttf) ;  
-(Arial Bold Italic) (/usr/share/fonts/truetype/arialbi.ttf) ;  
-  
-----  
-  
-  
-  
-becomes  
-  
-  
-  
-  
-----  
-  
-/MS-Arial (/usr/share/fonts/truetype/arial.ttf) ;  
-/MS-Arial-Bold-Italic (/usr/share/fonts/truetype/arialbi.ttf) ;  
-(Arial Bold Italic) /MS-Arial-Bold-Italic ;  
-/Arial /MS-Arial ;  
-  
-----  
-  
-  
-  
-The aliases ensure that ghostscript and xfstt can still  
-specify the same font by a common name.  
-  
-  
-Much more significantly, with the change in the font names it's possible  
-to instruct ghostscript to use !TrueType fonts instead of the  
-standard fonts. The documentation claims that this is also possible with  
-parenthetical notation, but I could not get it to work.  
-  
-  
-For instance, we can instruct ghostscript to replace Helvetica fonts  
-with Microsoft's free Arial fonts by appending the following lines to the  
-/etc/gs.Fontmap file:  
-  
-  
-  
-  
-----  
-  
-/Helvetica /MS-Arial ;  
-/Helvetica-Oblique /MS-Arial-Italic ;  
-/Helvetica-Bold /MS-Arial-Bold ;  
-/Helvetica-!BoldOblique /MS-Arial-Bold-Italic ;  
-  
-----  
-  
-  
-  
-Similar aliases can be defined for the other standard fonts.  
-These aliases would be most useful on samba printers serving  
-Windows clients.  
-  
-  
-  
-  
-!!4.2 Printing !TrueType font specimens  
-  
-  
-  
-The best way to verify that ghostscript is properly configured to use  
-!TrueType fonts is to print font specimen pages. Assuming that you're  
-running ghostscript 5.50 and that it is your default print queue,  
-you can print all !TrueType fonts with the following command:  
-  
-  
-  
-  
-----  
-  
-# xfstt --gslist --sync | printfont  
-  
-----  
-  
-  
-  
-where printfont is the following shell script  
-  
-  
-  
-  
-----  
-  
-#!/bin/sh  
-set -e  
-IFS= ')'  
-while read fontname rest  
-do  
-cat << EOM | lpr  
-%!PS  
-(/usr/lib/ghostscript/5.50/prfont.ps) run  
-$fontname) !DoFont  
-EOM  
-done  
-  
-----  
-  
-  
-  
-If you wish to print only a few fonts, the following script will be  
-easier to use:  
-  
-  
-  
-  
-----  
-  
-#!/bin/sh  
-set -e  
-while read -p "Font name, or ^D to exit: " fontname  
-do  
-cat << EOM | lpr  
-%!PS  
-(/usr/lib/ghostscript/5.50/prfont.ps) run  
-$fontname !DoFont  
-EOM  
-done  
-  
-----  
-  
-  
-  
-  
-----  
-  
-!!5. Content Generation  
-  
-!!5.1 Generating AFM font metrics  
-  
-  
-  
-AFM font metrics files are not required for display existing  
-files with !TrueType fonts, but they are necessary to create new files.  
-The ghostscript program /usr/lib/ghostscript/5.50/printafm.ps  
-could be used to generate these metric files, but I have found  
-the ttf2afm program from the tetex-bin package to be easier  
-to use.  
-  
-  
-The following script will generate an afm file for all !TrueType  
-fonts in a directory:  
-  
-  
-  
-  
-----  
-  
-#!/bin/sh  
-set -e  
-for i in *.TTF  
-do  
-/usr/bin/ttf2afm $i > ${i%TTF}afm  
-done  
-for i in *.ttf  
-do  
-/usr/bin/ttf2afm $i > ${i%ttf}afm  
-done  
-  
-----  
-  
-  
-  
-One minor problem with ttf2afm is that some applications expect  
-afm files to start with the !StartFontMetrics tag, but  
-files created by ttf2afm start with a comment. This "problem"  
-is easily fixed by hitting each file with a text editor.  
-  
-  
-  
-  
-!!5.2 Generating font.map files  
-  
-  
-  
-Once we have our afm files, we need to tell the system how to  
-find them. This is often done via the font.map file.  
-  
-  
-I have been unable to find documentation on this file format, unlike  
-fonts.dir, fonts.scale, and fonts.alias, all created by  
-the mkfontdir program. However the minimum format appears to  
-be quite simple:  
-  
-  
-  
-  
-  
-*Font name, without whitespace  
-*  
-  
-*AFM filename, without extension  
-*  
-  
-  
-  
-Aliases appear to be implemented via multiple entries, and the filename  
-extension must be in lowercase.  
-  
-  
-  
-  
-!!5.3 Image manipulation: GIMP  
-  
-  
-  
-GIMP is the Gnu image manipulation and paint program. I did not  
-have to make any additional changes to use !TrueType fonts in gimp.  
-  
-  
-  
-  
-!!5.4 ASCII to !PostScript conversion: enscript  
-  
-  
-  
-Enscript is a program that converts ASCII to !PostScript. Other  
-programs which serve a similiar purpose are a2ps and mpage.  
-Enscript allows two-up rotation, watermarks, headers, and  
-keyword-based syntax coloring. It does not reformat text and is  
-commonly used to print source listing.  
-  
-  
-To use !TrueType fonts with enscript, you must do two things:  
-  
-  
-  
-  
-  
-*Add /usr/share/fonts/truetype to your AFMPath.  
-*  
-  
-*Specify a !TrueType font, either explicitly or by aliasing a  
-default font.  
-*  
-  
-  
-  
-For details, see the enscript documentation.  
-  
-  
-Once I had made these changes, I had no problem using !TrueType  
-fonts.  
-  
-  
-  
-  
-!!5.5 Text Formatting and Typesetting: groff  
-  
-  
-  
-Groff is the Gnu front end of the groff/troff document  
-formatting system. The power of Groff is best seen with  
-man pages.  
-  
-  
-  
-  
-''user shell''  
-----  
-  
-$ zcat /usr/man/man1/groff.1.gz | groff -man | lpr  
-  
-----  
-  
-  
-  
-Besides man pages, an incredible amount of Unix documentation  
-uses troff formatting with ms (and occasionally me)  
-macros. The Debian xbooks package, for example, has 43  
-files using troff with ms macros. With groff, this  
-material can be attractively printed.  
-  
-  
-Groff is a very powerful system, but it's the grandchild (or  
-great-grandchild) of a program used to typeset 1960's era printing  
-presses. Font support in groff reflects that heritage.  
-Groff, in contrast to its predecessors, uses !PostScript as  
-the default output format so our earlier work with ghostscript  
-takes care of half of the problem -- groff does not have to  
-deal with reading !TrueType font files. It does need to have  
-accurate font metrics, and this section describes how to regenerate  
-the necessary groff files:  
-  
-  
-  
-  
-''Groff !PostScript description files''  
-----  
-  
-/usr/share/groff/font/devps/DESC  
-Device description file  
-/usr/share/groff/font/devps/text.enc  
-Encoding used for text fonts  
-/usr/share/groff/font/devps/generate/textmap  
-Standard mapping.  
-/usr/share/groff/font/devps/generate/Makefile  
-Standard makefile  
-  
-----  
-  
-  
-  
-We must edit the Makefile,  
-  
-  
-  
-  
-''/usr/share/groff/font/devps/generate/Makefile''  
-----  
-  
-- afmdir=/usr/local/afm  
-+ afmdir=/usr/share/fonts/truetype  
-  
-----  
-  
-  
-  
-change the name of the fonts to their !TrueType equivalent (e.g.,  
-if we're using Microsoft's free !TrueType fonts we would replace  
-Helvetica with Arial), and change TEXTFONTS  
-and the like to only include those fonts we are redefining.  
-  
-  
-We must also edit /usr/share/groff/font/devps/generate/afmname  
-to use the !TrueType font names and afm files, and to remove an  
-"-e" flag from awk.  
-  
-  
-After all of this, we can rebuild the groff tables with  
-  
-  
-  
-  
-''user shell''  
-----  
-  
-$ cd /usr/share/groff/font/devps  
-$ make -f generate/Makefile  
-  
-----  
-  
-  
-  
-As usual, the best way to verify the changes is to use a visually  
-distinctive font. E.g., if you are using the Microsoft free !TrueType  
-fonts you can use Mistral for TR.  
-  
-  
-(I expect royalties from everyone who reconfigures their system to  
-print manual pages in Old English fonts next April First!)  
-  
-  
-  
-  
-!!5.6 Text Formatting and Typesetting: TeX  
-  
-  
-  
-TeX is the other common set of text formatting and typesetting  
-programs on most GNU/Linux systems.  
-  
-  
-TeX fonts can created with mktexmf, but I have little  
-information on the exact process. More details will be provided shortly.  
-  
-  
-  
-----  
-  
-!!6. Unanswered questions  
-  
-  
-  
-  
-  
-* Applications  
-  
-  
-The biggest unanswered question is why netscape communicator  
-can use !TrueType fonts, ghostscript can use the same  
-!TrueType fonts, yet pages printed by netscape look nothing  
-like the screen.  
-  
-  
-The short answer is that netscape generates !PostScript output  
-with standard fonts (Helvetica and Times-Roman) instead of the  
-user-specified or HTML-specified fonts. The long answer is that I  
-have absolutely no idea why it forces this behavior, or if there is  
-a way to override it.  
-  
-*  
-  
-  
-  
-  
-----  
-  
-!!7. Obtaining !TrueType Fonts  
-  
-  
-If you're looking for !TrueType fonts, here are several places  
-where you can start looking:  
-  
-  
-  
-  
-  
-*c:\windows\fonts on the boat anchor in the corner  
-*  
-  
-*Microsoft's Free !TrueType Fonts  
-  
-http://www.microsoft.com/typography/fontpack/  
-*  
-  
-*Acid Fonts  
-  
-http://www.acidcool.com/  
-*  
-  
-*The Font Ring  
-  
-http://www.webring.org/cgi-bin/webring?ring=fontring&list  
-*  
-  
-  
-  
-  
-  
-!!7.1 A comment about using Microsoft's free !TrueType fonts  
-  
-  
-  
-No article on !TrueType support under Linux would be complete without  
-a comment about Microsoft's free !TrueType fonts. First the legality  
-of using Microsoft's free core fonts:  
-  
-  
-  
-  
-''  
-http://www.microsoft.com/typography/faq/faq8.htm''  
-----  
-  
-Q. What can I do with these fonts?  
-middot Anyone can download and install these fonts for  
-their own use.  
-middot [[Web page ] designers can specify the fonts within  
-their own Web pages.  
-...  
-  
-----  
-  
-  
-  
-Clearly, it is legal and reasonable for Linux users to download  
-and install these fonts, and I would like to thank Microsoft for  
-making them available.  
-  
-  
-Since another clause restricts their redistribution "in any form  
-that adds value to commercial products" I don't expect to see  
-these fonts packaged in main anytime soon. (Could they be  
-packaged in non-free, perhaps as an installer package...?)  
-  
-  
-Now that that's out of the way, I redirect your attention to the  
-second statement. Microsoft actively encourages web page developers  
-to specify their fonts on web pages, and many HTML editors explicitly  
-name fonts.  
-  
-  
-Many web sites, when viewed by standard Netscape/Linux, can best  
-be described as... legible. Some aren't even that. Not coincidentally  
-the sites which are, um, legible are also usually the sites that  
-explicitly state all font information in their web pages.  
-  
-  
-After I installed these fonts I noticed that most of these problematic  
-sites became significantly more attractive. Many were still highly  
-Windows-centric, but at least I didn't flinch every time I loaded  
-their pages.  
-  
-  
-My recommendation is to install Microsoft's free !TrueType fonts  
-for your browser. You are not required to create web pages that  
-use these fonts, nor do you have to configure ghostscript to  
-use them.  
-  
-  
-  
-  
-  
-  
-----  
-  
-!!8. Legalities  
-  
-  
-Copyright (c) 1999 by Bear Giles.  
-  
-  
-Unless otherwise stated, Linux HOWTO documents are copyrighted by their  
-respective authors. Linux HOWTO documents may be reproduced and distributed  
-whole or in part, in any medium physical or electronic, as long as this copyright  
-notice is retained in all copies. Commercial redistribution is allowed  
-and encouraged; however, the author would like to be notified of any  
-such distributions.  
-  
-  
-All translations, derivative works, or aggregate works incorporating  
-any Linux HOWTO documents must be covered under this copyright notice.  
-That is, you may produce a derivative work from a HOWTO and impose  
-additional restrictions on distribution. Exceptions to these  
-rules may be granted under certain conditions; please contact  
-the Linux HOWTO cordinator for more information.  
-  
-  
-In short, we wish to promote dissemination of this information  
-through as many channels as possible. However, we do wish to retain  
-copyright on the HOWTO documents, and would very much like to be  
-notified of any plans to redistribute the HOWTOs, this one in  
-particular! Web page authors are free to link to this HOWTO without  
-restriction, though the author would appreciate an email informing  
-him of this, just so he can boost his ego by knowing who else reads and  
-links to this document.  
-  
-  
-Many of the terms mentioned in this document are trade names.  
-Unless otherwise stated, all trademarks are property of their  
-respectve owners .  
-  
-  
-  
-----  
-  
-CategoryDebian  
+Describe [HowToTTDebian ] here