Solaris 7 作業區性包括了泰語區性(簡稱 TLE)。TLE 提供本土化的泰語語言環境,讓您能夠鍵入、顯示、列印泰文。此外,TLE 還提供了一個平台,可以建立泰語的應用程式、指令及其它的功能,供 Solaris 7 和 CDE 1.3 的作業和維護之用。
以下是描述 TLE 功能的清單:
字碼集標準
本版次支援泰語工業標準(TIS 620-2533)所顯示的泰語字元。目錄及檔名可以由泰語字元組成。
泰文輸入
本版次包含輸入模式指示器,可為每一個視窗指示出目前的輸入模式。您可以利用國際化 X11R6 程式庫的動態可載入模組,將 ASCII 輸入切換成泰語字元。您可以使用一般的 Sun 類型 4 或類型 5 鍵盤鍵入文字。
泰文輸出
所有一般桌上管理系統環境(CDE 1.3)的文字產生常式均已增強以顯示泰文。輸出法的演算法以泰國政府負責維護的 WTT 2.0 泰文顯示規格為基礎。本版次還包含了泰語點陣字和 TrueType 字型。
泰文列印
系統可支援 15 種矩陣印表機。若想知道系統支援的印表機清單,請參閱「Solaris 2.6的泰語增補:版次概述」。
一般桌上管理系統環境生產工具
所有的 CDE 1.3 應用程式視窗均會顯示並接受泰文。您也可以在視窗的應用程式之間剪下和貼上文字。本版次支援 Xlib 等級的泰語輸入和工具箱等級的泰語輸出,其中包括 CDE 1.3。本版次同時提供了本土化的 CDE 桌上管理系統工具,能夠顯示泰語標記和訊息,並支援泰國文字和檔名的使用等等。
複合文字佈局 (CTL)
增加 CTL 能讓 Motif API 支援邏輯和實體文字間繁複變換過程所需的寫入系統。也提供了靜態和動態文字 widget 的字元塑造和變換。此外,CTL 還支援動態文字 widget 從右到左及從左到右的文字方向和跳格。
TLE 包含 CDE 1.3 程式庫。此程式庫含有依據 WTT 2.0 標準所設的泰文操作(插入、刪除、選取、剪下、複製、貼上、拖曳、放下)。如需使用本程式庫設計程式的資訊,請參閱「Solaris ㄧ般桌上管理系統環境: 程式設計者指南」。
本節說明泰語字元的處理機制。
有時您或許需要在同一個檔案內鍵入泰文和英文。要把視窗從英文切換到泰文,或從泰文到英文,請按下 Ctrl + 空格鍵。每一個工具底部的訊息視窗均會顯示目前的輸入語言。
本節說明如何操作泰文,特別是如何執行下列作業:
文字的插入和刪除
文字的自動換行
游標的移動
文字的選取
文字的複製/貼上和拖曳及放下
插入和刪除泰文字元會變更文字的顯示,視字元類別能否撰寫而定。
以下的圖形顯示在 SARA_II(AV3 母音)和 YOYAK(子音)之間插入MAIHUNAKAT(AV2 母音)的順序。
無法使用 SARA_II 來撰寫 MAIHUNAKAT,因此必須以其所屬的儲存格顯示。
下列的範例顯示 SARA_II(AV3 母音)的刪除。
可以使用 NONU(子音類別 CONS)來撰寫 MAIHUNAKAT。因此,其將在前一個儲存格顯示。
泰語的字之間沒有分割元(空白)。在空格字元和無空格字元的組合之下,要正確地換行泰文字元相當困難。
在 Solaris 7 TLE 中,字元自動換行是在顯示格中進行的,同時 TLE 軟體在換行時,也會顧及到無空格的字元。例如,當您在一行的最後一欄鍵入向前空格的字元時,游標會前進到下一。如果在同一個地方鍵入的是無空格字元,游標將不會前進到下一行。無空格的字元顯示在前一行中最後一個顯示格,同時游標的位置不變。
當您選取某個顯示格時,即是選取了那個格子內所有的字元(有空格與無空格的字元皆然)。
泰語多重的顯示等級看起來似乎會引起 dtpad (文字編輯程式)視窗內的游標移動不尋常。實際上,游標只在顯示格之間移動。不過,由於一個顯示格內的泰文字元常常不只一個,因此事實上游標並不在顯示格之間移動。
終端機視窗內的游標移動,和使用文字 widget(如 dtpad)在泰語 CDE 工具內編輯文字的情形略有不同。 當您在終端機視窗內移動游標時,如果一個顯示格內只有一個字元,游標將在格子內被選取。如果顯示格內的字元不只一個,則整個顯示格均會被選取。
您可以用包含在本版次的四種泰文字型顯示泰文和英文字元。這些字型列於表 D–1 和表 D–2。
您可以用包含在本版次的四種泰文字型顯示泰文和英文字元。這些字型列於表 D–1中。
表 D–1 Solaris 7 TLE 字型 (可縮放的)
字體 |
樣式 |
字型名稱 |
---|---|---|
Angsana |
標準體 |
-monotype-angsa-medium-r-normal--*-*-*-*-m-*-tis620.2533-0 |
粗體 |
-monotype-angsab-bold-r-normal--*-*-*-*-m-*-tis620.2533-0 |
|
斜體 |
-monotype-angsai-medium-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
粗斜體 |
-monotype-angsaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Browalia |
標準體 |
-monotype-browa-medium-r-normal--*-*-*-*-m-*-tis620.2533-0 |
粗體 |
-monotype-browab-bold-r-normal--*-*-*-*-m-*-tis620.2533-0 |
|
斜體 |
-monotype-browai-medium-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
粗斜體 |
-monotype-browaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Cordia |
標準體 |
-monotype-cordia-medium-r-normal--*-*-*-*-m-*-tis620.2533-0 |
粗體 |
-monotype-cordiab-bold-r-normal--*-*-*-*-m-*-tis620.2533-0 |
|
斜體 |
-monotype-cordiai-medium-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
粗斜體 |
-monotype-cordiaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
表 D–2 Solaris 7 TLE 字型(固定寬度)
字體 |
樣式 |
字型名稱 |
---|---|---|
Gothic Normal |
12點 |
-logic-gothic-medium-r-normal--12-120-75-75-c-80-tis620.2533-0 |
14點 |
-logic-gothic-medium-r-normal--14-140-75-75-c-90-tis620.2533-0 |
|
16點 |
-logic-gothic-medium-r-nor mal--16-160-75-75-c-80-tis620.2533-0 |
|
20點 |
-logic-gothic-medium-r-normal--20-200-75-75-c-100-tis620.2533-0 |
|
24點 |
-logic-gothic-medium-r-normal--24-240-75-75-c-100-tis620.2533-0 |
|
Gothic Bold |
12點 |
-logic-gothic-bold-r-normal--12-120-75-75-c-100-tis620.2533-0 |
14點 |
-logic-gothic-bold-r-normal--14-140-75-75-c-110-tis620.2533-0 |
|
16點 |
-logic-gothic-bold-r-normal--16-160-75-75-c-80-tis620.2533-0 |
|
20點 |
-logic-gothic-bold-r-normal--20-200-75-75-c-120-tis620.2533-0 |
|
24點 |
-logic-gothic-bold-r-normal--24-240-75-75-c-120-tis620.2533-0 |
|
Gothic Italic |
16點 |
-logic-gothic-medium-i-normal--16-160-75-75-c-80-tis620.2533-0 |
本節說明如何從矩陣印表機和 CDE 1.3 列印泰文。如需獲得系統支援的點矩陣印表機清單,請參閱「Solaris 2.6 泰語增補:版次概述」附錄 C 一章。
如果您的印表機安裝有 Angsana UPC 字型,您就可以從 CDE 1.3 的任何工具進行列印(Solaris 7 TLE 並未提供字型)。
本章節內容是假設您的印表機已按照列於「Solaris 2.6 泰語增補:版次概述」中的附錄 C “印表機廠牌、機型、和代碼 ID“ 中的 WTT 2.0 標準來註冊。
如果您設定系統所使用的印表機是按照 WTT 2.0 標準註冊,請利用 SunOS 5.6 文件中的「使用者帳戶、印表機、郵件的設定」說明設定印表機。
一旦您的印表機設定完畢,請按照下列步驟啟動泰語字元的列印:
鍵入cd /usr/lp/interfaces
編輯您以剛剛設定的印表機命名的檔案。
把下面一行的lp.cat 變更為lp.filter:
if [! -x "${LPCAT:=${LOCALPATH/lp.cat"]
在/usr/lib/lp/bin中建立一個名為lp.filter的 shell 程序檔,它會藉由 lp.cat 以管路輸出並輸入印表機的工作。
lp.filter 程式應具下列的語法。請參閱 thaifilter Thai Language Supplement for Solaris 2.6: Release Overview,「Solaris 2.6 泰語補增:版次概論」附錄 D「手冊頁」的 thaifilter (1)線上援助頁,上面有 thaifilterthai_filter_command 的語法。
thai_filter_command | lp.cat
本節說明如何使用 thaifilter(1) 列印公用程式和印表機切換表,您在列印泰文時可能用得到。
thaifilter(1) 程式是一個過濾器,能將泰文轉換為三個層級:
基本層級字元(包括任何的 ASCII 字元)
層級以上的字元
層級以下的字元
這個系統稱之為三級分類。檔案轉換為三級分類有下面兩個主要的功用:
引導印表機在正確的顯示層級中列印泰文字元。
在通常無法顯示泰文多重層級(正常顯示)的終端機上查看泰文檔案。
有些比較新式的印表機買來時已安裝有三級分類軟體。因此,thaifilter(1) 具有一個可以把三級分類關閉的 -x 選項。
thaifilter(1) 的線上援助頁可見於 TLE 2.6 軟體,另外在「Solaris 2.6 泰語增補: 版次概述」附錄 D「手冊頁」中的列印表單。
針對泰文的列印,WTT 2.0 標準能辨識下列名稱與慣例:
印表機的 ID
印表機的 ID 是由 TAPIC 定義、含有六個字元碼,用以指定印表機機型、廠牌及字元碼。印表機的廠商應該在印表機上清楚地標記出每一台印表機的代碼。印表機 ID 的語法是 BBMMCC,這裡的 BB 為兩個英文字母的廠牌縮寫,MM 為兩個英文字母的機型縮寫,CC 則是兩個數字,代表印表機所使用的轉換碼。 印表機的廠牌和機型縮寫列於 「Solaris 2.6 泰語補增:版次概論」一書的附錄C的 "印表機廠牌、機型、和代碼 ID" 一節中。有關印表機轉換碼的討論,請參閱下一節的說明。
例如,表 D–3第一行顯示了資料產品 IZR650 印表機的廠牌和機型縮寫分別是 DA 和 ZI。如果這台印表機使用的是 10 號代碼轉換表,完整的印表機 ID 將是: DAZI10。
轉換碼和印表機代碼轉換表
當您指定印表機 ID 時,請使用列於 A-3 表格右邊的代碼。Solaris 7 TLE 遵守 TIS 988-2533的格式,指定了一個符合 TAC11x11.COD 標準的列印代碼表。由於不是每一種印表機均使用這份代碼表,因此TIS 標準共指定了 17 個代碼轉換查詢表,將其它已知的印表機代碼轉換為 TAC11x11.COD。 (TAC 是泰國應用程式設計介面共同融資聯合-Thai API Consortium 的縮寫。由泰國國際化委員會定義的 API,前面冠上了“TAC.”)。
Solaris 7 TLE 提供了這 17 個代碼切換表,可以切換不同的印表機代碼,使符合 TAC11x11.COD 標準。列於表 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 |
如果您的印表機並未使用上列的印表機代碼轉換表,請參閱以下的說明,建立您自己的轉換表。
印表機轉換表用來將列印說明轉換成 TIS 988-2553 的格式,這個格式是WTT 2.0 的預設列印格式。Solaris 7 TLE 包含了列於 WTT 2.0 標準中的代碼轉換表。
假如您使用的印表機用的不是 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
若某個由雙字元組成的欄位沒有用到,它必須以兩個破折號(--)來代替。第一行各欄位的說明見於表 D–4。
表 D–4 代碼轉換表
欄位 |
說明 |
---|---|
CC |
TIS 988-2553 的組合代碼,例如 SaraI 和 MaiEk |
LG |
線條圖形 |
UM |
SaraAm 和 Nikhahit 的組合代碼 |
EX |
升部延伸 |
TN |
泰語數值 |
SP |
TIS 988-2553 中未定義的特殊代碼 |
! comments |
您的任何註釋。在 WTT 2.0 標準中,本欄位包含檔名和日期的資訊。註釋之前必須有 "!" 符號。 符號。 |
切換檔案的中間部份有 16 行,一行有 16 個代碼,總共是 256 個代碼。這些代碼代替了 TIS 988-2553。以下顯示的是 TIS988-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