避頭點 | 避头奌
編輯:pingooo (歡迎加入)
命題
- 哪些字符不可以出現在行首?
- 要用什麼方法排版,讓這些字符不會出現在行首?
- 哪些字符不可以出現在行尾?
- 要用什麼方法排版,讓這些字符不會出現在行尾?
日文排版需求中有列出日文行頭禁則的做法,請參考 3.1.7 Characters Not Starting a Line 到 3.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 起頭的,以下是編輯做的摘錄,不免有個人偏見,如有疏漏或謬誤,請鞭小力一點。(未完待續)
四個問題需要先找到答案。
- 應否有頭尾齊的能力、即使在中英夾雜的情形下?(更多細節)
- 選項一:一定要。
- 選項二:不必,行尾內縮即可。
- 中文字間距可否調整?這裡是指中文字和中文字之間的距離。
- 選項一:不可以。這是「方塊字排版」的概念,原則是「頁面上的方塊字,縱橫都要對齊。」(引用 oldcat 的文字)
- 選項二:可以。(TODO: 有哪些做法?放大字間距?壓縮標點空間?其他?)
- 中文和非方塊字(英文、數字等)夾雜時,應否有強制中文字座落在縱橫對齊的格線上的能力?
- 選項一:一定要。
- 選項二:不必。(TODO: 中文字和非方塊字的間距該如何決定?)
- 行尾標點可否凸排?
- 選項一:不可以。
- 選項二:可以。這是目前日文排版需求書裡的做法,見 這張圖。
請注意這幾個問題的答案有可能互斥,如「一定要切齊」+「不可調整間距」+「不可凸排」會導致無解。
這些答案確立以後,才能據以設計調整字符的位置的做法。
目前 Firefox / Chrome / Safari 已經有一定的避頭點能力,下圖是 http://stars.udn.com/newstars/collect/CollectPage.do?cid=6634 在 Chrome / Safari 上顯示的樣子,Firefox 亦同,左右較內側的藍線標示可以排版的區域,看得出來是 (2) 中文字間距不調整 (3) 有非方塊字時,中文字不座落在格線上,中英文間距無調整 (4) 行尾標點不凸排。

哪些字符不可以出現在行尾?
這個部分在 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 上的說明,是用一半大的字型夾在文中作注,這我在古書中看過,中文的專有名詞是什麼?
要用什麼方法排版,讓這些字符不會出現在行尾?
(待整理)