將上標與下標定義加入字體

本範例程序是基於 AutoCAD Romans 字體檔而建立的,不過,類似方式同樣適用於其他任何字體。該程序向字體中加入了四種新造型定義:super_on、super_off、sub_on 和 sub_off,它們將控制後續字元的位置和大小。為了方便起見,此範例會以新字元取代括號字元 ([ ] ) 與大括號字元 (「{」「}」 )。您也許還想要取代其他字元,或使用延伸範圍 (ASCII 碼 128 到 256) 中的造型號碼。如果您要使用延伸造型號碼,則必須採用 %%nnn 方式 (其中 nnn 是字元的 ASCII 值) 來放置新字元。

  1. 使用 ASCII 文字編輯器 (例如 Windows 的記事本或 Mac OS 的 TextEdit) 編輯 SHP 檔。
  2. 搜尋您要取代的字元造型定義。如果您想把那些定義標成註解,以便新定義可以取代它們,則請在這些造型定義的每一行前面都插入一個分號。一個造型定義可能會連續有好幾行。

    左、右括號字元的 ASCII 值分別為 91 與 93 (如果是 Unicode 字體,則為十六進位值 05B 與 05D)。左、右大括號字元的 ASCII 值分別為 123 與 125 (或十六進位值 07B 與 07D)。

  3. 將定義第二行中的第一個值和第二個值加起來,再將總和除以 2,如下例所示:
    *UNIFONT,6,Extended Simplex Roman for UNICODE
    21,7,2,0 21 + 7 = 28, then 28 / 2 = 14. This number is used later.
  4. 將下列各行加入 SHP 檔的結尾:
    *91,8,super_on 
    2,8,(0,14),003,2,1,0 
    *93,8,super_off 
    2,004,2,8,(0,-14),1,0 
    *123,8,sub_on 
    2,8,(0,-14),003,2,1,0 
    *125,8,sub_off 
    2,004,2,8,(0,14),1,0

    請注意前幾行中的 14 和 -14 這兩個值。它們是假想圖筆的 Y 軸偏移。在本字體中,值 14 是字元高度上限的一半,也就是上標與下標的正確近似值。針對各個不同的字體檔,必須分別計算此值。不過,您可以按照自己的方式修改它。

  5. 儲存檔案。
  6. 使用 COMPILE 指令編譯該 SHP 檔。

    一旦完成造型編譯,並且定義了適當型式,您就可以輸入括號 ([]) 與大括號 ({}) 字元。[ (左括號) 字元表示上標的開始,] (右括號) 字元表示從上標返回一般字體。{ (左大括號) 字元表示下標的開始,} (右大括號) 字元表示從下標返回一般字體。