TrueType Fonts in Debian mini-HOWTO <author>Bear Giles, <tt><url url="mailto:bgiles@coyotesong.com" name="bgiles@coyotesong.com"></tt> <date>v0.3, 10 January 2000 <trans>中野武雄 nakano@apm.seikei.ac.jp <tdate>v0.3j, February 2000? <abstract> <!--O 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 <tt><url url="http://www.dimensional.com/~bgiles/debian-tt.html" name="http://www.dimensional.com/~bgiles/debian-tt.html"></tt> --> この文書では、 Debian システムで表示・印刷に TrueType フォントを 利用するための設定について説明します。この文書の最新版は、 <tt><url url="http://www.dimensional.com/~bgiles/debian-tt.html"></tt> から HTML フォーマットで参照できます。 【訳者注: この文書は xtt を扱っていませんので、 そのまま使うと日本語が出なくなったりするかもしれません。 at your own risk でご利用ください。】 </abstract> <toc> <!--O <sect> Introduction --> <sect>はじめに <p> <!--O 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: --> Linux をインストールすると、フォント・フォントメトリックのセットが それぞれ別個にいくつかインストールされてしまうことが良くあります。 例えば私のシステムをざっと見てみると、フォントやフォントメトリックは 以下のようなディレクトリに分散しています。 <itemize> <!--O <item><tt/XFree86/ stores its fonts in <tt>/usr/X11R6/lib/X11/fonts/</tt> <item><tt/Ghostscript/ stores its fonts in <tt>/usr/lib/ghostscript/fonts/</tt> <item<tt/TeX/ stores its fonts in <tt>/usr/lib/texmf/fonts/</tt> <item>The Debian <tt/kbd/ package stores its fonts in <tt>/usr/share/consolefonts/</tt> <item><tt/Groff/ stores its metrics in <tt>/usr/share/font/devps/</tt> <item><tt/Enscript/ (ASCII to PostScript converter) stores its metrics in <tt>/usr/share/enscript/*.afm</tt> --> <item><tt/XFree86/ のフォントは <tt>/usr/X11R6/lib/X11/fonts/</tt> にあります <item><tt/Ghostscript/ のフォントは <tt>/usr/lib/ghostscript/fonts/</tt> にあります <item<tt/TeX/ のフォントは <tt>/usr/lib/texmf/fonts/</tt> にあります <item>Debian の <tt/kbd/ パッケージが使うフォントは <tt>/usr/share/consolefonts/</tt> にあります <item><tt/groff/ のフォントメトリックは <tt>/usr/share/font/devps/</tt> にあります <item><tt/Enscript/ (ASCII → PostScript コンバータ) のフォントメトリックは <tt>/usr/share/enscript/*.afm</tt> にあります </itemize> <!--O Needless to say, these fonts are not coordinated. --> いうまでもないですが、これらのフォントは統合されていません。 <!--O 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. --> TrueType フォントは、同じフォントファイルで表示も印刷も行えるようにして、 この問題を解決するためにデザインされました。この HOWTO では、 Debian GNU/Linux システムで TrueType フォントを ディスプレイ・印刷・文書作成に利用する方法について説明するつもりです。 <!--O <sect1>Disclaimer --> <sect1>免責 <p> <!--O 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. --> この文書の情報は、私の知るかぎりでは正しいものです。 しかしこの文書はまだ若い版ですし、私の環境で動作するものが あなたのところでもそうであるとは限りません。 この文書が役に立たなくても許してください。 私はプロのテクニカルライターじゃないですし、 大事な問題の上辺だけを取り繕っていたこともあるんです。 <!--O So have fun, but play it safe and keep backups. --> ですから、試すときには気をつけてください。 バックアップも忘れずに。 <!--O <sect1> Credits --> <sect1>謝辞 <p> Created by Bear Giles, <tt><url url="mailto:bgiles@coyotesong.com" name="<bgiles@coyotesong.com>"></tt> Thanks go to: <itemize> <item> Brion Vibber, <tt><url url="mailto:brion@pobox.com" name="<brion@pobox.com>"></tt>, who wrote the <tt><url url="http://pobox.com/~brion/linux/TrueType-HOWTO.html" name="(preliminary) TrueType HOW-TO (http://pobox.com/~brion/linux/TrueType-HOWTO.html)"></tt> <item> Doug Holland, <tt><url url="mailto:meldroc@frii.com" name="<meldroc@frii.com>"></tt>, who wrote the <tt><url url="http://www.frii.com/~meldroc/Font-Deuglification.html" name="XFree86 Font Deuglification HOW-TO (http://www.frii.com/~meldroc/Font-Deuglification.html)"></tt> </itemize> <sect1> Additional links <p> These links don't directly discuss Debian systems or packages, but they may still be interesting to readers of this mini-HOWTO. <itemize> <item> Using TrueType Fonts with RedHat Linux <tt><url url="http://www.kegel.com/linux/tt.html" name="(http://www.kegel.com/linux/tt.html)"></tt> <item> X Font Tools <tt><url url="http://www.hex.net/~cbbrowne/xfonts.html" name="(http://www.hex.net/~cbbrowne/xfonts.html)"></tt> <item> Getting fonts to look pretty under GNU/Linux for applications like StarOffice <tt><url url="http://king.ccrc.wustl.edu/~zubin/fonts.html" name="(http://king.ccrc.wustl.edu/~zubin/fonts.html)"></tt> <item>How to use True Type © fonts for StarOffice Under Linux <tt><url url="http://www.mindspring.net/~john_mcl/adding_fonts.html" name="(http://www.mindspring.net/~john_mcl/adding_fonts.html)"></tt> </itemize> <!--O <sect1> Change log --> <sect1>変更履歴 <p> <itemize> <item>0.1. Sept. 16, 1999: First release. <item>0.2. Sept. 16, 1999: added "additional links" section. <item>0.3. Jan. 10, 2000: reader feedback! Added clarification of several details. </itemize> <!--O <sect1> Feedback --> <sect1>フィードバック <p> <!--O Comments, corrections, additions and critiques are always welcome. You can reach me at <url url="mailto:bgiles@coyotesong.com" name="bgiles@coyotesong.com">. --> コメント・修正・追加・批判などは常に歓迎します。 私に連絡するには <htmlurl url="mailto:bgiles@coyotesong.com" name="bgiles@coyotesong.com"> を使ってください。 <!--O <sect1> Related projects --> <sect1>関連プロジェクト <p> <!--O <itemize> <item> FreeType <url url="http://www.freetype.org/" name="http://www.freetype.org/"> <p> 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 <em>patent</em>, however.) FreeType is a library, not a font server or a complete text rendering library. </itemize> --> <descrip> <tag>FreeType <url url="http://www.freetype.org/"></tag> FreeType エンジンはフリーで可搬性のある TrueType フォントの レンダリングエンジンです。コードは「クリーンルーム」で実装されており、 Apple や Microsoft の実装とは完全に独立しています (しかし最近 Apple の<em>特許</em>に関連した問題が浮上しています)。 FreeType はライブラリで、フォントサーバや完全なテキストレンダリング ライブラリではありません。 </descrip> <!--O <sect1> Distribution --> <sect1>配布 <p> <!--O This is the first draft and I expect it to change significantly after publication, I ask that you refer to the latest version at <tt><url url="http://www.dimensional.com/~bgiles/debian-tt.html" name="http://www.dimensional.com/~bgiles/debian-tt.html"></tt>. The permanent home for this document will eventually be at <tt><url url="http://www.coyotesong.com/" name="http://www.coyotesong.com/"></tt> --> これは最初のドラフトで、公開後には多くの重要な変更がなされる ことと思います。できれば <tt><url url="http://www.dimensional.com/~bgiles/debian-tt.html"></tt> にある最新のバージョンを参照してください。 この文書の落ち着き先として、 <tt><url url="http://www.coyotesong.com/"></tt> も予定しています。 <!--O <sect> Display (what they never told you) --> <sect>ディスプレイ (誰も言わなかったこと) <p> <!--O Before we dive into setting up TrueType fonts under X, we should review the difference between points and pixels... and why we care. --> X での TrueType フォントの設定に乗り込む前に、 まずポイント (point) とピクセル (pixel) の違いについて、 そしてその違いがなぜ問題になるかについて、 振り返ってみることにしましょう。 <!--O All displayed fonts are measured in <em>points</em>. 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. --> 表示されたフォントは <em>ポイント</em> 単位で測長されます。 1 インチは正確に 72 ポイントになります。なぜ 72 かって? おそらく理由の一つはメカニカルな植字機械の寸法の限界であり、 また他の理由としては、 72 が 2, 3, 4, 6, 8, 9, 12, 18, 24 のいずれによっても割ることができるから、ということもあるのでしょう。 ここで PostScript のデフォルトの単位が 1 ポイントであることも知っておいて損はないでしょう。 <!--O (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 <em/much/ more sense for the reason mentioned above.) --> (歴史的なメモ: いま私は嘘をつきました。 PostScript が導入されるまでは、 1 インチは正確には 72.27 ポイントでした。 しかしこのポイントサイズが決められたのは、 金属の活字で印字するメカニカルなプリンタの時代で、 標準サイズの種類があまり必要とされなかったからでした。 コンピュータディスプレイとレーザープリンターでは、 あらゆるサイズのフォントが簡単に使えますから、 72 が上記の理由に照らして<em/ずっと/重要になったのです。) <!--O 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). --> 一般的なルールとしては、テキストのほとんどは 7 から 12 ポイント の間で表示すべきです。 6 ポイント以下のものは、「細字」としての 扱いになります。ラインプリンターは 9 または 12 ポイントの活字 (それぞれ 8 行/インチ、 6 行/インチ) を使います。 <!--O In contrast, all video drivers must ultimately measure fonts in <em>pixels</em>. To your video driver, your screen is 1024x800 pixels, not 10 by 8 inches (or 720 by 576 points). --> 一方これとは対称的に、ビデオドライバはフォントを必ず <em>ピクセル</em>単位で測ります。ビデオドライバにとっては、 スクリーンは 1024x800 ピクセルなものであり、 10x8 インチや 720x576 ポイントといったものではないのです。 <!--O 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: <tt/fonts-75/ is intended for use on low-end displays with a resolution of approximately 75 dpi, <tt/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. --> ポイント (フォントサイズの指定に用いる) をピクセル (ビデオメモリの範囲指定に用いる) に変換するには、スクリーンの 解像度を知らなければなりません。この値は通常 "dot per inch (dpi)" 単位で測定されます。実際には pixcel per inch なんですけど。 これらは XFree86 に含まれている二種類のビットマップフォントの 単位に用いられています。 <tt/fonts-75/ は ローエンドのディスプレイ (だいたい 75dpi) で用いるためのもので、 <tt/fonts-100/ は中クラスの 100dpi 程度のディスプレイで用いる ものです。 120dpi 以上の解像度を持つ、ハイエンドディスプレイ用の ビットマップフォントは、存在しません。 <!--O 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. --> 具体的な例を挙げましょう。対角 13" のスクリーン (11.1" が利用可) が 640x480 ピクセルの画像を表示すると、解像度は 72.0 dpi になります。 これは偶然の一致では<em/ありません/。実は、ほとんどの web ページ (と Microsoft のアプリケーション) は、解像度がちょうど 72 dpi の ディスプレイを標準としてデザインされているのです。 XFree86 の デフォルト設定は、ディスプレイの解像度を 75dpi と仮定しています。 <!--O 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. --> 現実の世界に戻ると、もはや 640x480 のビデオを使っている人はいません。 対角 13" のスクリーンもありません。ビデオカードのほうが ビデオモニタよりも速く進歩したので、以下の私のような設定もあまり 珍しくなくなりました: 19" 対角のスクリーン (17+" 利用可)、 1600x1200 ピクセル、分解能 117 dpi。 <!--O 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). --> もし私が X をデフォルトの設定で動かすと、全てのフォントは意図していた もののおよそ 2/3 のサイズになります。 全てのフォントがひとサイズ切り下げられた状態、といっても過言でない状況 です。 large フォント (12ポ) は medium (9ポ) に見えますし、 medium フォント (9ポ) は small (6ポ) に見えるわけです。 <!--O There are three things we can do to fix this. First, We should tell the X server our actual screen resolution: --> この状態をなおす方法は三つあります。一つめは、 X サーバーに実際のスクリーン解像度を知らせる方法です。 <tscreen> <em>/etc/X11/xdm/Xservers</em> <code> #:0 local /usr/X11R6/bin/X -bpp 16 :0 local /usr/X11R6/bin/X -bpp 16 -dpi 120 </code></tscreen> <!--O Second, we should ensure that we use the 100 dpi bitmapped fonts in preference to the 75 dpi fonts. --> 二つめは、 100 dpi のビットマップフォントを 75 dpi のフォントよりも 優先して使うようにする方法です。 <tscreen> <em>/etc/X11/XF86Config</em> <code> 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 </code></tscreen> <!--O Finally, if one of our bitmapped fonts isn't an exact match the <tt/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. --> 最後の方法として、ビットマップフォントにサイズが合わないものがある場合、 X サーバは似たフォントをピクセル置き換えによって「スケール (拡大・縮小)」 しようとします。結果は決して快適に利用できるものではありません。 もし十分高速なシステムを使っているなら、 スケーラブルなフォントをデフォルトで使い、 次に正確にサイズの合ったビットマップを使い、 それでもダメならスケールしたビットマップフォントを 使うようにさせるといいでしょう。 <tscreen> <em>/etc/X11/XF86Config</em> <code> 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 </code></tscreen> <!--O <sect1>A look ahead to XFree86 4.0 --> <sect1>XFree86 4.0 の先取り情報 <p> <!--O 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. --> たった今知らされたところによると、ビデオとモニターが DDC 通信を サポートしていれば、 XFree86 でも DCC 通信を使えるようになるようです。 DDC 通信を使うと、 X サーバーはモニターに物理的な寸法を問い合わせ、 自動的に DPI 設定を計算することができるようになります。 <!--O You will still need to make the appropriate changes to your font path, since the server should not second guess your explicit configuration. --> ただし、 font path への適切な変更は依然必要となるでしょう。 あなたが明示的に設定したものを、 サーバが適当に代えてくれるなんてことはありえませんから。 <!--O <sect1>Review: Preparation before changing <tt/X/ configuration files. --> <sect1>注意: <tt/X/ 設定ファイルを変更する前にやっておくべきこと <p> <!--O Any time we make changes to the X11 configuration files, it's an excellent idea to disable <tt/XDM/ by putting <tt/exit 0/ somewhere near the top of the file. If you don't do this and <tt/X/ is unable to start for some reason, <tt/XDM/ will put your system into a nasty busy loop that is an unspeakable pain to correct. You Have Been Warned. --> X11 の設定ファイルに変更を施す前には、 ファイルの先頭付近に <tt/exit 0/ を入れて、 <tt/XDM/ を無効にしておくと良いでしょう (というかそうしましょう)。 これを行わないと、何らかの理由で <tt/X/ が起動できなくなった場合、 <tt/XDM/ はシステムをクソったれな busy ループに陥れてしまいます。 これを修正するのはもう口にできないほど大変です。 いいですか、警告しましたからね。後で泣き言を言わないように。 <!--O <sect> Display (<tt/X/ and the font servers) --> <sect>ディスプレイ (<tt/X/ とフォントサーバー) <p> <!--O Strictly speaking, it is not absolutely necessary to set up font servers to use TrueType fonts with <tt/X/ servers. If you wish to use static files instead of a font server, please see the instructions for setting up TrueType fonts for <tt/ghostscript/. --> 厳密にいうと、 <tt/X/ サーバーで TrueType フォントを使うには フォントサーバーの設定が絶対に必要、というわけではありません。 お望みならフォントサーバーの代わりにスタティックなファイルを使うことも できるのです。 <tt/ghostscript/ で TrueType を利用するための 設定を説明している部分をみてください。 <!--O <sect1>Setting up the <tt/xfs/ Font Server --> <sect1><tt/xfs/ フォントサーバーをセットアップする <p> <!--O At this point I assume you have a working <tt>/etc/X11/XF86Config</tt> file that loads explicitly specifies each directory in the <tt/FontPath/. We will convert it to use the <tt/xfs/ Font Server. --> 話をはじめる前提として、動作する <tt>/etc/X11/XF86Config</tt> ファイルが手元にあり、 そこでは <tt/FontPath/ でフォントをロードする それぞれのディレクトリを明示的に指定しているものとします。 我々はこの部分を <tt/xfs/ フォントサーバーを利用するように 書き換えることになります。 <!--O <itemize> --> <descrip> <!--O <item>Install <tt/XFS/ <p> If you have not already done so, install <tt>main/binary-*/x11/xfs_*.deb</tt>. --> <tag><tt/XFS/ をインストールする</tag> まだしていなければ、<tt>main/binary-*/x11/xfs_*.deb</tt> をインストールしてください。 <!--O <item>Configure <tt/XFS/ <p> Edit <tt>/etc/X11/xfs/config</tt> and change the <tt/catalogue/ to contain the contents of your <tt/FontList/. You may also wish to change the <tt/default-resolutions/ value. --> <tag><tt/XFS/ を設定する</tag> <tt>/etc/X11/xfs/config</tt> を編集し、 <tt/catalogue/ にあなたの <tt/FontList/ が 含まれるように変更してください。 <tt/default-resolutions/ の値も変更するといいかもしれません。 <tscreen> <em>/etc/X11/xfs/config</em> <code> # 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 </code></tscreen> <!--O <item>Restart <tt/XFS/ <p> Restart <tt/XFS/ in the usual Debian manner: --> <tag><tt/XFS/ を再起動する</tag> <tt/XFS/ を通常の Debian の作法に従って再起動します。 <tscreen> <em>root shell</em> <code> # /etc/init.d/xfs restart </code></tscreen> <!--O <item>Verify that <tt/XFS/ is working <p> Before we change our <tt/XF86Config/ file, we should verify that the <tt/xfs/ server is working by listing them through the font server: --> <tag><tt/XFS/ の動作を確認する</tag> <tt/XF86Config/ を変更する前に、 <tt/xfs/ サーバーが 動作しているかどうかを、フォントサーバーからのリストを取って 確認してみましょう。 <tscreen> <em>user shell</em> <code> $ fslsfonts -server unix/:7100 -adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1 .... </code></tscreen> <!--O <item>Change <tt>/etc/X11/XF86Config</tt> to use <tt/xfs/ <p> We're now ready to tell the X server to use the <tt/xfs/ font server. We keep one static font path as a fallback position in case of a problem with <tt/xfs/. (We keep "misc" since it contains <tt/fixed/, the default font.) --> <tag><tt/xfs/ を使うように <tt>/etc/X11/XF86Config</tt> を変更する</tag> さて、 X サーバーに <tt/xfs/ フォントサーバーを使うように させる準備ができました。 <tt/xfs/ に問題があったときのための備えとして、 スタティックなフォントパスも残しておくことにしましょう ("misc" を残します。ここにはデフォルトのフォントである <tt/fixed/ が 入っているからです。) <tscreen> <em>/etc/X11/XF86Config</em> <code> Section "Files" FontPath "unix/:7100" FontPath "/usr/X11R6/lib/X11/fonts/misc/" EndSection </code></tscreen> <!--O <item>Restart <tt/X/ <p> Restart <tt/X/ with <tt/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 <tt/xdm/. --> <tag><tt/X/ を再起動する</tag> デンジャラスな人生がお好みでなければ、 <tt/X/ を <tt/startx/ によって再起動します。 もし危険がお好きな方は、 あなたの巨額な生命保険の証書の受取人に私の名前を書いて、 <tt/xdm/ を再起動してください。 <!--O <item>Verify that the <tt/XFS/ fonts are visible <p> Once we have an X session established, we can verify that our server sees all of the <tt/xfs/ fonts by listing them through the <tt/X/ server. --> <tag><tt/XFS/ フォントが見えるか確認する</tag> X セッションが確立されたら、サーバーが <tt/xfs/ のフォント すべてを見ることができているか確認しましょう。 <tt/X/ サーバーを通してフォントをリストします。 <tscreen> <em>user shell</em> <code> $ xlsfonts -adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1 -adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1 .... </code></tscreen> <!--O </itemize> --> </descrip> <!--O <sect1>Setting up the <tt/xfstt/ Font Server and installing TrueType fonts --> <sect1><tt/xfstt/ フォントサーバーをセットアップし、 TrueType フォントをインストールする <p> <!--O At this point I assume you have a working <tt/xfs/ font server and wish to add TrueType support via <tt/xfstt/. --> ここまでで、 <tt/xfs/ フォントサーバーは動作したものとします。 では <tt/xfstt/ によって TrueType のサポートを追加しましょう。 <!--O <itemize> --> <descrip> <!--O <item>Install <tt/XFSTT/ <p> If you have not already done so, install <tt>main/binary-*/x11/xfstt_*.deb</tt>. --> <tag><tt/XFSTT/ をインストールする</tag> まだしていなければ、<tt>main/binary-*/x11/xfstt_*.deb</tt> をインストールしてください。 <!--O <item>Installing the TrueType Fonts <p> Copy your TrueType fonts into the <tt>/usr/share/fonts/truetype</tt> directory. These files usually have a <tt/.ttf/ extension, and they should have <tt/0444/ permissions. --> <tag>TrueType フォントをインストールする</tag> お手元の TrueType フォントを <tt>/usr/share/fonts/truetype</tt> ディレクトリにコピーします。これらのファイルは通常 <tt/.ttf/ という 拡張子になっています。パーミッションは <tt/0444/ にしましょう。 <!--O <item>Restart the <tt/XFSTT/ Font Server <p> Restart the <tt/xfstt/ server with the <tt/force-reload/ flag --> <tag><tt/XFSTT/ フォントサーバーを再起動する</tag> <tt/force-reload/ フラグを付けて <tt/xfstt/ サーバーを再起動します。 <tscreen> <em>root shell</em> <code> # /etc/init.d/xfstt force-reload </code></tscreen> <!--O <item>Verify that <tt/XFSTT/ is working <p> Before we change our <tt/XF86Config/ file, we should verify that the <tt/xfstt/ server is working. --> <tag><tt/XFSTT/ の動作を確認する</tag> <tt/XF86Config/ を変更する前に、 <tt/xfstt/ サーバーが 動作しているかどうかを確認しましょう。 <!--O <em>Important: the Debian <tt/xfstt/ server listens to port 7101, not 7100. Also, the default permissions will require you to run this query as root. </em> --> <em>重要: Debian の <tt/xfstt/ サーバーはポート 7100 ではなく 7101 を使います。またデフォルトでは、 この問い合わせには root 権限が必要になっています</em> <tscreen> <em>user and root shells</em> <code> $ 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-0-0-0-0-p-0-iso8859-1 -ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1 </code></tscreen> <!--O <item>Change <tt>/etc/X11/XF86Config</tt> to use <tt/xfstt/ <p> We're now ready to tell the X server to use the <tt/xfstt/ font server. We want it to use TrueType fonts in preference to all others. --> <tag><tt/xfstt/ を使うように <tt>/etc/X11/XF86Config</tt> を変更する</tag> さて、 X サーバーに <tt/xfs/ フォントサーバーを使うように させる準備ができました。 TrueType フォントを他のすべてに優先して使うようにします。 <tscreen> <em>/etc/X11/XF86Config</em> <code> Section "Files" FontPath "unix/:7101" FontPath "unix/:7100" FontPath "/usr/X11R6/lib/X11/fonts/misc/" EndSection </code></tscreen> <!--O <item>Verify that <tt/XFSTT/ fonts are visible <p> Once we have an X session established, we can verify that our server sees all of the TrueType fonts by listing them. --> <tag><tt/XFSTT/ フォントが見えるか確認する</tag> X セッションが確立されたら、 サーバーがすべての TrueType フォントを見ることができているか、 リストを取って確認しましょう。 <tscreen><code> $ xlsfonts | grep ttf -ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1 -ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1 .... </code></tscreen> <!--O </itemize> --> </descrip> <!--O <sect1> Using TrueType fonts --> <sect1>TrueType フォントを使う <p> <!--O At this point it should be possible to use a TrueType font in applications like <tt/GIMP/, <tt/Netscape/ or <tt/StarOffice/. Since most TrueType fonts aren't monospaced you probably don't want to use one of them with <tt/xterm/ - these programs use monospacing the size of the largest character cell. --> ここまでで、 TrueType フォントを <tt/GIMP/, <tt/Netscape/, <tt/StarOffice/ などのアプリケーションで利用できるようになったはずです。 ほとんどの TrueType フォントは等幅フォントではありませんので、 <tt/xterm/ では使わないほうがいいでしょう。この手のプログラムでは 文字セルの最大サイズに合わせて等幅に文字を表示します。 <!--O <sect1> Installing additional TrueType fonts --> <sect1>TrueType フォントを追加インストールする <p> <!--O If you are using the <tt/xfstt/ font server, it's trivial to install additional TrueType fonts. --> <tt/xfstt/ フォントサーバーを使っている場合は、 TrueType フォントの追加は簡単です。 <itemize> <!--O <item>Copy the new font(s) into <tt>/usr/share/fonts/truetype/</tt> <item>Restart <tt/xfs/ with <tt>/etc/init.d/xfs restart</tt> --> <item>新しいフォントを <tt>/usr/share/fonts/truetype/</tt> にコピーする <item><tt>/etc/init.d/xfs restart</tt> によって <tt/xfs/ を再起動する </itemize> <!--O <sect1> Internationalization --> <sect1>国際化 (Internationalization) <p> <!--O <tt/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 <tt>/etc/init.d/xfstt</tt> script: --> <tt/xfstt/ には複数のフォントエンコーディングを生成する機能があります。 ただしその TrueType フォントに必要なグリフが含まれている必要があります。 iso8859-1/unicode-1 以外のフォントを利用するには、 <tt>/etc/init.d/xfstt</tt> スクリプトを手で編集する必要があります。 <tscreen> <em>/etc/init.d/xfstt</em> <code> - 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 </code></tscreen> <!--O The recognized encodings in Debian 2.1 are: --> Debian 2.1 で認識されているエンコーディングは以下の通りです: <itemize> <item>iso8859-1 (Latin 1 - Western Europe) <item>iso8859-2 (Latin 2 - Central and Eastern Europe) <item>iso8859-3 (Latin 3 - Esperanto and Maltese) <item>iso8859-4 (Latin 4 - superceded by Latin 6) <item>iso8859-5 (Cyrillic) <item>iso8859-6 (Arabic) <item>iso8859-7 (Greek) <item>iso8859-8 (Hebrew) <item>iso8859-9 (Latin 5 - Latin 1 with Turkish, not Icelandic) <item>iso8859-10 (Latin 6 - Nordic languages, replaces Latin 4) <item>koi8-r (Cyrillic) <item>windows-1250 (Central Europe) <item>windows-1251 (Cyrillic) <item>windows-1252 <item>windows-1253 (Greek) <item>windows-1254 <item>windows-1255 <item>windows-1256 <item>windows-1257 <item>symbol-0 <item>wingding-0 <item>wingreek-0 <item>cp-437 (various IBM code pages) <item>cp-737 <item>cp-850 <item>cp-851 <item>cp-852 <item>cp-853 <item>cp-855 <item>cp-857 <item>cp-860 <item>cp-861 <item>cp-862 <item>cp-863 <item>cp-864 <item>cp-865 <item>cp-866 <item>cp-869 <item>cp-895 <item>atari-st <item>unicode-2 </itemize> <!--O The first 128 characters in the <tt/iso8859-x/ encodings is always ASCII. The <tt/windows-/ fonts embrace and extend <tt/iso8859-1/ with additional characters such as "smart quotes." (Since these extensions, such as "smart quotes" are undefined in <tt/iso8859-1/, they are usually rendered as question marks.) --> <tt/iso8859-x/ エンコーディングの最初の 128 文字は常に ASCII です。 <tt/windows-/ には "smart quotes" のような追加文字が含まれており、 <tt/iso8859-1/ を拡張しています。 (これら "smart quotes" のような 拡張は <tt/iso8859-1/ には含まれていないため、これらの文字は クエスチョンマークにレンダリングされます。) <!--O Excellent source for additional information on character set encodings are at --> 文字セットのエンコーディングに関するより詳しい情報を得るには、 以下のすばらしいサイトを訪ねてください。 <itemize> <!--O <item><tt><url url="http://ppewww.ph.gla.ac.uk/%7Eflavell/iso8859/iso8859-pointers.html" name="http://ppewww.ph.gla.ac.uk/%7Eflavell/iso8859/iso8859-pointers.html"></tt>, <item><tt><url url="http://anubis.dkuug.dk/i18n/" name="http://anubis.dkuug.dk/i18n/"></tt> and <item><tt><url url="http://czyborra.com/charsets/iso8859.html" name="http://czyborra.com/charsets/iso8859.html"></tt>. --> <item><tt><url url="http://ppewww.ph.gla.ac.uk/%7Eflavell/iso8859/iso8859-pointers.html"</tt> <item><tt><url url="http://anubis.dkuug.dk/i18n/"></tt> <item><tt><url url="http://czyborra.com/charsets/iso8859.html"</tt> </itemize> <!--O <sect1> Security Issues --> <sect1>セキュリティの問題 <p> <!--O I used Unix sockets above, but the standard Debian packages also configure <tt/xfs/ and <tt/xfstt/ to listen to TCP/IP ports 7100 and 7101, respectively. Access to these ports should be controlled by the <tt/trusted-clients/ field in <tt>/etc/X11/xfs/config</tt>, but this option is not implemented in XFree86 3.3.2.3a. --> 上記では Unix ソケットを用いましたが、標準的な Debian パッケージでは、 <tt/xfs/ と <tt/xfstt/ とに、それぞれ TCP/IP ポート 7100 と 7101 を使わせるようにすることもできます。これらのポートへの アクセスは <tt>/etc/X11/xfs/config</tt> の <tt/trusted-clients/ フィールドによってコントロールしておくべきですが、 このオプションは XFree86 3.3.2.3a では実装されていません。 <!--O This means that anyone, anywhere, can connect to your font server. Since <tt/xfs/ (and presumably <tt/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. --> これはすなわち、誰でも、どこからでも、あなたのフォントサーバーに アクセスできてしまうことを意味します。 <tt/xfs/ (おそらく <tt/xfstt/ も) は多くのユーザーを処理するために "clone" しますので、 これらのシステムには明らかに利用不能攻撃 (DoS attack) の危険性が存在します。フォントサーバーを ダイヤルアップ回線で使っている場合には (あなたはその場にいるでしょうから) おそらく安全でしょうが、 DSL やケーブルモデムの利用者はファイアウォールを使うべきでしょう。 <!--O <sect>Printing (<tt/ghostscript/) --> <sect>印刷 (<tt/ghostscript/) <p> <!--O Starting with version 4, <tt/ghostscript/ has supported TrueType fonts as a compile-time option. Two Debian packages provide <tt/ghostscript/: --> バージョン 4 から、 <tt/ghostscript/ は TrueType フォントのサポートを コンパイル時のオプションに指定できるようになりました。 Debian には <tt/ghostscript/ のパッケージが二つあります。 <itemize> <!--O <item><tt>main/binary-*/text/gs_*.deb</tt> is DFSG-compliant version 5.10, <item><tt>non-free/binary-*/gs-aladdin_*.deb</tt> is non-DFSG-compliant version 5.50. --> <item><tt>main/binary-*/text/gs_*.deb</tt> DFSG 準拠のバージョン 5.10 です。 <item><tt>non-free/binary-*/gs-aladdin_*.deb</tt> DFSG に準拠していないバージョン 5.50 です。 </itemize> <!--O Both versions support TrueType fonts. --> どちらのバージョンでも TrueType フォントは使えます。 <!--O <sect1>Configuring <tt/Ghostscript/ to use TrueType fonts --> <sect1>TrueType フォントを使うように <tt/Ghostscript/ を設定する <p> <!--O If you have a working <tt/xfstt/ server, it is easy to configure <tt/ghostscript/ to use TrueType fonts. We simply execute the following command: --> すでに動作している <tt/xfstt/ サーバーがあれば、 <tt/ghostscript/ に TrueType フォントを使わせるようにする設定は 簡単です。次のコマンドを実行するだけです: <tscreen><code> # xfstt --gslist --sync >> /etc/gs.Fontmap </code></tscreen> <!--O In practice, I've found it beneficial to make several small changes to the font definitions generated by <tt/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. --> 実際には、 <tt/xfstt/ が生成したフォント定義にいくつか 小さな変更をすると良いことがわかりました。まず、 フォントの名前にスペースが入っていない場合には、 その名前を通常の記法に変更しました。フォントにスペースが 入っている場合には、すべてのスペースをダッシュに置き換え、 元の (スペースを含んだ) 名前は新しい名前のエイリアスとして 追加しました。 <!--O Finally, I prepend <tt/TTF-/ (or <tt/MS-/) to all font names to minimize problems caused by a TrueType font having an identical name to an preexisting font. --> そして、すべてのフォントの名前に <tt/TTF-/ (あるいは <tt/MS-/) を前置しました。すでに存在しているフォントと TrueType フォントの 名前が同一だった場合に生じる問題を避けるためです。 <!--O Thus --> したがって、 <tscreen><code> (Arial) (/usr/share/fonts/truetype/arial.ttf) ; (Arial Bold Italic) (/usr/share/fonts/truetype/arialbi.ttf) ; </code></tscreen> <!--O becomes --> が、以下のようになります。 <tscreen><code> /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 ; </code></tscreen> <!--O The aliases ensure that <tt/ghostscript/ and <tt/xfstt/ can still specify the same font by a common name. --> エイリアスによって、 <tt/ghostscript/ と <tt/xfstt/ は 共通の名前で同じフォントを使うことが依然可能になっています。 <!--O Much more significantly, with the change in the font names it's possible to instruct <tt/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. --> さらに重要なことですが、このフォント名の変更によって、 <tt/shostscript/ に TrueType フォントを標準フォントの代わりに 使用させる事ができるのです。ドキュメントには 括弧を使った記法によってもこれが可能だと書いてありますが、 私の場合はうまくいきませんでした。 <!--O For instance, we can instruct <tt/ghostscript/ to replace Helvetica fonts with Microsoft's free Arial fonts by appending the following lines to the <tt>/etc/gs.Fontmap</tt> file: --> 例えば、以下のような内容を <tt>/etc/gs.Fontmap</tt> ファイルに 追加すれば、 Helvetica フォントの代わりに Microsoft の フリーな Arial フォントを <tt/ghostscript/ に使わせることができます。 <tscreen><code> /Helvetica /MS-Arial ; /Helvetica-Oblique /MS-Arial-Italic ; /Helvetica-Bold /MS-Arial-Bold ; /Helvetica-BoldOblique /MS-Arial-Bold-Italic ; </code></tscreen> <!--O Similar aliases can be defined for the other standard fonts. These aliases would be most useful on <tt/samba/ printers serving Windows clients. --> 同様のエイリアスは他の標準フォントに対しても定義できます。 これらのエイリアスは Windows クライアントにサービスを提供している <tt/samba/ プリンタで用いると非常に便利でしょう。 <!--O <sect1>Printing TrueType font specimens --> <sect1>TrueType フォントの見本を印刷する <p> <!--O The best way to verify that <tt/ghostscript/ is properly configured to use TrueType fonts is to print font specimen pages. Assuming that you're running <tt/ghostscript/ 5.50 and that it is your default print queue, you can print all TrueType fonts with the following command: --> <tt/ghostscript/ が正しく TrueType フォントを利用するように 設定されたかを調べるには、フォントの見本ページを印刷するのが 最も良いでしょう。 <tt/ghostscript/ 5.50 を動かしていて、 これがデフォルトのプリントキューならば、 すべての TrueType フォントを以下のコマンドで印字できます。 <tscreen><code> # xfstt --gslist --sync | printfont </code></tscreen> <!--O where <tt/printfont/ is the following shell script --> ここで <tt/printfont/ は以下のシェルスクリプトです。 <tscreen><code> #!/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 </code></tscreen> <!--O If you wish to print only a few fonts, the following script will be easier to use: --> 2, 3 のフォントだけを印刷したい場合は、 以下のスクリプトのほうが簡単でしょう。 <tscreen><code> #!/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 </code></tscreen> <!--O <sect> Content Generation <sect1> Generating <tt/AFM/ font metrics --> <sect>アプリケーション用の設定 <sect1><tt/AFM/ フォントメトリックの生成 <p> <!--O <tt/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 <tt>/usr/lib/ghostscript/5.50/printafm.ps</tt> could be used to generate these metric files, but I have found the <tt/ttf2afm/ program from the <tt/tetex-bin/ package to be easier to use. --> <tt/AFM/ フォントメトリックファイルは、すでに存在しているファイルを TrueType フォントで表示する際には必要ありませんが、新しく ファイルをつくるときに必要です。 ghostscript のプログラム <tt>/usr/lib/ghostscript/5.50/printafm.ps</tt> によって、 これらのメトリックファイルを生成することができます。 しかし <tt/tetex-bin/ パッケージにある <tt/ttf2afm/ プログラムの方が、より使い方が簡単でしょう。 <!--O The following script will generate an <tt/afm/ file for all TrueType fonts in a directory: --> 以下のスクリプトは、ディレクトリにある全ての TrueType フォントに対して、対応する <tt/afm/ ファイルを生成します。 <tscreen><code> #!/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 </code></tscreen> <!--O One minor problem with <tt/ttf2afm/ is that some applications expect <tt/afm/ files to start with the <tt/StartFontMetrics/ tag, but files created by <tt/ttf2afm/ start with a comment. This "problem" is easily fixed by hitting each file with a text editor. --> <tt/ttf2afm/ には一つ些細な問題があります。 アプリケーションのなかには、 <tt/afm/ ファイルの先頭に <tt/StartFontMetrics/ タグがあると想定しているものがあるのですが、 <tt/ttf2afm/ の作るファイルはコメントで始まるのです。 この「問題」は、それぞれのファイルをテキストエディタで 修正してやれば簡単に回避できます。 <!--O <sect1>Generating <tt/font.map/ files --> <sect1><tt/font.map/ ファイルを生成する <p> <!--O Once we have our <tt/afm/ files, we need to tell the system how to find them. This is often done via the <tt/font.map/ file. --> <tt/afm/ ファイルができたら、システムにその場所を 教えてやる必要があります。これには通常 <tt/font.map/ ファイルが用いられます。 <!--O I have been unable to find documentation on this file format, unlike <tt/fonts.dir/, <tt/fonts.scale/, and <tt/fonts.alias/, all created by the <tt/mkfontdir/ program. However the minimum format appears to be quite simple: --> このファイルのフォーマットに関するドキュメントを、 私は見つけることができていません。 <tt/mkfontdir/ プログラムが生成する <tt/fonts.dir/, <tt/fonts.scale/, <tt/fonts.alias/ などのドキュメントはあるんですけど。 しかしもっとも簡単なフォーマットは極めて単純です。 <itemize> <!--O <item>Font name, without whitespace <item><tt/AFM/ filename, without extension --> <item>フォント名。ホワイトスペースは入っていてはいけない。 <item><tt/AFM/ ファイルのファイル名。拡張子は除く。 </itemize> <!--O Aliases appear to be implemented via multiple entries, and the filename extension must be in lowercase. --> 複数のエントリを書くことによってエイリアスも使えるようです。 ファイル名の拡張子は小文字で書く必要があります。 <!--O <sect1>Image manipulation: <tt/GIMP/ --> <sect1>画像の操作: <tt/GIMP/ <p> <!--O <tt/GIMP/ is the Gnu image manipulation and paint program. I did not have to make any additional changes to use TrueType fonts in <tt/gimp/. --> <tt/GIMP/ は Gnu Image Manipulation and Paint プログラムです。 <tt/gimp/ には特に TrueType に関して変更を行う必要はありませんでした。 <!--O <sect1>ASCII to PostScript conversion: <tt/enscript/ --> <sect1>ASCII → PostScript 変換: <tt/enscript/ <p> <!--O <tt/Enscript/ is a program that converts ASCII to PostScript. Other programs which serve a similiar purpose are <tt/a2ps/ and <tt/mpage/. <tt/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. --> <tt/enscript/ は ASCII を PostScript に変換するプログラムです。 同様の目的に使える他のプログラムには、 <tt/a2ps/ と <tt/mpage/ があります [訳注: a2ps には日本語化された a2ps-ja があります]。 <tt/enscript/ には、ページを 90 度回転させて 2 ページを 1 枚に 収めたり、透かし、ヘッダ、 キーワードベースのシンタックスを用いた色づけなどの機能があります。 テキストの再フォーマットはしません。 もっぱらソースコートの印刷に用いられています。 <!--O To use TrueType fonts with <tt/enscript/, you must do two things: --> <tt/enscript/ で TrueType フォントを使うには、 二つの作業が必要になります。 <itemize> <!--O <item>Add <tt>/usr/share/fonts/truetype</tt> to your <tt/AFMPath/. <item>Specify a TrueType font, either explicitly or by aliasing a default font. --> <item><tt/AFMPath/ に <tt>/usr/share/fonts/truetype</tt> を追加する。 <item>TrueType フォントを、直接あるいはデフォルトフォントの エイリアスとして指定する。 </itemize> <!--O For details, see the <tt/enscript/ documentation. --> 詳細は <tt/enscript/ のドキュメントを読んでください。 <!--O Once I had made these changes, I had no problem using TrueType fonts. --> 私の場合は、これらの変更によって問題なく TrueType フォントが 使えるようになりました。 <!--O <sect1>Text Formatting and Typesetting: <tt/groff/ --> <sect1>テキストの整形と組版: <tt/groff/ <p> <!--O <tt/Groff/ is the Gnu front end of the groff/troff document formatting system. The power of <tt/Groff/ is best seen with <tt/man/ pages. --> <tt/groff/ は GNU 版の nroff/troff 文書整形システムに対する フロントエンドプログラムです。 <tt/groff/ の威力は、 <tt/man/ ページで最も良くわかるでしょう。 <tscreen> <em>user shell</em> <code> $ zcat /usr/man/man1/groff.1.gz | groff -man | lpr </code> </tscreen> <!--O Besides man pages, an incredible amount of Unix documentation uses <tt/troff/ formatting with <tt/ms/ (and occasionally <tt/me/) macros. The Debian <tt/xbooks/ package, for example, has 43 files using <tt/troff/ with <tt/ms/ macros. With <tt/groff/, this material can be attractively printed. --> man ページ以外にも、ちょっと想像もできないような量の Unix 文書が <tt/troff/ の <tt/ms/ マクロ (一部は <tt/me/ マクロ) を使っています。 例えば Debian の <tt/xbooks/ パッケージには、 <tt/troff/ と <tt/ms/ マクロを使っているファイルが 43 もあります。 <tt/groff/ を使うと、非常に見栄えの良い印刷出力が得られます。 <!--O <tt/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 <tt/groff/ reflects that heritage. <tt/Groff/, in contrast to its predecessors, uses PostScript as the default output format so our earlier work with <tt/ghostscript/ takes care of half of the problem -\- <tt/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 <tt/groff/ files: --> <tt/groff/ は非常にパワフルなシステムですが、 これは 1960 年代に印刷物を組版していたプログラムの孫 (あるいは曽孫) なので、 <tt/groff/ のフォント対応はそれらを受け継いでいます。 それまでの roff システムとは異なり、 <tt/groff/ は デフォルトの出力フォーマットに PostScript を用いるので、 先程行った <tt/ghostscript/ の作業で問題の半ばは解決しています -- groff は TrueType フォントファイルを読む必要はないのです。 必要なのは、正確なフォントメトリックです。ですのでこの節では <tt/groff/ に必要な以下のファイルを生成する方法について説明します。 <!--O <tscreen> <em>Groff PostScript description files</em> <code> /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 </code> </tscreen> --> <tscreen> <em>groff の Postscript 記述ファイル</em> <descrip> <tag><tt>/usr/share/groff/font/devps/DESC</tt></tag> デバイス記述ファイル <tag><tt>/usr/share/groff/font/devps/text.enc</tt></tag> テキストフォントに用いられるエンコーディング <tag><tt>/usr/share/groff/font/devps/generate/textmap</tt></tag> 標準のマッピング <tag><tt>/usr/share/groff/font/devps/generate/Makefile</tt></tag> 標準の Makefile </descrip> </tscreen> <!--O We must edit the Makefile, --> Makefile を編集します。 <tscreen> <em>/usr/share/groff/font/devps/generate/Makefile</em> <code> - afmdir=/usr/local/afm + afmdir=/usr/share/fonts/truetype </code> </tscreen> <!--O change the name of the fonts to their TrueType equivalent (e.g., if we're using Microsoft's free TrueType fonts we would replace <tt/Helvetica/ with <tt/Arial/), and change <tt>TEXTFONTS</tt> and the like to only include those fonts we are redefining. --> フォントの名前を TrueType の代替品に変更します (例えば Microsoft のフリーな TrueType フォントを使うなら、 <tt/Helvetica/ を <tt/Arial/ にします)。そして <tt>TEXTFONTS</tt> などを変更し、レンダリングするフォントだけが 含まれるようにします。 <!--O We must also edit <tt>/usr/share/groff/font/devps/generate/afmname</tt> to use the TrueType font names and <tt/afm/ files, and to remove an <tt/"-e"/ flag from <tt/awk/. --> <tt>/usr/share/groff/font/devps/generate/afmname</tt> も編集し、 TrueType フォント名や <tt/afm/ ファイルをつかわせるようにします。 そして <tt/awk/ の <tt/"-e"/ フラグを削除します。 <!--O After all of this, we can rebuild the <tt/groff/ tables with --> これらがすべて終わったら、以下のコマンドによって <tt/groff/ のテーブルを再ビルドします。 <tscreen> <em>user shell</em> <code> $ cd /usr/share/groff/font/devps $ make -f generate/Makefile </code> </tscreen> <!--O 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 <tt/Mistral/ for <tt/TR/. --> いつものように、変更を確認する良い方法は、見た目で違いのわかる フォントを使うことです。例えば Microsoft のフリーな TrueType フォントを使うなら、 <tt/TR/ に <tt/Mistral/ を使ってみるといいでしょう。 <!--O (I expect royalties from everyone who reconfigures their system to print manual pages in Old English fonts next April First!) --> (次のエイプリル・フールには、旧字フォントで マニュアルページを印刷するようにシステムを変更したひとから ロイヤリティがとれるな!) <!--O <sect1>Text Formatting and Typesetting: <tt/TeX/ --> <sect1>テキストの整形と組版: <tt/TeX/ <p> <!--O <tt/TeX/ is the other common set of text formatting and typesetting programs on most GNU/Linux systems. --> <tt/TeX/ は GNU/Linux システムのほとんどで良く用いられている、 もう一つのテキスト整形・組版プログラムです。 <!--O <tt/TeX/ fonts can created with <tt/mktexmf/, but I have little information on the exact process. More details will be provided shortly. --> <tt/TeX/ のフォントは <tt/mktexmf/ によって生成できます。 しかし実際の手順については、現在は私はあまり知りません。 より詳しい情報は近いうちに掲載したいと思います。 <!--O <sect>Unanswered questions --> <sect>未解決の問題 <p> <!--O <itemize> --> <descrip> <!--O <item> Applications <p> --> <tag>アプリケーション</tag> <!--O The biggest unanswered question is why <tt/netscape communicator/ can use TrueType fonts, <tt/ghostscript/ can use the same TrueType fonts, yet pages printed by <tt/netscape/ look nothing like the screen. --> 未解決の問題のうち最大のものは、<tt/netscape communicator/ でも <tt/ghostscript/ でも TrueType フォントを使えるのに、 なぜ <tt/netscape/ で印刷したページは画面表示と 全然違ってしまうのか、ということでしょう。 <!--O The short answer is that <tt/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. --> 短く答えると、 <tt/netscape/ が生成する PostScript 出力では、 標準のフォント (Helvetica と Times-Roman) が使われ、 ユーザーまたは HTML で指定されているフォントは使われないからなのです。 長く答えると、私は <tt/netscape/ がなぜこのような動作を強いているのか、 あるいはそうさせないようにする方法があるのか、全然、まったくわかりません。 <!--O </itemize> --> </descrip> <!--O <sect> Obtaining TrueType Fonts --> <sect>TrueType フォントの取得 <p> <!--O If you're looking for TrueType fonts, here are several places where you can start looking: --> TrueType フォントを探しているひとに、 探すと良さそうなところをいくつか紹介します: <itemize> <!--O <item>c:\windows\fonts on the boat anchor in the corner <item>Microsoft's Free TrueType Fonts <tt><url url="http://www.microsoft.com/typography/fontpack/" name="http://www.microsoft.com/typography/fontpack/"></tt> <item>Acid Fonts <tt><url url="http://www.acidcool.com/" name="http://www.acidcool.com/"></tt> <item>The Font Ring <tt><url url="http://www.webring.org/cgi-bin/webring?ring=fontring&list" name="http://www.webring.org/cgi-bin/webring?ring=fontring&list"></tt> --> <item>隅に転がってる役たたずの <tt>c:\windows\fonts</tt> <item>Microsoft の <url url="http://www.microsoft.com/typography/fontpack/" name="Free TrueType フォント"> <item><url url="http://www.acidcool.com/" name="Acid フォント"> <item><url url="http://www.webring.org/cgi-bin/webring?ring=fontring&list" name="The Font Ring"> </itemize> <!--O <sect1> A comment about using Microsoft's free TrueType fonts --> <sect1>Microsoft のフリーな TrueType フォントの利用に関するコメント <p> <!--O 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: --> Microsoft のフリーな TrueType フォントに対するコメントを抜きにしては、 Linux における TrueType サポートに関する文書は完全なものとはいえません。 まず Microsoft のフリーな core フォントを用いることに関する 法的な義務に関してです: <quote> <!--O <em><tt><url url="http://www.microsoft.com/typography/faq/faq8.htm" name="http://www.microsoft.com/typography/faq/faq8.htm"></tt></em> --> <em><url url="http://www.microsoft.com/typography/faq/faq8.htm"></em> <code> Q. What can I do with these fonts? · Anyone can download and install these fonts for their own use. · [Web page] designers can specify the fonts within their own Web pages. ... Q. これらのフォントはどのように利用して良いですか? · 個人の利用なら、誰でもこれらのフォントをダウンロード・ インストールできます。 · [Web ページ] デザイナーは、これらのフォントを自分の Web ページに指定できます。 ... </code> </quote> <!--O 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. --> 明らかに Linux ユーザーがこれらのフォントをダウンロード・ インストールすることは合法かつ妥当です。私はこれを許可してくれた Microsoft に感謝したいと思います。 <!--O 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 <tt/main/ anytime soon. (Could they be packaged in <tt/non-free/, perhaps as an installer package...?) --> 他の条項で、「商用製品に付加価値を与えるかたちでの (in any form taht adds value to commercial products)」再配布は禁止されているので、 これらのフォントが近いうちに <tt/main/ にパッケージングされることは 期待できません。 (インストーラーパッケージのかたちで <tt/non-free/ に入れることは可能かも...?) <!--O 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. --> 二つめの宣言はちょっとわかりにくいので、 ちょっと注意してください。 Microsoft は、 web ページの作成者には Microsoft フォントをページに指定するよう、 また HTML エディターには明示的にフォント名を指定するよう、 積極的に勧めています。 <!--O 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. --> 標準の Netscape/Linux でみると、結果が、 良く言っても... なんとか読める、程度のサイトがたくさんあります。 まったく読めないものすらあります。偶然の一致ではなく、 その、「なんとか読める」サイトは、 web ページでフォント情報を 明示的に宣言しているサイトなのです。 <!--O 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. --> これらのフォントをインストールすると、これらの問題のあったサイトが ずっと魅力的になることに私は気付きました。 大方のサイトは依然としてだいぶ Windows びいきではありますが、少なくとも これらのページをロードするたびにぎょっとするようなことはなくなりました。 <!--O 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 <tt/ghostscript/ to use them. --> 私のお薦めは、Microsoft のフリーな TrueType フォントを ブラウザにインストールする、です。これらのフォントを指定した web ページを作ったり、 <tt/ghostscript/ を設定して これらを利用させるようにする必要はないでしょう。 <!--O <sect>Legalities --> <sect>法的条項 <p> [訳注: 先に原文を示します.] Copyright © 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. (日本語訳)<newline> Copyright © 1999 by Bear Giles. 特に断りがない限り、 Linux HOWTO 文書の著作権は それぞれの著者が保有しています。 Linux HOWTO 文書の全体あるいは一部は、物理的電子的を問わず、 あらゆるメディアで自由に複写・配布することができます。 ただしその際にはこの著作宣言を全てのコピーに付加する必要があります。 商業的な配布も許可し、また奨励します。 しかしその際には著者にお知らせくだされば幸いです。 Linux HOWTO の文書を含んだ翻訳、修正および編集作業の成果は、 全てこの著作権条項に従う必要があります。 すなわちこの HOWTO を修正した後に、 配布条件に追加条項を加えることはできません。 但し適当と認められた場合は例外とすることもできます。 詳細は Linux HOWTO の管理者に連絡してください。 要するに我々は、これらの情報を可能な限りの方法で広めたいと思っているのです。 しかし我々は HOWTO 文書に関する著作権は保持し続けたいと望んでいます。 また HOWTO を再配布する計画については知らせてほしいと思っています (特にこちら!)。 Web ページの作成者は、この HOWTO へのリンクを 何ら制限なく自由に張ることができます。しかしそのことを電子メールで 筆者に知らせていただければ嬉しく思います。誰がこの文書を読み、 誰がリンクしているかを知れば、自分のエゴを満足させることができますから。 この文書で挙げた多くの用語は商標です。 特に断りがない限り、それぞれの商標は各々の保有者に所属します。 </article>