国際化対応言語環境の利用ガイド

プリンタ常駐フォントの追加方法

次の手順例は、新しい PCF、TrueType、または Type1 のプリンタ常駐フォントを構成ファイルに追加する方法を示しています。

この手順を実行して、現在設定されているフォントを変更します。最初の 2 つの手順では、0x00000021 から 0x0000007f の範囲にある文字を表示するための PCF フォントが TrueType フォントに変更されます。

  1. 新しいフォントを追加する前に、現在設定されているフォントに対応する、構成ファイルのさまざまなコンポーネントを確認します。

    FontNameAlias iso88591R  PCF  /usr/openwin/lib/X11/fonts/75dpi/courR18PCF.Z
    FontNameAlias iso88591B  PCF  /usr/openwin/lib/X11/fonts/75dpi/courB18PCF.Z
    .
    .
    .
    FontGroup       iso88591         PCF       iso88591R iso88591B
    .
    .
    .
    MapCode2Font    0x00000020      0x0000007f      iso88591
    .
    .
    .
    CnvCode2Font iso88591R _xuiso88591 /usr/lib/lp/locale/$LANG/mp/xuiso88591.so
    CnvCode2Font iso88591B _xuiso88591 /usr/lib/lp/locale/$LANG/mp/xuiso88591.so

    たとえば、/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf フォントを en_US.UTF-8 ロケールに対応付けするとします。HG-MinchoL.ttf は Unicode TrueType フォントファイルであるため、.so モジュールの対応付け機能を使用して、受け取った ucs-2 コードポイントを直接返します。

    unsigned short _ttfjis0201(unsigned short ucs2) {
                     return(ucs2);
             }
    1. 対応付けを ttfjis0201.c ファイルに保存します。

    2. 共有オブジェクトファイルを作成します。

      cc -G -Kpic -o ttfjis0201.so ttfjis0201.c
  2. PCF ファイル (/usr/openwin/lib/locale/ja/X11/fonts/75dpi/gotmrk20.pcf.Z など) を対応付けるには、/usr/openwin/lib/locale/ja/X11/fonts/75dpi/fonts.dir ファイル内の XLFD に対応する、次のエンコーディングを確認します。

    -sun-gothic-medium-r-normal--22-200-75-75-c-100-jisx0201.1976-0
    1. jisx0201 エンコーディングの場合、ucs-2jisx0201 を対応付ける共有オブジェクトを用意します。.so モジュールを作成するための対応付けテーブルを取得します。Unicode ロケールの場合、ftp.unicode.org/pub/MAPPINGS/ ディレクトリ内で Unicode への文字セットの対応付けを見つけます。

    2. これらの対応付けを使用して、xu2jis0201.c ファイルを作成します。

      unsigned short _xu2jis0201(unsigned short ucs2) {
                               if(ucs2 >= 0x20 && ucs2 <= 0x7d )
                                       return (ucs2);
                               if(ucs2==0x203e)
                                       return (0x7e);
                               if(ucs2 >= 0xff61 && ucs2 <= 0xff9f)
                                       return (ucs2 - 0xff60 + 0xa0);
                              return(0);
                       }
    3. 対応付けファイルを作成するときには、usc—2jisx0201 に対応付けるすべての組み合わせを組み込みます。

      cc  -G -o xu2jis0201.so xu2jis0201.c