この章では、システムで定義済みの 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) のマニュアルページを参照してください。
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 では、これらのコントロールコードをサポートする他のプリンタでも日本語テキストを印刷できます。
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 プリンタに日本語テキストを印刷する方法は、jtops(1) を用いてクライアント側で PostScript に変換して、プリンタサーバーに渡す方法とサーバー側で変換する方法があります。ここでは、サーバー側で変換する方法を使用する場合のプリンタの設定方法について説明します。
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 で表現できる文字のみ印刷可能です。
日本語テキストを印刷するには、プリンタを正しく追加する必要があります。この場合、ローカルプリンタとして追加するか、リモートプリンタとして追加するかによって追加方法が異なります。
まず、各プリンタに共通する手順を説明します。
x86 上にプリンタデバイスが存在しない場合は、『Solaris 情報ライブラリ (Intel 版)』の「デバイスの構成」を参照してあらかじめプリンタデバイスを正しく作成しておく必要があります。
システムの電源を切ります。
システムとプリンタをプリンタケーブルで接続します。
システムの電源を入れ、Solaris を起動します。
スーパーユーザーになります。
一般ユーザーでシステム管理ツール (Admintool) を使用する際は、sysadmin グループ (GID 14) の一員になる必要があります。
まだ起動していなければ、Solaris CDE または OpenWindows を起動します。
次に、各プリンタに固有の手順について説明します。
Admintool を使用してローカルプリンタを追加する方法を説明します。
Admintool の詳細は、『Solaris のシステム管理』を参照してください。
この説明では、プリンタ名を vp5085、プリンタタイプを epson-vp5085、デバイス名を /dev/term/a と仮定しています。
以下に手順を示します。
Admintool を起動します。
sun# admintool & |
「ブラウズ」上をクリックして、「プリンタ」を選択します。
「編集」上をクリックして「追加」を選択し、さらに「ローカルプリンタ...」を選択します。
以下のウィンドウが表示されます。
「プリンタ名」テキストフィールドに、ローカルプリンタ名を入力します (この例では vp5085)。
「プリンタポート」上でマウスのメニューボタンを押し、該当するデバイスを選択します (この例では /dev/term/a)。
「プリンタタイプ」上でマウスのメニューボタンを押し、「その他...」を選択します。そして、表示されるポップアップウィンドウに、以下の表から該当するプリンタタイプを入力し、「了解」ボタンを押します (この例では、epson-vp5085)。
表 4-6 プリンタタイプ
Canon LASERSHOT |
canon-ls-a408 |
EPSON ESC/P |
epson-vp5085 |
NEC 201PL |
nec-pr201 |
日本語 PostScript |
PostScript |
「ファイルの形式」上でマウスのメニューボタンを押し、「None」を選択します。
プリンタを、デフォルトプリンタとしてシステムに追加したい場合は、オプションの「デフォルトプリンタ」のチェックボックスをチェックします。
「了解」ボタンをクリックします。
次のように入力して、印刷フィルタを登録します。
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 /usr/lib/lp/model sun# vi jstandard |
"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" : |
次のように入力してインタフェースプログラムを登録します。
-p の後には、手順 4のプリンタ名の設定で入力したプリンタ名を入力します (この例では vp5085)。
sun# lpadmin -p vp5085 -i /usr/lib/lp/model/jstandard |
手順 5 の印刷ポートの設定でデバイスとして /dev/bpp0 以外を指定した場合は、次のように入力して、stty オプションを設定します。
sun# lpadmin -p vp5085 -o "stty=-opost" |
システムをリブートします。
sun# sync;sync;sync;reboot |
ここでは、Admintool を使用してリモートプリンタを追加する方法を説明します。
Admintool の詳細は、『Solaris のシステム管理』を参照してください。
以下に手順を示します。
Admintool を起動します。
sun# admintool & |
「ブラウズ」上をクリックして、「プリンタ」を選択します。
「編集」上をクリックして「追加」を選択し、さらに「プリンタへのアクセス...」を選択します。
以下のウィンドウが表示されます。
「プリンタ名」テキストフィールドに、リモートプリンタ名を入力します (この例では vp5085)。
「印刷サーバ」テキストフィールドに、リモートプリンタを接続するシステム名を入力します (この例では hiraki)。
プリンタをシステムのデフォルトプリンタにしたい場合は、オプションの「デフォルトプリンタ」のチェックボックスをチェックします。
「了解」ボタンをクリックします。
sun# cd /etc sun# vi printers.conf |
vi などで printers.conf ファイルの該当するサーバー部分 ":bsdaddr=hiraki,sparc140:" に、以下のように「Solaris」を追加します。
:bsdaddr=hiraki,sparc140,Solaris: |
以上の手順が終了すると、lp コマンドを使用して、追加したリモートプリンタに出力できます。ここで設定したプリンタの利用法に関しては、第 6 章「日本語環境用 SunOS コマンド」を参照してください。
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 パッケージがインストールされている場合は、次のようなメッセージが表示されます。
sun# 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 パッケージがインストールされている場合は次のようなメッセージが表示されます。
sun# 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 キーボード |
x86 |
106 キーボード J3100 キーボード |
日本語タイプ 5 キーボードの制限事項については、U.S. タイプ 5 キーボードと同じです。『Sun タイプ 5 キーボード プロダクト・ノート』を参照してください。
日本語キーボードは、SunOS の「各国語キーボードサポート」機能に基づき、日本語タイプ 4 キーボードの場合、自動的にレイアウトコード 0x20 のキーボードと判定され、対応するキーテーブルが読み込まれます。同様に日本語タイプ 5 キーボードの場合、自動的にレイアウトコード 0x31 のキーボードと判定され、対応するキーテーブルが読み込まれます。キーテーブルは /usr/share/lib/keytables に置かれ、ブート時に読み込まれます。キーテーブルの名称は、日本語タイプ 4 キーボードの場合は layout_20 で、japan と同じものです。同様に日本語タイプ 5 キーボードの場合は layout_31 で、japan_5 と同じものです。