この章では,国際化アプリケーションを開発する上で考慮しなければならないさまざまな作業について説明します。 次のような作業があります。
入力システムと入力スタイルの選択 (7.1 節)
ユーザ定義文字データベースの管理 (7.2 節)
ロケールの指定によるソート順序の割り当て (7.3 節)
英語以外の言語におけるリファレンス・ページの処理 (7.4 節)
データ・ファイルのコードセットの変換 (7.5 節)
中国語および韓国語の PostScript サポートでのフォント・レンダラの使用 (7.6 節)
この章では,国際化アプリケーションの作成に必要なツールに関する情報を説明します。 この章で説明する内容は,国際化アプリケーションをオペレーティング・システム上で使用する方法にも深く関係します。 この章の情報を使用するとき,姉妹編の『国際化機能ユーザーズ・ガイド』も参照すると役に立ちます。
次のマニュアルでは,オペレーティング・システム上でアジア系言語用に提供されているカスタマイズ方法とソフトウェアの使用方法について,言語ごとに説明しています。
『日本語機能ガイドブック』
これらのマニュアルは,本オペレーティング・システムのドキュメント Web サイト (http://h30097.www3.hp.com/docs/pub_page/V51A_DOCS/PRG_DOCS.HTM) で,プログラミング関連ドキュメントとして掲載されています。 中国語,日本語,および韓国語のテクニカル・リファレンスのテキストでは,英語以外の文字が使用されています。 これらの文字を Web ブラウザで表示するには,適切な言語サポート・サブセットをシステム上にインストールする必要があります。 また,ロケールには,テクニカル・リファレンスで使用されるローカル言語文字を含むロケールを設定する必要があります。
本オペレーティング・システムのドキュメントには,サポートされているすべての言語およびコードセットのリファレンス・ページの他に,国際化
(
i18n_intro
(5)l10n_intro
(5)7.1 入力システムの選択
日本語や中国語,韓国語などの言語では,文字や語句を入力するのに入力システムを使用します。 入力システムを使用すると,入力データにさまざまな編集を加えて文字の入力が行えます。 文字入力の途中で入力されるデータは,前編集文字列と呼ばれます。
X ウィンドウの入力システム仕様では,次のユーザ入力 (前編集) スタイルが規定されています。
On-the-Spot スタイル
編集中のデータは,アプリケーション・ウィンドウに直接表示されます。 アプリケーション・データは,前編集文字列が文字の入力位置に表示されるように移動されます。
Over-the-Spot スタイル
Off-the-Spot スタイル
前編集文字列は,アプリケーション・ウィンドウ内の,入力位置に重ならないウィンドウ内に表示されます。 一般に,前編集文字列用ウィンドウは,アプリケーション・ウィンドウの最下部に表示されます。 この場合,前編集ウィンドウがアプリケーション・ウィンドウの最後のテキスト行を隠してしまうことがありますが,アプリケーション・ウィンドウをサイズ変更すれば,最後の行を表示できます。
Root-Window スタイル
一般に,各ロケールにおける入力システムは,複数のユーザ入力スタイルをサポートしますが,すべての入力スタイルをサポートしているわけではありません。
入力システムによってサポートされている言語で操作を行うときは,VendorShell リソースの
XmNpreeditType
を使用して,入力スタイルの優先順位を指定できます。
省略時の設定では,このリソースは次のように定義されています。
OnTheSpot,OverTheSpot,OffTheSpot,Root
これらの値の優先順位は,入力システムがサポートしていれば On-the-Spot スタイルが使用され,On-the-Spot がサポートされず Over-the-Spot がサポートされていれば,Over-the-Spot が使用されることを示します (Off-the-Spot と Root-Window に関しても同様)。
XmNpreeditType
リソース値をアプリケーションに渡すには,次のいずれかの方法を使用します。
CDE アプリケーションの入力システムを使用する。 このアプリケーションの使用方法については,『CDE ガイドブック』を参照してください。
アプリケーション固有のリソース・ファイルで指定する。
コマンド行でアプリケーションを実行する。
% app-name -xrm '*preeditType: offthespot,onthespot' &
入力スタイルは,専用の入力サーバによってサポートされます。 入力サーバは独立したプロセスとして動作し,アプリケーションと通信しながら入力操作を処理します。
入力サーバは,アプリケーションと同じシステムで実行している必要はありませんが,1 つの例外を除き,アプリケーションを起動する前に実行されており,アプリケーションからアクセス可能でなければなりません。
Motif アプリケーションが,国際化されて簡体字中国語をサポートしており,Reconnectable リソースに True が設定されている
XmText
または
XmTextField
ウィジェットを含んでいる場合,アプリケーションは入力サーバとの接続を,アプリケーションの最初の起動時,またはサーバの停止および再起動時に確立することができます。
詳細については,
XmText
(3X)XmTextField
(3X)
本オペレーティング・システムで利用可能な入力サーバや,各サーバがサポートしている入力スタイルについては,『国際化機能ユーザーズ・ガイド』を参照してください。
7.2 ユーザ定義文字と語句入力の管理
日本,台湾,および中国で使用される文字セットには,アジア地域の場所の名前や人名に使用されることがある一部の文字が含まれていません。 そのような文字はユーザが定義でき,サイト別のデータベースに格納されます。 そのようなデータベースは,ユーザ定義文字 (UDC) または文字属性データベースと呼ばれます。 表意文字を定義するときは,その文字のフォント・グリフ,照合ファイル,およびその他のサポート・ファイルも定義しなければなりません。
UDC データベースの設定方法および使用方法については 付録 B を参照してください。
韓国,台湾,および中国のユーザは,キーワード,省略形,あるいは頭字語を使用して,完全な語句を入力できます。 この機能は,語句データベースと入力メカニズムによってサポートされます。 語句データベースの設定および使用方法については,『国際化機能ユーザーズ・ガイド』を参照してください。
/var/i18n/conf/cp_dirs
構成ファイルによって,ソフトウェア・サービスやハードウェアに,UDC や語句入力をサポートするデータベースを検索させることができます。
例 7-1
に,cp_dirs
ファイルの省略時のエントリを示します。
これらのエントリを編集し,省略時の位置を変更できます。
例 7-1: 省略時の cp_dirs ファイル
# # Attribute directory configuration file # # System location User location # =============== ============= udc - /var/i18n/udc ~/.udc odl - /var/i18n/odl ~/.odl sim - /var/i18n/sim ~/.sim cdb /usr/i18n/.cdb /var/i18n/cdb ~/.cdb iks - /var/i18n/iks ~/.iks pre - /var/i18n/fonts ~/.fonts bdf - /var/i18n/fonts ~/.fonts pcf - /var/i18n/fonts ~/.fonts
cp_dirs
ファイル内の個々の行は,1 つのエントリを表しており,次のフォーマットを持ちます。
[service_name standard_path system_path user_path
]
service_name は次のいずれかです。
pcf
(Printer Customization File フォーマットのフォント・ファイル)
これらのファイルは,フォント解像度に応じて,サブディレクトリの
75dpi
または
100dpi
に置かれます。
pre
(cgen
コマンドで作成されたプリロード・フォーマットのフォント・ファイル)
これらのファイルは,マルチバイト文字端末にプリロードされる raw フォント・ファイルです。
cp_dirs
ファイルには,各サービスについて 1 つのエントリしか含められません。
エントリ行の残りのフィールドは,次のパス指定で構成されます。
standard_path
は,標準文字セット用の照合値データベースの位置を指定する (cdb
エントリにのみ適用される)。
system_path は,システム全体のデータベースの位置を指定する。
user_path は,ユーザの個人用データベースの位置を指定する。
上記の位置は,次のいずれかの形式で指定します。
絶対パス名 (/
) で始まるパス名
ユーザのホーム・ディレクトリを基準とするパス名 (~/
で始まるパス名)
エントリが使用されていないことを示す
-
(マイナス記号またはハイフン)
たとえば,ユーザ定義文字がシステム全体のデータベースでのみサポートされるようにしたいときは,ユーザ定義文字に関連するすべてのサービスについて
user_path
に
-
を指定します。
cp_dirs
ファイル内のコメント行は,番号記号 (#
) で始まります。
7.3 ロケールの指定によるソート順序の割り当て
sort
コマンドは,現在のロケールで定義されている照合順序に従って文字をソートします。
ロケールによっては,対応する文字セットに対して複数の照合規則を適用できます。
ただし,その場合には,言語,地域,およびコードセットの同じ組み合わせについて,複数のロケール名が存在します。
これらのバリエーションは,ユーザが複数の照合順序を選択できるようにするためのものです。
言語,地域,およびコードセットの組み合わせについて複数のロケールが存在する場合,@variant
形式のサフィックスが付加されることがあります。
一般に,%L
指定子を使用して作成されるパス名で問題が生じないようにするために,@
サフィックスが付加されているロケール名は,適切なロケール・カテゴリ変数にのみ指定するようにします。
次の例では,LC_COLLATE
に割り当てられるロケールと
LANG
に割り当てられるロケールは,照合順序のみが異なります。
% setenv LANG zh_TW.eucTW % setenv LC_COLLATE zh_TW.eucTW@radical
ほとんどの言語では,1 つまたは複数のロケールを介して,複数の照合順序をサポートするのが適切な方法です。 ただし,アジア系言語における照合順序には,次に示す理由から,さらに追加のサポートが必要になります。
アジア系言語には,ロケールで規定されていない UDC が含まれている。 これらの文字は照合重み付きで定義できます。 その場合,ソート対象の文字列にユーザ定義文字が現れたときは,その重みを適用しなければなりません。
表意文字は,部首,画数,発音,内部コードなど,異なる要素に従ってソートできる。 ソート操作の際に,これらの要素を組み合わせる必要が生じる場合があります。 操作によっては,まず文字を部首でソートし,次に画数でソートしなければならないことがあります。 また別の操作では,まず文字を発音順にソートして,次に画数の順に並べなくてはならないこともあります。 要素を組み合わせるソートには,深さ優先のソートではなく,幅優先のソートがロケールでサポートされていなければなりません。
これらの理由から
asort
コマンドが提供されており,アジア系言語をサポートする言語別サブセットをインストールすれば,このコマンドが使用できるようになります。
asort
コマンドは,省略時の設定では,LC_COLLATE
変数で定義されている照合順序を使用し,sort
コマンドがサポートするすべてのフラグをサポートします。
また,asort
コマンドには次のフラグが追加されています。
-C
UDC をサポートするために,ソート操作が,cgen
ユーティリティによって生成されたソート・テーブルに加え,特殊なシステム・ソート・テーブルを使用することを示します。
このフラグは,LC_COLLATE
変数によって指定されたロケールで定義されているソート・シーケンスを無効にします。
-v
-C フラグとともに指定することにより,幅優先のソートを可能にします。
このコマンドの使用方法については,
asort
(1)7.4 英語以外の言語におけるリファレンス・ページの処理
一般に,UNIX システムのアプリケーションを開発するプログラマは,アプリケーションとそのコンポーネントを解説するためのオンラインのリファレンス・ページ (manpage) を作成します。
国際市場でアプリケーションを販売するためには,UNIX のテキスト処理用のコマンドとユーティリティで,翻訳版のリファレンス・ページが扱えなければなりません。
このニーズに応えるために,Tru64 UNIX には
nroff
,tbl
,および
man
コマンドの拡張版が用意されています。
7.4.1 nroff コマンド
nroff
コマンドは,ロケールをサポートするための次の機能を備えています。
システムにインストールされているロケールに対応する言語で書かれたリファレンス・ページのソース・ファイルをフォーマットする。
マクロと基本コマンドの文字列引数中で,サポートされているすべての言語の文字を処理する。
リファレンス・ページのソース・ファイル中の
.tr
コマンドにより,サポートされているすべての言語の文字の文字マッピングをサポートする。
ASCII 文字に加え,ローカル言語のエスケープ文字 (\),コマンド制御文字 (.),および nobreak 制御文字 (') の設定を可能にする。
アジア系言語のほとんどのコードセットで定義されている 2 バイトのスペース文字を,出力中で 2 つの ASCII スペースにマップする。
表意文字を含むリファレンス・ページをフォーマットする場合,nroff
コマンドは各文字を 1 つの単語として扱います。
2 バイトの英字と句読点を含む表意文字の文字列は,以下の制約に基づいて次の行に折り返されます。
テキスト行の最後の文字は,標準または個人用の行末禁則文字リストのいずれにおいても,行末禁則文字として定義される文字であってはならない。
テキスト行の先頭の文字は,標準または個人用の行頭禁則文字リストのいずれにおいても,行頭禁則文字として定義される文字であってはならない。
標準の行頭禁則文字と行末禁則文字のリストは,nroff
カタログ・ファイルで定義されています。
これらの文字の詳細については,次の言語固有のマニュアルを参照してください。
『日本語機能ガイドブック』
これらのマニュアルは,本オペレーティング・システムのドキュメント Web サイト (http://h30097.www3.hp.com/docs/pub_page/V51A_DOCS/PRG_DOCS.HTM) で,プログラミング関連ドキュメントとして掲載されています。
行頭禁則文字と行末禁則文字は,nroff
が句読点や右カッコをテキスト行の先頭に置いたり,左カッコをテキスト行の末尾に置くことを防ぐためのものです。
標準の制約は,ソース・ファイル中に
.ki
と
.ko
コマンドを埋め込むことにより,オン/オフできます。
また,次のコマンドを使用して,行頭禁則文字と行末禁則文字の個人用セットを定義することもできます。
.kl 'no-first-list
'no-last-list
'
パラメータ
no-first-list
と
no-last-list
は,行頭禁則文字と行末禁則文字のカテゴリに含める文字の並びです。
個人用の行頭禁則文字と行末禁則文字のリストを取り消すには,パラメータにヌル文字列を指定して
.kl
コマンドを入力します。
次に例を示します。
.kl '''
注意
.kl
コマンドで指定した文字は,行頭禁則文字と行末禁則文字の標準セットを補足するのではなく,上書きします。 そのため,行頭禁則文字と行末禁則文字の標準セットを個人用セットと併用することはできません。コマンド
.kl '''
を入力すると,現在のロケールにおける標準の行頭禁則文字と行末禁則文字セットが使用されます。
nroff
コマンドでは,テキストを右揃えにすることも,右揃えにしないことも可能です。
テキストを右揃えにすると,nroff
は行中の単語の間にスペースを挿入します。
表意文字は,フォーマット処理のほとんどの過程で単語として扱われますが,スペースで区切ることが可能かどうかという点で,文字ごとに違いがあります。
前にスペースを置ける文字,後にスペースを置ける文字,あるいはこの両方が可能な文字のリストが,言語別ユーザ・マニュアルに記載されています。
このユーザ・マニュアルは,Tru64 UNIX の言語別サブセットをインストールすると,オンラインで利用できます。
テキストを右揃えにする場合,nroff
コマンドは次の位置にだけスペースを挿入します。
1 バイトまたは 2 バイトのスペースがすでに存在する位置
英語の文字と表意文字の間
前にスペースを置くことが可能な文字として定義されている文字の前
後にスペースを置くことが可能な文字として定義されている文字の後
これ以外の場合,連続した表意文字の間にはスペースは挿入されません。
したがって,テキスト行が表意文字だけを含んでいるときは,右揃えが不可能な場合があります。
7.4.2 tbl コマンド
tbl
コマンドは,.TS
と
.TE
マクロで区切られたブロック内で,表フォーマット・コマンドの前処理を実行します。
tbl
コマンドは,英語以外の言語のテキストに現れるマルチバイト文字を扱えます。
tbl
コマンドは,neqn
(数式フォーマット・プリプロセッサ) と一緒に使用されることが多く,nroff
コマンドに渡された入力に対してフィルタ処理を行います。
その場合,最初に
tbl
を指定して,パイプを通して渡されるデータ量を最小限に抑えます。
次に例を示します。
% cd /usr/usr/share/ja_JP.deckanji/man/man1 % tbl od.1 | neqn | nroff -Tlpr -man -h | lpr -Pmyprinter
アジア系言語のテキストをプリントするときは,その言語をサポートしているプリンタを使用しなければなりません。
7.4.3 man コマンド
man
コマンドは,リファレンス・ページ・ファイル内のマルチバイト文字を扱えます。
省略時の設定では,man
コマンドは,/usr/share/man
と
/usr/local/man
ディレクトリを検索する前に,/usr/share/locale_name/man
ディレクトリにあるリファレンス・ページを自動的に検索します。
したがって,インストールされているロケールが
LANG
環境変数に設定されており,そのロケールに対応するリファレンス・ページの翻訳版が存在する場合,man
コマンドは適切な言語でリファレンス・ページを表示します。
さらに,特定の言語用のリファレンス・ページの翻訳版が,ユーザのロケールのコードセットと合わないコードセットでエンコードされているときは,man
コマンドは自動的にコードセット変換を適用します (適切なコンバータが利用可能な場合)。
man
コマンドの検索パスの再設定や,コードセット変換の詳細については,
man
(1)7.5 データ・ファイルのコードセットの変換
各ロケールは,特定のコードセットに基づいています。 そのため,あるコードセットでエンコードされているデータを含むファイルを使用するアプリケーションを,別のコードセットに基づくロケールで実行する場合には,文字の解釈が正しく行えないことがあります。 たとえば,ある仮想的な言語に "quo" という文字があり,その文字が,あるコードセットでは \031,別のコードセットでは \042 としてエンコードされているとします。 文字 "quo" がデータ・ファイル内で \031 として格納されている場合,そのファイルからデータを読み込むアプリケーションは,同じコードセットに基づくロケールで実行されなければなりません。 さもないと,\031 は "quo" 以外の文字として認識されます。
ユーザ,あるいはユーザが実行するアプリケーションは,プロセス環境を特定のロケールに設定して,ロケールが基づくコードセットとは異なるコードセットで作成されたデータ・ファイルを使用しなければならない場合があります。 異なる言語環境や,ユーザのロケールとは異なるコードセットでデータ・ファイルが使用される例を,次に示します。
データ・ファイルが,ベンダ固有のコードセットに基づくロケールを使用して,ベンダのシステム上で作成されている場合。 たとえば,PC をエンタープライズ・コンピューティング環境に統合する際に,UNIX ユーザが,MS-DOS コードページ・フォーマットでエンコードされているデータ・ファイルを扱わなければならないことが多々あります。
ロケールが,日本語などの同じアジア系言語をサポートする複数の UNIX ロケールの 1 つである場合。 一般にアジア系言語は,それぞれ異なるコードセットに基づく複数のロケールでサポートされています。
データ・ファイルが,Unicode,UCS-4,UTF-8,UTF-16,UTF-32 のいずれかのフォーマットでエンコードされている場合。 データ・ファイル内の文字をプリントしたり,画面上に表示するのであれば,利用可能なフォントに対応するエンコーディングに文字を変換しなければなりません。
iconv
コマンドや,iconv_open()
,iconv()
,および
iconv_close()
関数を使用することにより,データ・ファイルをあるコードセットから別のコードセットに変換できます。
たとえば次のコマンドは,SJIS
コードセットでエンコードされているファイル
accounts_local
内のデータを読み込み,そのデータを
eucJP
コードセットに変換して,結果をファイル
accounts_central
に追加します。
% iconv -f SJIS -t eucJP accounts_local \ >> accounts_central
man
コマンドや国際化対応のプリント・フィルタなど,多数のコマンドおよびユーティリティで,iconv()
関数と,関連するコンバータを使用して,コードセットの変換を行います。
iconv
コマンドおよび関連する関数は,データを変換する際にアルゴリズムに基づくコンバータか,テーブル・コンバータのいずれかを使用できます。
アルゴリズムに基づくコンバータは,システムにインストールされていれば,/usr/lib/nls/loc/iconv
ディレクトリに置かれています。
このディレクトリは,コンバータを探すときに最初に検索されるディレクトリです。
このディレクトリには,同じコンバータに対して,システムで指定された別の名前をマップするための別名ファイル (iconv.alias
) も含まれています。
テーブル・コンバータは,システムにインストールされていれば,/usr/lib/nls/loc/iconvTable
ディレクトリに置かれています。
LOCPATH
変数が定義されている場合,この変数の値はコマンドの省略時の検索パスに置き換わりします。
iconv
コマンドは,コンバータ名が次のフォーマットになっているものと想定します。
from-codeset_
to-codeset
上記の例では,iconv
コマンドは コンバータ
/usr/lib/nls/loc/iconv/SJIS_eucJP
を検索して使用します。
また,HKSCS (Hong Kong Supplementary Character Set) のコードセット変換をサポートするオペレーティング・システムがあるとします。
HKSCS は,ロケールでも文字セット名でもありませんが,中国語で行われる電子通信やデータ交換の共通言語インタフェースを提供するために使用されます。
HKSCS の文字は,コンピュータでのみ使用されます。
Tru64 UNIX では,HKSCS は,HKSCS 文字を含み,サポートが HKSCS と Unicode 間のコード変換に限定される,拡張 Big-5 エンコーディングの名前として使用されます。
iconv
コマンドを使用すると,HKSCS によるコードセット変換は,次のいずれかとして指定されます。
UTF-16_HKSCS
または
HKSCS_UTF-16
UCS-4_HKSCS
または
HKSCS_UCS-4
UTF-8_HKSCS
または
HKSCS_UTF-8
Hong Kong Supplementary Character Set
についての詳細は,
HKSCS
(5)
表 7-1 に,Tru64 UNIX が英語のデータに関してサポートするコードセット変換を示します。 次のマニュアルには,アジア系言語でサポートされているコードセット変換テーブルの説明があります。
『日本語機能ガイドブック』
iconv
コマンドについての詳細は,
iconv
(3)iconv_intro
(5)iconv_open
(3)iconv
(1)iconv_close
(3)
コードセット | ASCII-GR | ISO8859-1 | ISO8859-1-GL | ISO8859-1-GR |
ASCII-GR | - | ○ | × | × |
ISO8859-1 | ○ | - | ○ | ○ |
ISO8859-1-GL | × | ○ | - | × |
ISO8859-1-GR | × | ○ | × | - |
7.6 中国語および韓国語の PostScript サポートでのフォント・レンダラの使用
この節では,中国語と韓国語の PostScript フォントをサポートする Motif アプリケーションを作成する場合の,フォント・レンダラの使用について説明します。
表意文字用のキャッシュ・サイズの調整やローカル言語用のウィンドウのカスタマイズについては,『国際化機能ユーザーズ・ガイド』を参照してください。
7.6.1 マルチバイト PostScript フォント用のフォント・レンダラの使用法
オペレーティング・システムには,中国語と韓国語で利用可能な PostScript フォントを X アプリケーションで使用できるようにするレンダラが備わっています。 システム管理者は,X サーバやフォント・サーバを介して使用する,次の種類のフォントに対応するレンダラをセットアップできます。
2 バイト PostScript アウトライン・フォント
UDC フォント
IOSWWXFR**
サブセットをインストールすると,PostScript アウトライン・フォントのフォント・レンダリングが自動的に使用できるようになります。
7.6.1.1 2 バイト PostScript フォント用のフォント・レンダラのセットアップ
中国語と韓国語の PostScript フォント用のフォント・レンダラは,適切な構成ファイルを編集することにより,X サーバまたはフォント・サーバを介して使用するようにセットアップできます。
X サーバの場合,フォント・レンダラはインストレーション時に,X サーバの構成ファイル内の
font_renderers
リストに自動的に追加される。
フォント・サーバの場合,フォント・サーバの構成ファイル内の
renderers
リストに,次のエントリを手作業で追加しなければならない。
renderers = other_renderer, other_renderer,... libfr_DECpscf.so;DECpscfRegisterFontFileFunctions
さらに,同じ構成ファイル内の
catalogue
リストに PostScript フォント・ファイルのパスを指定しなければなりません。
アジア系言語用の 2 バイト PostScript フォントは,次のディレクトリに置かれています。
/usr/i18n/lib/X11/fonts/KoreanPS /usr/i18n/lib/X11/fonts/SChinesePS /usr/i18n/lib/X11/fonts/TChinesePS
これらのディレクトリにある各フォントには,次のコンポーネントが必要です。
.pfa2
ファイル名拡張子の付いた Type1 フォント・ヘッダ
このヘッダ・ファイルは,フォント・ディレクトリの
fonts.dir
ファイル内になければならない唯一のファイルです。
.csdata
ファイル名拡張子の付いたデータ・ファイル
.xafm
ファイル名拡張子の付いたバイナリ・メトリックス・ファイル
アジア系言語用の 2 バイト PostScript フォントのレンダラは,次の情報を含むそれ自体の構成ファイルを持ちます。
キャッシュ・サイズ (キャッシュ・ユニットの数)
キャッシュ・ユニットのサイズ
ファイル・ハンドラ (フォント・レンダリング・ソフトウェアに対応する名前)
省略時の文字 (グリフのない文字の代わりにプリントされる文字)
この構成ファイルの省略時パス名は
/var/X11/renderer/DECpscf_config
ですが,このパス名は
DECPSCF_CONFIG_PATH
環境変数を設定することにより変更できます。
7.6.1.2 UDC フォント用のフォント・レンダラのセットアップ
UDC フォント・レンダラは UDC データベースに直接アクセスして,フォント・グリフを取得します。
そのため,このレンダラを使用する X アプリケーションは,cgen
ユーティリティによって作成された
.pcf
ファイルを使用する必要はありません。
UDC フォント・レンダラは,X サーバまたはフォント・サーバを介して使用するようにセットアップできます。
X サーバの場合,フォント・レンダラはインストレーション時に,X サーバの構成ファイル内の
font_renderers
リストに自動的に追加される。
フォント・サーバの場合,フォント・サーバの構成ファイル内の
renderers
リストに,次のエントリを手作業で追加しなければならない。
renderers = other_renderer, other_renderer,... libfr_UDC.so;UDCRegisterFontFileFunctions
さらに,同じ構成ファイル内の
catalogue
リストに UDC データベースのパスを指定しなければなりません。
このパスは,UDC データベースのトップ・ディレクトリに設定する必要があります。
たとえば,データベースが省略時のディレクトリにセットアップされているときは,/var/i18n/udc
がシステム全体の UDC データベースに対する適切なパスになります。
特定の言語で UDC 文字を処理するためには,次のような PostScript フォント・ディレクトリにある
fonts.dir
ファイル内に,フォント・レンダラのエントリがなければなりません。
/usr/i18n/lib/X11/fonts/SChinesePS /usr/i18n/lib/X11/fonts/TChinesePS
fonts.dir
ファイルを編集して,コードセットに登録されている対応する XLFD 名が後に続く,locale_name.udc
形式の仮想ファイル名を指定します。
表 7-2
に,さまざまなアジア系コードセットに対応する XLFD エントリを示します。
表 7-2: UDC 文字用の XLFD 登録名
コードセット | XLFD 登録名 |
dechanyu ,eucTW |
DEC.CNS11643.1986-UDC |
big5 |
BIG5-UDC |
dechanzi |
GB2312.1980-UDC |
deckanji ,sdeckanji ,eucJP |
JISX.UDC-1 |
次に,/usr/i18n/lib/X11/fonts/TChinesePS
ディレクトリにある
fonts.dir
ファイルのエントリ例を示します。
2 zh_TW.dechanyu.udc -system-decwin-normal-r--24-240-75-75-m-24-DEC.CNS11643.1986-UDC zh_TW.big5.udc -system-decwin-normal-r--24-240-75-75-m-24-BIG5-UDC
7.6.1.3 TrueType フォント用のフォント・レンダラの使用
オペレーティング・システムには,TrueType フォントを使用可能にするフォント・レンダラ (/usr/shlib/X11/libfr_TrueType.so
) が含まれています。
現在,オペレーティング・システム製品に含まれている TrueType フォントは,中国語の簡体字のみです。
ただし,サイトで使用するアプリケーションで別言語の他社製 TrueType フォントが必要なときには,フォント・レンダラを構成して,このようなフォントを使用することもできます。
詳細は
TrueType
(5X)