阿拉伯文定型選項
每一個需要特殊處理的阿拉伯文字元都有一組整理選項,因此在字碼頁轉換期間不會遺失這類字元。
Lam-Alef
在從視覺化到隱含字碼頁的轉換期間,每一個 Lam-Alef 字元都會展開至 Lam + Alef ,這會耗用一個空格。 如果沒有可用的空格,則 Lam-Alef 字元會保留在 Unicode uFExx 範圍內,並在轉換為隱含單位元組字碼頁時變成替代控制字元 (SUB)。 在從隱含到視覺化字碼頁的轉換期間, Lam-Alef 壓縮會產生空間。 所耗用或產生的空間位置取決於整理選項,如下表中所述:
| 整理選項 | 所耗用或產生的空格位置 |
|---|---|
| 接近 | 正在轉換的字元旁邊 |
| 開始時 | 緩衝區的開頭 (buffer[0]) |
| 結束時 | 緩衝區結尾 (buffer[length - 1]) |
| 自動(O) | 相對於文字方向的緩衝區開頭: buffer[0] 代表從左到右的文字, buffer[length - 1] 代表從右到左的文字 |
| 調整緩衝區大小 | 未耗用或產生空間。 相反地,緩衝區大小會增加以容許額外字元,或減少以排除縮減處理程序所產生的空間。 |
看見尾端
- 接近
在從視覺到隱式的字碼頁轉換期間, Seen 系列字元 (包含四分之三形狀字元和 Tail 字元) 的每兩個字元最終形式轉換為對應的單一字元最終形式,以空格取代 Tail。 空格位於 Seen 字元旁邊。 在從隱含到視覺化字碼頁的轉換期間,每一個單一字元最終形式都會轉換為對應的兩個字元最終形式,這會耗用 Seen 字元旁邊的空間。 如果沒有可用的空格,則字元會轉換成單一、四分之三形狀字元。
Tashkeel
- 自動(O)
不執行特殊處理。
- 開始時自訂
除了 Shadda 之外,所有 Tashkeel 字元都會取代為空格。 產生的空間會移至緩衝區 (
buffer[0]) 的開頭。- 結束時自訂
除了 Shadda 之外,所有 Tashkeel 字元都會取代為空格。 產生的空間會移至緩衝區 (
buffer[length - 1]) 結尾。- 以寬度自訂
- 所有 Tashkeel 字元都會轉換為其對應的間距字元。 此選項不適用於視覺化至隱含的字碼頁轉換,因為阿拉伯文 u06xx 範圍中的 Tashkeel 字元僅使用非間距 (寬度為零) 字元來表示。
- 使用零寬度自訂
- 所有 Tashkeel 字元都會轉換成其對應的非間距 (寬度為零) 字元。
- 保留
不執行特殊處理。
耶赫-哈姆扎
- 接近
在從視覺化到隱含字碼頁的轉換期間,每個葉字元後面接著一個 Hamza 字元會轉換成一個 Yeh-Hamza 字元。 收縮過程所產生的空間位於 Yeh-Hamza 字元旁邊。 在從隱含到視覺化字碼頁的轉換中,每個 Yeh-Hamza 字元會擴充為兩個字元, Yeh-Hamza 和 Hamza 會耗用位於原始 Yeh-Hamza 字元旁邊的空間。 如果沒有可用的空間,則會將 Yeh-Hamza 字元轉換為單一字元 Yeh。