Start of Line

避頭點 | 避头奌

編輯:pingooo (歡迎加入)

命題

  1. 哪些字符不可以出現在行首?
  2. 要用什麼方法排版,讓這些字符不會出現在行首?
  3. 哪些字符不可以出現在行尾?
  4. 要用什麼方法排版,讓這些字符不會出現在行尾?

日文排版需求中有列出日文行頭禁則的做法,請參考 3.1.7 Characters Not Starting a Line3.1.9 Positioning of Closing Brackets, Full Stops, Commas and Middle Dots at Line End 等節。

哪些字符不可以出現在行首?

這個部分在 HTML-ig-zh 中沒有討論,以下是日文排版需求 3.1.7 Characters Not Starting a Line 一節所列。中文有哪些不可出現在行首的字符?如果不在下表中,我們就該列出這些字符建議給 W3C,最好每個字符都有範例來支持其正當性。

因為篇幅有限,略去每個字符的名字,只列出字符的碼點,有興趣的人可以在 Unicode.org 的字符表中查到完整的資訊。

種類 字符清單
下引號 (Closing brackets) ’ U+2019 ” U+201D ) U+0029 〕 U+3015 ] U+005D } U+007D 〉 U+3009 》 U+300B 」 U+300D 」 U+300F 】 U+3011 ⦆ U+2986 〙 U+3019 〗 U+3017 » U+00BB 〟 U+301F
連字符 (hyphens) ‐ U+2010 〜 U+301C ゠ U+30A0 – U+2013
斷句標點符號(暫譯)(Dividing punctuation marks) ? U+003F ! U+0021 ‼ U+203C ⁇ U+2047 ⁈ U+2048 ⁉ U+2049
中位點(暫譯)(Middle dots) ・ U+30FB : U+003A ; U+003B
句點 (Full stops) 。 U+3002 . U+002E
逗點 (Commas) 、 U+3001 , U+002C
疊字符號(Iteration marks) ヽ U+30FD ヾ U+30FE ゝ U+309D ゞ U+309E 々 U+3005 〻 U+303B
延長聲符(暫譯)(Prolonged sound mark) ー U+30FC
小寫片假名 (Small kana) ぁ U+3041 ぃ U+3043 ぅ U+3045 ぇ U+3047 ぉ U+3049 ァ U+30A1 ィ U+30A3 ゥ U+30A5 ェ U+30A7 ォ U+30A9 っ U+3063 ゃ U+3083 ゅ U+3085 ょ U+3087 ゎ U+308E ゕ U+3095 ゖ U+3096 ッ U+30C3 ャ U+30E3 ュ U+30E5 ョ U+30E7 ヮ U+30EE ヵ U+30F5 ヶ U+30F6 ㇰ U+31F0 ㇱ U+31F1 ㇲ U+31F2 ㇳ U+31F3 ㇴ U+31F4 ㇵ U+31F5 ㇶ U+31F6 ㇷ U+31F7 ㇸ U+31F8 ㇹ U+31F9 ㇺ U+31FA ㇻ U+31FB ㇼ U+31FC ㇽ U+31FD ㇾ U+31FE ㇿ U+31FF ㇷ゚ <U+31F7, U+309A>
Warichu 下引號(*)(Warichu closing brackets) ) U+0029 〕 U+3015 ] U+005D
  • Warichu「割注」,依 wikipedia 上的說明,是用一半大的字型夾在文中作注,這我在古書中看過,中文的專有名詞是什麼?

要用什麼方法排版,讓這些字符不會出現在行首?

這部分的討論串是由 oldcat 起頭的,以下是編輯做的摘錄,不免有個人偏見,如有疏漏或謬誤,請鞭小力一點。(未完待續)

四個問題需要先找到答案。

  1. 應否有頭尾齊的能力、即使在中英夾雜的情形下?(更多細節
    • 選項一:一定要。
    • 選項二:不必,行尾內縮即可。
  2. 中文字間距可否調整?這裡是指中文字和中文字之間的距離。
    • 選項一:不可以。這是「方塊字排版」的概念,原則是「頁面上的方塊字,縱橫都要對齊。」(引用 oldcat 的文字)
    • 選項二:可以。(TODO: 有哪些做法?放大字間距?壓縮標點空間?其他?)
  3. 中文和非方塊字(英文、數字等)夾雜時,應否有強制中文字座落在縱橫對齊的格線上的能力?
    • 選項一:一定要。
    • 選項二:不必。(TODO: 中文字和非方塊字的間距該如何決定?)
  4. 行尾標點可否凸排?
    • 選項一:不可以。
    • 選項二:可以。這是目前日文排版需求書裡的做法,見 這張圖

請注意這幾個問題的答案有可能互斥,如「一定要切齊」+「不可調整間距」+「不可凸排」會導致無解。

這些答案確立以後,才能據以設計調整字符的位置的做法。

目前 Firefox / Chrome / Safari 已經有一定的避頭點能力,下圖是 http://stars.udn.com/newstars/collect/CollectPage.do?cid=6634 在 Chrome / Safari 上顯示的樣子,Firefox 亦同,左右較內側的藍線標示可以排版的區域,看得出來是 (2) 中文字間距不調整 (3) 有非方塊字時,中文字不座落在格線上,中英文間距無調整 (4) 行尾標點不凸排。

chrome_not_starting_a_line.png

哪些字符不可以出現在行尾?

這個部分在 HTML-ig-zh 中也沒有討論,以下是日文排版需求 3.1.8 Characters Not Ending a Line 一節所列。中文有哪些不可出現在行尾的字符?如果不在下表中,我們就該列出這些字符建議給 W3C,最好每個字符都有範例來支持其正當性。

因為篇幅有限,略去每個字符的名字,只列出字符的碼點,有興趣的人可以在 Unicode.org 的字符表中查到完整的資訊。

種類 字符清單
上引號 (Opening brackets) ‘ U+2018 “ U+201C ( U+0028 〔 U+3014 [ U+005B { U+007B 〈 U+3008 《 U+300A 「 U+300C 『 U+300E 【 U+3010 ⦅ U+2985 〘 U+3018 〖 U+3016 « U+00AB 〝 U+301D
Warichu 上引號(*) (Warichu opening brackets) ( U+0028 〔 U+3014 [ U+005B
  • Warichu「割注」,依 wikipedia 上的說明,是用一半大的字型夾在文中作注,這我在古書中看過,中文的專有名詞是什麼?

要用什麼方法排版,讓這些字符不會出現在行尾?

(待整理)