この節では、CDE 1.4 とドットマトリックスプリンタからタイ語のテキストを印刷する方法を説明します。サポートされるドットマトリックスプリンタについては、『Thai Language Supplement for Solaris 2.6: Release Overview』の付録 C を参照してください。
Angsana UPC フォントがプリンタにインストールされている場合、どの CDE 1.4 ツールからでも印刷できます (フォントは Solaris 8 TLE に含まれていません) 。
この節では、『Thai Language Supplement for Solaris 2.6: Release Overview 』の付録 C「Printer Brand, Model, and Code IDs」に掲載されている WTT 2.0 規格に登録されたプリンタを使うと想定しています。
お使いのシステムで WTT 2.0 規格に登録されたプリンタを使用する場合は、『Solaris のシステム管理 (第 2 巻)』を参照してください。
プリンタを設定したら、次の手順でタイ語の印刷を有効にします。
cd /usr/lp/interfaces と入力します。
設定したプリンタに対応するファイルを編集します。
次の行の lp.cat を lp.filter に変更します。
if [! -x "${LPCAT:=${LOCALPATH}/lp.cat}"]
lp.cat にプリンタジョブを渡す lp.filter というシェルスクリプトを /usr/lib/lp/bin に作成します。
lp.filter プログラムの構文は次のとおりです。thai_filter_command の構文については、『Thai Language Supplement for Solaris 2.6: Release Overview』の付録 D の thaifilter(1) のマニュアルページを参照してください。
thai_filter_command | lp.cat
この節では、タイ語の印刷に必要な thaifilter(1) 印刷ユーティリティとプリンタ変換テーブルの使用方法を説明します。
thaifilter(1) プログラムは、タイ語のテキストを次の 3 段階に変換するフィルタです。
すべての ASCII 文字を含む基本レベルの文字
上位レベルの文字
下位レベルの文字
このシステムは、「3-Level Classification」と呼ばれています。3-Level Classification に変換されたファイルの主な用途は次の 2 つです。
正しい表示レベルでタイ語の文字を印刷することをプリンタに指示する。
通常はタイ語テキストを複数レベル (通常) で表示できない端末にタイ語のテキストファイルを表示する。
一部の新型プリンタでは、3-Level Classification ソフトウェアが既にインストールされています。そのため、thaifilter(1) プログラムには、3-Level Classification をオフに切り替える -x オプションがあります。
thaifilter(1) のマニュアルページは、TLE 2.6 ソフトウェアで提供されています。『Thai Language Supplement for Solaris 2.6: Release Overview』を参照してください。
WTT 2.0 規格には、タイ語の印刷について次の条件と規約があります。
プリンタ ID
プリンタ ID は、プリンタの機種、製造元、文字コードを指定するための、TAPIC が定義した 6 文字のコードです。プリンタのメーカは、自社製プリンタに明記するプリンタコードを保有しています。プリンタ ID の構文は BBMMCC で、BB は製造元の略称を示す 2 つの文字、MM は機種の略称を示す 2 つの文字、CC はプリンタで使用される変換コードを示す 2 桁の数字です。プリンタの製造元と機種の略称は、『Thai Language Supplement for Solaris 2.6: Release Overview』の付録 C「Printer Brand, Model, and Code IDs」を参照してください。プリンタ変換コードについては、次の節を参照してください。
たとえば、表 D-3 の 1 行目は、Data Products IZR650 プリンタの製造元と機種の略称が DA および ZI であることを示します。このプリンタがコード変換テーブルの 10 番を使用すると、プリンタ ID の完全な形式は DAZI10 になります。
変換コードとプリンタコード変換テーブル
プリンタ ID を指定するときに、表 D-3 の右側に記載されたコードを使用します。Solaris 8 TLE は、TAC11x11.COD 規格に対して印刷するためのコードテーブルが指定された TIS 988-2533 に準拠します。ただし、このテーブルを使用しないプリンタもあるので、TIS 規格では既存の他のプリンタコードを TAC11x11.COD に変換するための変換ルックアップテーブルを 17 個指定しています。TAC とは、Thai API Consortium の略称です。Thai Internationalization Committee が定義した API には、接頭辞「TAC.」が付きます。
各種プリンタに付属するコードを TAC11x11.COD 規格に変換するため、前述した 17 個のコード変換テーブルが Solaris 8 TLE に用意されています。 表 D-3 に記載されたテーブルは、/usr/lib/lp/files ディレクトリにあります。
表 D-3 コード変換テーブル
コード変換テーブル |
プリンタ ID で使用するコード |
---|---|
TAC11x10.COD |
10 |
TAC11x12.COD |
12 |
TAC11x13.COD |
13 |
TAC11x14.COD |
14 |
TAC11x15.COD |
15 |
TAC11x16.COD |
16 |
TAC11x17.COD |
17 |
TAC11x18.COD |
18 |
TAC11x19.COD |
19 |
TAC11x20.COD |
20 |
TAC11x21.COD |
21 |
TAC11x22.COD |
22 |
TAC11x40.COD |
40 |
TAC11x41.COD |
41 |
TAC11x42.COD |
42 |
TAC11x43.COD |
43 |
TAC11xAA.COD |
AA |
どのプリンタコード変換テーブルも使用しないプリンタの場合は、次の節を参照して独自の変換テーブルを作成してください。
プリンタ変換テーブルを使用して、印刷命令を WTT 2.0 のデフォルト印刷形式である TIS 988-2553 形式に変換します。WTT 2.0 規格に列挙されたコード変換テーブルは、Solaris 8 TLE に含まれています。
TIS 988-2553 形式を使用しないプリンタで、どのコード変換テーブルも使用できない場合は、独自の変換テーブルを作成する必要があります。この節では、プリンタコード変換テーブルを新規作成する方法を説明します。
変換テーブルの形式
コード変換ファイルの例は次のとおりです。
-- -- -- -- TN -- ! TAC11x10.COD 16 AUG 1991 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA 3F 3F 3F 3F DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB 3F 3F 3F FF ! End of TAC11x10.COD
CC LG UM EX TN SP ! comment
このフィールドに何も文字を書かないときは空白にするのではなく、ダッシュを 2 つ記入する必要があります。1 行目のフィールドについては、表 D-4 で説明します。
表 D-4 コード変換テーブル
フィールド |
説明 |
---|---|
CC |
TIS 988-2553 の結合コード。SaraI、MaiEk など |
LG |
ライングラフィック |
UM |
SaraAm と Nikhahit の結合コード |
EX |
Ascender 拡張子 |
TN |
タイの数字 |
SP |
TIS 988-2553 で定義されていない特殊コード |
! comments |
任意のコメント。WTT 2.0 規格では、このフィールドにファイル名と日付が入ります。コメントの前には「!」が必要です。 |
変換ファイルの中間には、16 コード x 16 行の合計 256 コードがあります。これらのコードは TIS 988-2553 の代替コードです。TIS 988-2553 コードは次のとおりです。
-- -- -- -- TN -- ! TAC11x11.COD 16 AUG 1991 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF ! End of TAC11x10.COD Note: There is no conversion in this table
変換テーブルの最終行は、! から始まる別のコメントです。WTT 2.0 変換テーブルは、次の行で終わります。
! END OF filename