Solaris 8 如何使用及編輯PostScript字體?
2024-07-26 00:29:44
供稿:網友
簡體中文 Solaris 操作環境在顯示 PostScript 系統 (DPS) 中提供 PostScript 字體。本節描述了簡體中文 Solaris 軟件中 DPS 的使用,以及使用簡體中文 Solaris 軟件中的 DPS 需要什么。有關進一步的細節,請參見由 Adobe? Systems 公司所出版的 PRogramming the Display PostScript System with X (X 環境下的顯示 PostScript 系統編程)。
--------------------------------------------------------------------------------
簡體中文 PostScript 字體和 DPS 系統工具的使用
--------------------------------------------------------------------------------
簡體中文 Solaris 操作環境包括列在下面表格的字體??梢韵袷褂昧_馬字體一樣地使用任何簡體中文字體。
簡體中文 Solaris 操作環境的 PostScript 字體 :
--------------------------------------------------------------------------------
宋體
宋體 EUC 的假名,可像羅馬字體一樣地使用。
宋體 EUC
宋體字體、EUC 編碼、水平顯示;可像羅馬字體一樣地使用。
楷體
楷體 EUC 的假名,可像羅馬字體一樣地使用。
楷體 EUC
楷體字體、EUC 編碼、水平顯示;可像羅馬字體一樣地使用。
仿宋體
仿宋體 EUC 的假名,可像羅馬字體一樣地被使用。
仿宋體 EUC
仿宋體字體、EUC 編碼、水平顯示;可像羅馬字體一樣地使用。
黑體
黑體 EUC 的假名,可像羅馬字體一樣地使用。
黑體 EUC
黑體字體、EUC 編碼、水平顯示;可像羅馬字體一樣地使用。
創建復合的羅馬和簡體中文字體
--------------------------------------------------------------------------------
可以使用任何羅馬字體和簡體中文字體的組合創建復合字體。例如,下面的 PostScript 代碼定義了復合字體,Times 斜體+楷體,該復合字體用 Times 斜體表現 ASCII 字符,用楷體字體表現簡體中文字符:
/make EUC font {
/AsianFont exch def
/WestFont exch def
/NewFont exch def
/CIDInit /ProcSet findresource
begin
NewFont [ AsianFont WestFont ]
beginrearrangedfont
1 usefont
1 <00> <7e> <00>
endbfrange
endrearrangedfont
end
bind def
/LC_Times-Roman /Times-Roman /Kai-Medium make EUC font
在 DPS 編程中使用簡體中文字體
--------------------------------------------------------------------------------
在 DPS 中作出環繞定義時,可以像使用羅馬字體一樣地使用簡體中文字體。以下代碼樣例生成下一圖形中的顯示。
defineps PSWDisplayText(char *text)
/pointSize 50 def
/Helvetica pointSize selectfont (Hello World)
stringwidth pop 2 div neg 0 moveto (Hello World) show
/cpSize 40 def
/Song-Medium cpSize selectfont (text)
stringwidth pop 2
可以在一個 C 語言程序里調用 PSWDisplayText (中文文本) 以顯示所設計的中文文本
簡體中文 Solaris 軟件在 DPS 中提供了對 TrueType 字體的支持。
--------------------------------------------------------------------------------
使用 fontedit 編輯字體
--------------------------------------------------------------------------------
本章節說明如何在應用于簡體中文 Solaris 操作環境中的可移植編譯格式 (PCF) 字體中編輯、創立和安裝新的字符。然后可以保存所作的改變并在本地系統中使用該編輯過的字體。這一過程包括下面幾個步驟:
1.為所編輯或創建的字體準備一個工作區。
2.使用字體編輯程序編輯位圖分布格式 (BDF) 的字體文件。
3.將 BDF 字體文件轉換成 PCF 格式。
4.使該字體在您的系統上可使用。
設立一個工作目錄
--------------------------------------------------------------------------------
1.為所編輯的字體創建一個新的工作區目錄,例如:
system% mkdir /tmp/newfont
2.把您的工作目錄改變為那個目錄:
system% cd /tmp/newfont
啟動字體編輯程序
--------------------------------------------------------------------------------
簡體中文 Solaris 操作環境所提供的字體編輯程序可用于編輯位圖字體。
啟動字體編輯程序。
字體編輯程序窗口顯示在屏幕上。
system% fontedit
字體編輯程序不能編輯用于 Solaris 軟件的 PCF 格式字體文件 (.pcf 文件擴展名)。該工具僅處理 BDF 中的字體。BDF 是 MIT X Consortium 所定義的一種便攜格式。
準備字體文件
--------------------------------------------------------------------------------
在 BDF 格式中找出要編輯的簡體中文字體文件。
該文件的編碼應該從 8481 (0x2121) 開始。例如,假如您有一個 BDF 文件叫 myfont14.bdf:
STARTFONT 2.1
COMMENT Sample Font
...
FONT Myfont-Medium14SIZE 14 75 75
STARTCHAR C101
ENCODING 8481
...
編輯 BDF 字體文件
--------------------------------------------------------------------------------
1.在字體編輯程序窗口中的文件按鈕上面按住菜單鼠標器按鈕,并在下拉式菜單中選擇裝入...。
2.在裝入彈出式窗口的字體名稱字段中鍵入所要編輯的 BDF 文件名,例如,myfont14.bdf。
3.在彈出式窗口的裝入按鈕按一下選擇。
4.這樣就裝入了文件。
5.在字體編輯程序主窗口的選擇按鈕按一下選擇。
這樣就會顯示出選擇窗口,在那里要做以下幾個步驟。
為要編輯的字符鍵入其字體編碼代碼的高位和低位字節數值,例如 0x3302。
可用下一個 (右箭頭) 按鈕或前一個 (左箭頭) 按鈕來提高或減少高位或低位字節的數值。
6.將這個簡體中文字體的代碼長度設為多字節。
對于一個 ASCII/英文字體,要將代碼長度設為單字節。
7.在編輯按鈕上 [在 Fontedit (字體編輯) :選擇窗口里] 按一下以把字型顯示在主幕布上。
所指定的字型會在字體編輯程序窗口里出現。
8通過把像素打開或關閉可在主幕布上編輯字型:
.在鼠標器按鈕上按一下"選擇"以把像素打開。
.在鼠標器按鈕上按一下"調整"以把像素關閉。
.按住菜單鼠標器按鈕可出現其他附加功能的菜單。
*當您把字型的像素打開和關閉時,主窗口左上角中的字符字型會顯出該字型的實際外觀。
9.當完成字型的編輯后,在存儲按鈕上按一下"選擇"。
10.重復前面的é¤ 5到é¤ 9步驟以編輯這個字體中的其他字型。
11.完成編輯以后,按住在文件按鈕上的菜單并選擇"存入..."以保存在字體文件中已編輯好的字型。
--------------------------------------------------------------------------------
將 BDF 格式轉換為 PCF 格式。
--------------------------------------------------------------------------------
在應用程序能夠使用改動過的 BDF 文件之前,必須先把它轉換成 PCF 格式文件。
為使已編輯的字體能在簡體中文 Solaris 操作環境中使用,按下列步驟把這些字體轉換為 X11 PCF 格式:
system% bdftopcf -o myfont14.pcf myfont.bdf
有關更多信息,請參看 bdftopcf (1) 的手冊頁。
--------------------------------------------------------------------------------
安裝和檢查編輯后的字體
--------------------------------------------------------------------------------
1.要添加一個新的位圖,將該 .pcf 字體文件移入您的字體目錄。在移入您的字體目錄前,可先將該 .pcf 字體文件進行壓縮:
system% compress myfont 14.pcf
2.在您的字體目錄中執行下列指令。
.bdf 文件不應該在字體目錄里。
system% cat >> fonts.alias-new-myfont-medium-r-normal--16-140-75-75-c-140-gb2312.1980-0 Myfont-Medium14'^D
system% mkfontdir
system% xset +fp `pwd`
3.可以使用 X 環境中的字體顯示器 (xfd) 查看您的字體,鍵入:
system% xfd -fn Myfont-Medium14
所有簡體中文字體都有 XLFD 字體名稱,可以使用 xlsfonts 實用程序來顯示這些名稱如下:
system% xlsfonts | grep gb2312
--------------------------------------------------------------------------------
使用 sdtudctool 創建字符
--------------------------------------------------------------------------------
可以使用 sdtudctool 實用程序中的繪畫工具來創建新的字符。 (有關如何修改字體的信息,請參看 使用 fontedit 編輯字體。) 使用 sdtudctool 所創建的新字符可以保存在 1 級和 2 級中文字符之間的五個空的代碼位置上 (從 0xD7FA 到 0xD7FE)。sdtudctool 實用程序支持位圖、Type 1 和 CID 等字體。還可以為新的字符確定字體的大小。本節包含了使用 sdtudctool 的步驟。
@目前 sdtudctool 僅支持 EUC 語言環境,例如 zh。因而該實用程序不能在 zh_GBK 語言環境中使用。
.使用 sdtudctool
--------------------------------------------------------------------------------
本節提供使用 sdtudctool 實用程序創建新字符的指導。
1.如要啟動實用程序,鍵入下面的命令:
system% sdtudctool
出現下面所示的窗口。
2.按一下"字符"。
出現下面所示的對話框:
3.指定新字符的編碼位置。
4.使用繪畫工具為該字符創建外框或位圖。
5.在"保存"上按一下以保存該字符。
6.繼續創建新的字符。
7.完成后,在文件菜單中選擇"保存"以把所作的改變保存到您的環境。
新的字符被保存在 $HOME/.Xlocale/zh/fonts/UDC。
.指定選項
--------------------------------------------------------------------------------
1.從文件菜單中選擇"選項"。
選項對話框出現。
2.打開添加字體路徑以把 UDC 字體的假名添加到您的字體路徑上。
3.打開保存字體路徑以把字體文件加到系統的字體路徑上。
新的字體文件 (位于 $HOME/.Xlocale/zh/fonts/UDC) 將被列在 $HOME/.OWfontpath 文件之中,并且下次您登錄時,該新的字體文件即可在 X 服務器環境中被使用。
如果保存字體路徑是關閉的,該字體文件仍會被保存在 $HOME/.Xlocale/zh/fonts/UDC 中,但下次當您登錄時該字體文件不會被加到系統的字體路徑上。
4.從下列尺寸中為該位圖字體選擇一個或數個字體尺寸 (以點為單位) :12、14、16、20 或 24。
.查看字符參照系
--------------------------------------------------------------------------------
1.如要查看字符的參照系,可按一下幫助菜單下的圖標。
下面的窗口出現。
2.如要關閉窗口,可再按一下圖標。
.鍵入新的字符
--------------------------------------------------------------------------------
如要鍵入您創建的字符,可使用區位碼輸入模式 (有關更多的信息,請參看 區位碼模式)。