我花了很多很多天與東南亞文字中的空格問題作鬥爭。我從未見過任何發布環境,在使用 THIN SPACE \u2009 或 EM SPACE \u2003 等固定寬度空格作為詞語或短語之間的間隔時,能產生正確的輸出。以下是我觀察到的一些具體問題:
- 當前面的詞語一直延伸到邊距時,普通的 SPACE \u0020 會在行尾消失,而固定寬度空格則需要足夠的空間才能出現在右邊距之前的行上,或者該空格的寬度會將前面的詞語拉到下一行,或者固定寬度空格會單獨換行到下一行,從而實際上縮進下一行文本。
- 換行演算法優先在 SPACE 處斷行,而不是在固定寬度空格處斷行,從而產生帶有半行文本的醜陋段落。
- 固定寬度空格無法拉伸或縮小,以實現完全對齊的邊距或平衡良好的段落。只有普通的 SPACE 字符才能用於這些目的。
- 當用戶從應用程式複製並粘貼到通訊軟體等地方時,固定寬度空格可能會顯示異常。
- 手機鍵盤無法輸入固定寬度空格,因此手機應用程式中的多詞搜尋將失敗。
我找到的解決方案是使用普通的 SPACE \u0020 字符來表示窄空格和寬空格。在 PTXprint 中,我使用 SPACE+ZWSP+SPACE 來在短語間隔處獲得雙(或三)空格。在 SAB 中,我使用兩個或三個空格字符,並使用包含 CSS white-space: pre-wrap; 的樣式,以防止 HTML 引擎將多個空格合併為一個空格。無論是在 PTXprint、SAB 還是 Indesign 中,我都可以對空格應用自定義樣式,使其變寬或變窄。
在 Paratext 中使用固定寬度空格主要沒問題,但標點符號清單會變得混亂。然而,我的偏好是避免在 Paratext 中也使用固定寬度空格,因為它們很難看清。最好使用可見字符(例如在短語間隔處使用逗號),然後在發布時將該字符更改為更寬或更窄的空格。
正如 mnjames 所指出的,SAB 在實施變更規則方面幾乎與 PTXprint 一樣靈活,因此如果您有可用的字體,您應該能夠在任一程式中獲得完美的輸出。
I've spent many, many days wrestling with space issues in Southeast Asian scripts. I have NEVER seen a publishing environment in which fixed width spaces such as THIN SPACE \u2009 or EM SPACE \u2003 produce correct output when used between words or phrases. Here are a few specific problems I have observed:
- Whereas a normal SPACE \u0020 will disappear at the end of a line when the preceding word reaches all the way to the margin, a fixed width space will either require sufficient space to appear on the line before the right margin, or the width of the space will pull the preceding word down to the next line, or the fixed width space will wrap to the next line alone, effectively indenting the next line of text.
- Line break algorithms prioritize breaking at a SPACE higher than at fixed width spaces, producing ugly paragraphs with half-lines of text.
- A fixed width space cannot be stretched or shrunk in order to achieve fully justified margins or nicely balanced paragraphs. Only a normal SPACE character works for these things.
- A fixed width space may appear strangely when the user copy-pastes from an app into a messenger, etc.
- Phone keyboards can't type a fixed width space so a multi-word search in a phone app will fail.
The solution that I have found is to use normal SPACE \u0020 characters for both narrow and wide spaces. In PTXprint I use SPACE+ZWSP+SPACE to get a double (or triple) space at phrase breaks. In SAB I use two or three space characters, with a style containing CSS white-space: pre-wrap; to prevent the HTML engine from collapsing multiple spaces into a single space. In either PTXprint, SAB, or Indesign I can apply custom styles to the space to make it either wider or narrower.
Using fixed-width spaces within Paratext works mostly OK, though the punctuation inventory gets confused. My preference, however, is to avoid using fixed-width spaces in Paratext too because they're difficult to see. It's better to use a visible character (e.g. a comma at phrase breaks) and then change the character to a wider or narrower space at publication time.
As mnjames indicated, SAB is almost as flexible as PTXprint when it comes to implementing change rules, so you should be able to get perfect output in either program, if you have a working font.
機器翻譯自 English