この章では、システムで定義済みの SunOS の日本語環境を、システム管理者が必要に応じて変更する場合の方法と注意事項を説明します。
ユーザーが個々のロケールを設定する場合と同様に、そのシステムのロケールも設定できます。このシステムロケールは、ユーザーがロケールを明示的に設定しないときのデフォルトロケールとして使われたり、ロケールに依存して機能するデーモンのロケールとして使われたりします。
インストール時に「言語とロケールの選択 (Select Language and Locale)」画面で選択したロケールが、システムロケールとして設定されます。システムロケールは以下のファイルで設定されます。このファイルの LANG の値を変更することによって、システムロケールを変更できます。詳細は、init(1M) を参照してください。
sun% more /etc/default/init : TZ=Japan LANG=ja |
JFP は、複数バイト言語国際化のために拡張された in.comsat (/usr/SUNWale/sbin/in.comsat) を提供しています。第 5 章「国際化 SunOS コマンドの利用」の 「メール到着の通知」の例のように、到着した日本語メールをコード変換して Solaris CDE や OpenWindows のコンソールウィンドウなどに表示するためには、以下のように install_comsat を実行する必要があります。
sun# /usr/SUNWale/sbin/install_comsat ja |
詳細は、install_comsat(1M) と inetd(1M) のマニュアルページを参照してください。install_comsat(1M)のマニュアルページを参照するには、環境変数 MANPATH または man(1) のオプション -M の引数に /usr/SUNWale/man が含まれている必要があります。
JFP は、LP 印刷サービスを使用して、ドットマトリックス漢字プリンタ (EPSON VP-5085 、 NEC PC-PR201)、日本語ページプリンタ (Canon LASERSHOT)、日本語 PostScript プリンタで日本語テキストを印刷するために、これらの変換フィルタ群を提供します。
JFP では、LP 印刷サービスを使用して、ドットマトリックス漢字プリンタ (EPSON VP-5085、 NEC PC-PR201)、日本語ページプリンタ (Canon LASERSHOT) で日本語テキストを印刷できます。
EPSON VP-5085 用のデータベースは EPSON ESC/P の ESC/P24-J84 に準拠したコントロールコード、NEC PR201 用のデータベースは NEC 201PL に準拠したコントロールコードを使用しています。このため、これらのコントロールコードをサポートする他のプリンタでも日本語テキストを印刷できます。
JFP では、日本語 dumb プリンタをサポートする目的で、以下のファイルを提供しています。
表 4-1 日本語 dumb プリンタのサポート用に提供されるファイルプロセッサの種類 | キーボードの種類 |
---|---|
/usr/share/lib/terminfo/c/canon-ls-a408 | Canon LASERSHOT A408 用の terminfo データベース (Canon LASERSHOT の LIPS に準拠) |
/usr/share/lib/terminfo/e/epson-vp5085 | EPSON-VP5085 用の terminfo データベース (EPSON ESC/P の ESC/P24-J84 に準拠) |
/usr/share/lib/terminfo/n/nec-pr201 | NEC PR201 用の terminfo データベース (NEC 201PL に準拠) |
/usr/lib/lp/text/jprconv | 日本語テキスト印刷フィルタ |
/usr/lib/lp/text/jprconv.conf | 日本語テキスト印刷フィルタ用設定ファイル |
/etc/lp/fd/jprconv.fd | 日本語テキスト印刷フィルタ記述子ファイル |
/usr/lib/lp/model/jstandard | 日本語プリンタ・インタフェースプログラム |
日本語プリンタ・インタフェースプログラムでは、標準のインタフェースプログラムのほか表 4-2 に示すプリンタ固有のオプションが追加されています。その他のオプションは標準インタフェースプログラムと同じです。詳細は、lp(1) のマニュアルページを参照してください。
表 4-2 lp のプリンタ固有オプション
オプション |
内容 |
---|---|
x=cols |
左マージンを cols カラムに設定する |
landscape |
用紙を横長にして印刷する (Canon LASERSHOT にのみ有効) |
プリンタ固有のオプションの使用例を以下に示します。
sun% lp -o x=30 textfile.txt sun% pr -2 -l46 -w170 -t textfile.txt | lp -o nobanner -o landscape |
以下のフィルタ固有のオプションが lp を通して利用可能です。
表 4-3 jprconv フィルタ固有のオプション
オプション |
内容 |
---|---|
-y PCK |
指定したファイルの文字コードを PCK に指定 |
-y eucJP |
指定したファイルの文字コードを eucJP に指定 |
-y UTF-8 |
指定したファイルの文字コードを UTF-8 に指定 |
フィルタ固有のオプションの使用例を以下に示します。
sun% lp -y PCK textfile.pck |
日本語テキスト印刷フィルタを使用する場合、次の制限事項があります。
制限事項
PostScript ファイルを印刷できない
lp のプリンタ固有オプションでは、length、width、lpi、および cpi がサポートされない
UTF-8 では、日本語 EUC で表現できる文字のみ印刷可能 (ただしユーザー定義文字は除く)
JFP では、日本語 PostScript プリンタで日本語テキストを印刷できます。日本語 PostScript プリンタに日本語テキストを印刷する方法は 2 通りあります。1 つは、jtops(1) を使ってクライアント側で PostScript に変換し、プリンタサーバーに渡す方法であり、もう 1 つは、サーバー側で変換する方法です。ここでは、サーバー側で変換する場合のプリンタの設定方法について説明します。
JFP は、日本語 PostScript プリンタをサポートするために以下のファイルを提供します。
表 4-4 日本語 PostScript プリンタのサポート用に提供されるファイル
/usr/share/lib/terminfo/c/canon-ls-a408 |
Canon LASERSHOT A408 用の terminfo データベース (Canon LASERSHOT の LIPS に準拠) |
/usr/lib/lp/postscript/jpostprint |
日本語テキストを日本語 PostScript に変換するフィルタ |
/usr/lib/lp/postscript/jpostprint.conf |
上記フィルタの設定ファイル |
/etc/lp/fd/jpostprint.fd |
上記フィルタの記述子ファイル |
lp では、以下のフィルタ固有のオプションを利用できます。
表 4-5 jpostprint フィルタ固有のオプション
オプション |
内容 |
---|---|
-o length=len |
1 ページの行数を len に指定 |
-P page-list |
page-list で指定するページ範囲を印刷 |
-y group |
1 ページあたり 2 個の論理ページで印刷 |
-y group=n |
1 ページあたり n 個の論理ページで印刷 |
-y portrait |
縦長で印刷 |
-y landscape |
横長で印刷 |
-y magnify=n |
n 倍に拡大して印刷 |
-y PCK |
指定したファイルの文字コードを PCK に指定 |
-y eucJP |
指定したファイルの文字コードを eucJP に指定 |
-y UTF-8 |
指定したファイルの文字コードを UTF-8 に指定 |
フィルタ固有のオプションの使用例を以下に示します。
sun% lp -P 2,3 -y PCK textfile.pck |
UTF-8 では、日本語 EUC で表現できる文字のみ印刷可能 (ただしユーザー定義文字は除く)
日本語テキストを印刷するには、プリンタを正しく追加する必要があります。プリンタの追加方法は、ローカルプリンタとして追加するかリモートプリンタとして追加するかによって異なります。
まず、各プリンタに共通する手順を説明します。
IA システム上にプリンタデバイスが存在しない場合は、『Solaris 8 デバイスの構成 (Intel 版)』を参照して、あらかじめプリンタデバイスを正しく作成しておく必要があります。
システムの電源を切ります。
システムとプリンタをプリンタケーブルで接続します。
システムの電源を入れ、Solaris を起動します。
スーパーユーザーになります。
まだ起動していなければ、Solaris CDE または OpenWindows を起動します。
次に、各プリンタに固有の手順を説明します。
この説明では、プリンタ名を vp5085、プリンタタイプを epson-vp5085、デバイス名を /dev/term/a と仮定しています。
以下に手順を示します。
dtterm などの端末エミュレータを起動し、以下を実行します。
sun# lpadmin -p vp5085 -v /dev/term/a -T epson-vp5085 -I None ¥ -i /usr/lib/lp/model/jstandard sun# lpadmin -d vp5085 sun# accept vp5085 sun# enable vp5085 |
なお、terminfo (-T) と content (-I) は使用するプリンタによって異なります。以下の表を参考にしてください。
表 4-6 プリンタタイプコントロールコード | terminfo (-T) | content (-I) |
---|---|---|
Canon LASERSHOT | canon-ls-a408 | None |
EPSON ESC/P | epson-vp5085 | None |
NEC 201PL | nec-pr201 | None |
日本語 PostScript | PS | postscript |
次のように入力して、印刷フィルタを登録します。
sun# cd /etc/lp/fd sun# lpfilter -f jprconv -F jprconv.fd |
sun# cd /etc/lp/fd sun# lpfilter -x -f postprint sun# lpfilter -f jpostprint -F jpostprint.fd |
必要に応じて、インタフェースプログラムの構成を変更します。
sun# cd /etc/lp/interfaces sun# vi vp5085 |
たとえば、常にバナーページを印刷しない場合は、インタフェースプログラムを編集して、「Default nobanner」の「nobanner="no"」の部分を「nobanner="yes"」に変更します。
: # # Default nobanner # nobanner="no" : banner page will be printed as default # nobanner="yes" : banner page will not be printed as default # nobanner="yes" : |
手順 1 でデバイス名 (lpadmin コマンドのオプション -v の引数) として /dev/bpp0 以外を指定した場合は、次のように入力して、stty オプションを設定します。
sun# lpadmin -p vp5085 -o "stty=-opost" |
システムをリブートします。
sun# sync;sync;sync;reboot |
dtterm などの端末エミュレータを起動し、以下を実行します。
sun# lpadmin -p vp5085 -s hiraki¥!vp5085 |
/etc/printers.conf ファイルを確認します。
printers.conf ファイルの該当するサーバー部分に以下のように「Solaris」が入っていることを確認します。
vp5085:¥ :bsdaddr=hirari,vp5085,Solaris: |
以上の手順を終了すると、lp コマンドを使用して、追加したリモートプリンタに出力できます。
ネットワークプリンタとして登録します。
以下の例は、日本語 PostScript プリンタをネットワーク経由で接続した場合の例です。プリンタ側には、あらかじめ以下のように設定されていると仮定します。
Host Name : nwpr2 Printer Name : pspr |
sun# lpadmin -p pspr -I postscript -T PS -v /dev/null ¥ -i /usr/lib/lp/model/netstandard -o dest=nwpr2:pspr ¥ -o protocol=bsd sun# accept pspr sun# enable pspr |
次のように入力して、テキストファイル印刷フィルタを登録します。
sun# cd /etc/lp/fd sun# lpfilter -x -f postprint sun# lpfilter -f jpostprint -F jpostprint.fd |
必要に応じて、インタフェースプログラムの構成を変更します。
sun# cd /etc/lp/interfaces sun# vi vp5085 |
たとえば、常にバナーページを印刷しない場合は、インタフェースプログラムを編集して「Default nobanner」の「nobanner="no"」の部分を「nobanner="yes"」に変更します。
: # # Default nobanner # nobanner="no" : banner page will be printed as default # nobanner="yes" : banner page will not be printed as default # nobanner="yes" : |
システムをリブートします。
sun# sync;sync;sync sun# reboot |
JFP では、日本語 dumb プリンタや日本語 PostScript プリンタでの日本語テキストの印刷をサポートしています。日本語テキストには、JIS X 0212、ユーザー定義文字、ベンダー定義文字を含めることができます。これらの文字を印刷するためには、そのフォントをプリンタサーバー上に正しくインストールする必要があります。ここでは、これらのフォントのインストール方法について説明します。
ユーザー定義文字とベンダー定義文字の定義領域については、第 2 章「日本語ロケール」を参照してください。また、ユーザー定義文字の作成方法については、第 14 章「ユーザー定義文字の登録 (Solaris 外字ツール)」を参照してください。
ユーザー定義文字のフォントとしては sdtudctool(1) で出力される PCF フォント、JIS X 0212 とベンダー定義文字のフォントとしては SUNWjxcft に含まれる24 ドットの PCF フォントだけが使用できます。
プリンタサーバー上で次のように操作します。
JIS X 0212 とベンダー定義文字フォントのインストール
SUNWjxcft パッケージがインストールされているかどうかを確認します。
sun# pkginfo SUNWjxcft |
SUNWjxcft パッケージがインストールされている場合は、次のようなメッセージが表示されます。
SUNWjxcft Japanese X Window System common (not required) fonts |
ここで SUNWjxcft が見つからなかった場合は、次のコマンドを実行します。
sun# pkgadd -d <Solaris CD>/Product SUNWjxcft |
上記 <Solaris CD> には、Solaris CD のインストールイメージがあるディレクトリを指定します。
ユーザー定義文字フォントのインストール
sdtudctool でユーザー定義文字フォントを作成します。
作成したフォントをインストールします。
sun% cd $HOME/.Xlocale/$LANG/fonts/UDC/Bitmaps sun% su sun# mkdir -p /usr/openwin/lib/locale/$LANG/X11/fonts/UDC/Bitmaps sun# cp UDC24.pcf /usr/openwin/lib/locale/$LANG/X11/fonts/UDC/Bitmaps |
ユーザー定義文字のフォントとしては sdtudctool(1) で出力される Type1 フォント、 JIS X 0212 とベンダー定義文字のフォントとしては SUNWjcs3f に含まれる Type1 フォントだけが使用できます。
プリンタサーバー上で次のように操作します。
JIS X 0212 とベンダー定義文字フォントのインストール
SUNWjcs3f パッケージがインストールされているかどうかを確認します。
sun# pkginfo SUNWjcs3f |
SUNWjcs3f パッケージがインストールされている場合は次のようなメッセージが表示されます。
SUNWjcs3f Japanese JIS X0212 Type1 fonts for printing |
ここで SUNWjcs3f が見つからなかった場合は、次のコマンドを実行します。
sun# pkgadd -d <Solaris CD>/Product SUNWjcs |
上記 <Solaris CD> には、Solaris CD のインストールイメージがあるディレクトリを指定します。
ユーザー定義文字フォントのインストール
sdtudctool でユーザー定義文字フォントを作成します。
作成したフォントをインストールします。
sun% cd $HOME/.Xlocale/$LANG/fonts/UDC/Type1 sun% su sun# mkdir -p /usr/openwin/lib/locale/$LANG/X11/fonts/UDC/Type1 sun# cp UDC*.pfa /usr/openwin/lib/locale/$LANG/X11/fonts/UDC/Type1 |
jpostprint を起動し、クライアント側で PostScript ファイルに変換することにより、プリンタサーバーとは異なった独自の外字を印刷することもできます。
sun% /usr/lib/lp/postscript/jpostprint <テキストファイル名> |
この場合は、$HOME/.Xlocale/$LANG/fonts/UDC/Type1 にある外字フォントが使用されます。
プロセッサの種類 | キーボードの種類 |
---|---|
SPARC |
日本語タイプ 4 キーボード 日本語タイプ 5 キーボード 日本語タイプ 6 キーボード |
IA |
106 キーボード J3100 キーボード |
日本語タイプ 5 キーボードの制限事項については、U.S. タイプ 5 キーボードと同じです。
日本語キーボードについては、 SunOS の「各国語キーボードサポート」機能により、自動的に対応するキーテーブルが読み込まれます。