國際語言環境指南

使用 mp.conf 配置檔進行本土化

配置檔提供新增或變更字型項目或字型群組項目的彈性。

系統預設的配置檔是 /usr/lib/lp/locale/$LANG/mp/mp.conf,其中 $LANG 是執行列印之語言環境中的語言環境變數。您可以使用 -u config.file path 選項來指定個人使用的配置檔。

一個針對相容性而被編碼為字元的 ligature 或變數文字影像稱為表示格式mp.conf 檔案主要是用來將語言環境中的中間字碼點,對映至用來列印該字碼點的字型編碼中的表示格式。

中間字碼點可以是寬字元或是「可攜式版面配置服務 (PLS)」層的輸出。若要進行「複合文字版面配置」列印,則中間字碼點必須是 PLS 輸出。由 mp 產生的預設中間字碼是 PLS 輸出。

目前支援的字型格式為可攜式編譯格式 (PCF)、TrueType 以及 Type1 格式。同時支援系統與印表機內建的 Type 1 字型。請注意下列關於 mp.conf 配置檔的格式與內容的資訊:

mp.conf 檔案中不同的區段包括:

字型別名

mp.conf 檔案中的字型別名區段是用來定義每個用於列印字型的別名。此區段中的每一行皆為如下的格式:

FontNameAlias font-alias-name font-type font-path
font-alias-name

為字型名稱加入別名的一般慣例是在後方加上表示該字體為羅馬字體、粗體、斜體或粗斜體的字母 (R、B、I 或 BI),藉以指定字型的編碼/程序檔名稱。

例如,/usr/openwin/lib/X11/fonts/75dpi/courR18.pcf.Z,因為它是 iso88591 Roman 字型,所以可以指定 iso88591R 別名。

font-type

.pcf 的字型類型值是 PCF、Adobe Type1 的字型類型值是 Type1 以及 TrueType 的字型類型值是 TrueType。只有這三種字型可以在 mp.config 檔案中配置。

font-path

字型檔案的絕對路徑名稱。若是 Type1 印表機內建字型,則只需指定字型名稱,例如 Helvetica。

例如,

FontNameAlias   prnHelveticaR   Type1   Helvetica

字型群組定義

您可以結合相同類型的字型以構成字型群組。字型群組的格式如下列所示:

keyword

FontGroup

fontgroupname

字型的群組名稱。

GroupType

字型類型。只為相同類型的字型建立字型群組 (PCF,Type1,TrueType)。

Roman

字型群組中的羅馬字型名稱。

Bold

字型群組中的粗體字型名稱。

Italic

字型群組中的斜體字型名稱。

BoldItalic

字型群組中的粗斜體字型名稱。

針對建立群組,只需要羅馬字型登錄。粗體、斜體以及 粗斜體字型為選擇性的。例如,不同類型的字型是用來顯示郵件或新聞文章的標題行。若是只定義 Roman 字型,則此字型是用來代替其他字型。

對映區段

mp.conf 檔案的對映區段從中間字碼的範圍對映至語言環境中的字型群組。這個區段中每一行的格式如下所示:

keyword

MapCode2Font。

range_start

一個 4 位元十六進位值是以 0x 開頭,指出字碼範圍的起點以對映至一個或多個字型群組。

range_end

表示需要對映的字碼範圍結尾。如果此值是 '-',則其中只有單一中間字碼點對映至目標字型。

群組

將列印其表示格式的 Type1、PCF 或 TrueType 字型群組。

關聯區段

mp.conf 檔案的關聯區段可讓每個字型與共用物件產生關聯,而該物件會將中間字碼點對映至字型編碼中的表示格式。這個區段中每一行的格式如下所示:

關鍵字

CnvCode2Font

font alias name

為字型所定義的別名。

mapping function

可依序透過中間字碼格式取得該對映功能,並以字型編碼回傳,以取得文字影像索引,並繪製文字影像。

file path having mapping function

包含對映功能的 .so 檔案名稱。您可以使用 dumpcs 中的公用程式,來查找 EUC 語言環境的中間字碼集。


注意 –

目前 mp (1) 所使用的 TrueType 引擎,只能使用格式 4 和 PlatformID 3 cmap。您只能配置 Microsoft .ttf 檔案。此外,字元對映編碼必須是 TrueType 字型引擎的 Unicode 或符號才能正確地作業。由於 Solaris 環境中的大部分 .ttf 字型都遵循這些限制,因此您可以在 mp.conf 檔案中對映 Solaris 軟體的所有 TrueType 字型。


您可以建立一個對映到字型的共用物件,以與 PCF type1 X 邏輯字型描述 (XLFD) 相應。然後您可以建立從中間字碼範圍對映到 XLFD 所指定之編碼的共用物件。例如:

-monotype-arial-bold-r-normal-bitmap-10-100-75-75-p-54-iso8859-8

相對應的 PCF 字型為:

/usr/openwin/lib/locale/iso_8859_8/X11/fonts/75dpi/ariabd10.pcf.Z

由於此字型是以 ISO 8859-8 編碼的,因此共用物件必須在中間字碼和相應的 ISO 8859-8 字碼點之間對映。

若是 TrueType 字型使用 XLFD:

-monotype-arial-medium-r-normal--0-0-0-0-p-0-iso8859-8

擁有相對應的字型:

/usr/openwin/lib/locale/iso_8859_8/X11/fonts/TrueType/arial__h.ttf

您應該在中間字碼與 Unicode 之間對映,因為上一個 TrueType 字型的 cmap 編碼為 Unicode。在這個 TrueType 字型的範例中,假設 en_US.UTF-8 語言環境中與希伯來字元 (由 PLS 層所產生) 相對應的中間字碼範例為 0xe50000e9。由於該字型為 Unicode 編碼,因此當您傳送 0xe50000e9 時,其輸出會對應於 Unicode 中的表示格式,您可依此方式設計相對應 .so 模組中的功能。這裡的範例是 0x000005d9

對映功能的函式原型應該為:

unsigned int function(unsigned int inter_code_pt)

下列是可在 mp.conf: 檔案中使用的可選關鍵字/值對。

PresentationForm        WC/PLSOutput

預設值為 PLSOutput。若是使用者指定 WC,則所產生的中間字碼點為寬字元。針對 CTL 列印,應該使用此預設值。

如果該語言環境為非 CTL 的語言環境且其鍵盤值是 PLSOutput,則該值會被忽略,mp 也會產生寬字元字碼做為替代。

如果語言環境支援 CTL,您可以使用列於下表的可選關鍵字/值對。這些變數可以假設表格中間欄中所給定的任何可能值。

表 7–1 可選關鍵字/值對

可選關鍵字 

可選值 

預設值 

Orientation

ORIENTATION_LTR/

ORIENTATION_RTL/

ORIENTATION_CONTEXTUAL

ORIENTATION_LTR

Numerals

NUMERALS_NOMINAL/

NUMERALS_NATIONAL/

NUMERALS_CONTEXTUAL

NUMERALS_NOMINAL

TextShaping

TEXT_SHAPED/

TEXT_NOMINAL/

TEXT_SHFORM1/

TEXT_SHFORM2/

TEXT_SHFORM3/

TEXT_SHFORM4

TEXT_SHAPED