直排文字方向

傳統上,東亞排版直排時哪些文字需要旋轉,哪些維持正立,多半是由排版軟體各自處理的。或是由字型檔 GSUB 的 vert、vrt2特性去定義。但隨著瀏覽器、電子閱讀器等數位閱讀設盛行,Unicode也開始嘗試定義統一化的直排方向性原則。

直排方向的值與定義

說明
U保持字符正立。
R將字符順時針橫倒90度。
Tu需以字型提供直排用的置換字符,若字型無定義則維持字符正立。
Tr需以字型提供直排用的置換字符,若字型無定義則順時針橫倒90度。

實務問題

全形冒號

U+FF1A 全形冒號「:」在日文的編輯習慣,直排時是橫倒的,此與繁體中文的排版習慣不同。

由於當初 UAX#50 最初版本由日本人士主導編輯,U+FF1A 定義為 Tr 的結果,當字型檔沒有定義 U+FF1A直排字符時,會被軟體橫倒顯示。

故建議繁體中文字型,雖然全形冒號直排時仍然保持正立,但仍應定義其直排字符。也可以指定自己,如:

feature vert {
   sub uniFF1A by uniFF1A;
} vert;

注音調號被旋轉

注音符號聲調 U+02CAˊU+02C7ˇU+02CBˋ 由於跟歐文共用,當初 UAX#50 制訂時沒注意到它們會用在注音編排而設定為 R,預設是會橫倒90度的。這造成在直排時非常難以閱讀(如二聲橫倒90度時看起來像四聲)。

這甚至影響到 Word 的加注音功能等。

字型檔的 vrt2 被忽略

在 UAX#50 推行之前,OpenType 曾鼓勵用 vrt2 特性明確定義需要直排的字符,提供更彈性的處理(但需要製作大量橫倒90度的歐文字符)。

現在多數環境使用 UAX#50 規定去推算直排行為,雖然省去製作直排字符的麻煩,但也失去人工調整的空間。

瀏覽器等環境可能支援以CSS設定強制正立、強制橫倒,但部分軟體(如 LibreOffice)則完全不能調整。

上述的注音調號問題,由於當初訂死為 R 而不是 Tr,在部分軟體中,即使字型檔明確指定調號的直排形式,仍會被忽略,而被強迫橫倒。

參考