大家好,我想討論一下數位出版時代的不換行(no-break)空格(U+00A0)。
我工作在一個官方語言為法語和英語的雙語國家。在英語國家,不換行空格和半角空格很少見。您可能會在 1·Chronicles 的各部分之間找到不換行空格。
相比之下,我們大多數來自法語地區的譯者希望遵循法語的空格規則。在法語世界,標點符號(; ! : ? « »)前後需要空格。不換行空格常被用作大數字的千位分隔符,例如 1·000(數字設定 - 千位分隔符被重置 - #3 by jeffh)。出版標準各不相同,但此情況的理想候選者通常是普通不換行空格(U+00A0)和窄不換行空格(U202F)。這可以防止閉合標點符號被擠到下一行,特別是在多欄版面中。這些空格讓文字在世界的電腦上流暢顯示。標準空格(U+0020)、細空格(U+2009)和髮絲空格(U+022A)寬度不一,但無法提供必要的孤行保護。
一些工具選擇將不換行空格視覺化為淡色圓點或灰色方塊。Paratext 會自動將不換行空格(U+00A0)替換為巨大的波浪號(~,U+007E)。在目前版本中,輸入 00A0 並按下 ALT-X 會將本應是不換行空格的地方替換為普通(0020)空格,這完全是錯誤的。這個巨大的波浪號非常干擾我們的譯者,因此大多數時候,法語譯者被指示使用普通空格或不在標點符號前使用空格,並理解排版人員會在印刷前根據其決定在最後時刻標準化空格。我完全知道巨大的波浪號在預覽模式中會被替換為不換行空格,並可以透過 Print Draft 變更或 ptxPrint 進行替換。有創意的技術人員可以設定 PTX print 在此類字符前插入空格,但那樣的話它們在 Paratext 中將完全不可見。
來自 Paratext 文件:
因此,Paratext 不再支援使用不換行空格。如果您想在文字中使用不換行空格,您應該在不換行空格的位置輸入波浪號。這些可以在排版時轉換為不換行空格。在文字中輸入的波浪號在預覽視圖中顯示為不換行空格。
如果這是很罕見的情況(就像在英語中那樣),我不會擔心,但在法語文本中幾乎每段都會出現。我的擔心是 1) 波浪號對於花費時間在標準視圖中的譯者以及從他們肩後閱讀的人來說具有干擾性,2) 在數位出版和分享的時代,這種限制站不住腳。
技術上,~one~can~get~by~and~publish~via~the~intervening~tildes。現場人員對波浪號的反應是忽略不換行空格直到排版,這已不再可行,因為文本不僅由排版人員準備印刷。單本聖經書卷在當地出版,數位版本被放入 DBL 並提供使用,並製作了聖經應用程式。這意味著在 Paratext 版本中具有「最終」空格變得越來越重要,而 Paratext 仍然沒有「真正」支援這一點。(我今天剛發現窄不換行空格(U202F)沒有視覺指示器,但感謝天意,它不會被波浪號化。)U+202F 的顯示/處理不一致,它應該更窄,在這裡討論(專案中刪除 Unicode 202F ("narrow no break space"))。
LibreOffice 使用灰色方塊來區分不換行空格和普通空格。Word 的顯示/隱藏功能使用空心圓圈表示不換行空格,使用中心圓點表示普通空格。
Paratext 開發人員是否考慮過在介面中廢棄波浪號,改用更易讀且干擾較少的東西?這是否需要更改 USFM,還是只需更改 Paratext?譯者已經習慣了文字中灰色的元數據,例如 USFM 標記。在標準視圖中使用淡灰色圓點 · 將有助於區分特殊空格和普通空格,對吧?改用灰色方塊將顯示不換行性和長度,我想這就是 LibreOffice 選擇它們的原因。這將是跨文化相容性的一大勝利,我希望其他在法語世界工作的人能發表意見。@jeffh @dhigby @anon023887 ?
我從這篇帖子(不換行空格問題)中了解到,波浪號化是為了應對 Internet Explorer 的交替問題。即使現在,網頁中兩個連續的空格也需要至少一個轉換為 NBSP。是的,視覺上區分空格很困難,但團隊仍然必須標準化它們。
~ Matthew_Lee
語言技術顧問
SIL 喀麥隆
更糟糕的是,Paratext 幫助將不換行空格視為需要根除的禍害(見下文)。
為什麼我在文字中看到波浪號而不是空格?
不換行空格是看起來像空格但不允許…
不換行空格是看起來像空格但不允許在該位置換行的字符。在打開包含不換行空格的文本時,如果您發現這些空格似乎被替換為波浪號字符(~),這是故意的。Paratext 通過將不換行空格顯示為波浪號來使其可見。
關於此問題,我至少需要知道什麼?
早期版本的 Paratext 偶爾會錯誤地在不換行空格的位置插入普通空格。因此,如果您在確定不需要不換行空格的文本位置看到偶爾的波浪號,您可以直接將波浪號替換為空格。
如果我想要一次性解決這個問題怎麼辦?
如果您沒有故意在文字中插入任何不換行空格或波浪號,因此希望移除所有不換行空格和波浪號,請遵循選項 1 的說明。如果您不確定波浪號或不換行空格是否被故意插入,請在移除所有內容之前與您的 CAP 支援人員核實,否則您可能需要手動重新輸入它們。
Option 1 (To get rid of all no-break spaces and tildes):
Click the tab of your project to make it the active tab.
From the Tools menu, point to Advanced and then select Replace No-Break Spaces With Normal Spaces.
Read the warning message and click Yes if you are sure you wish to continue.
If your project has been following the USFM manual and so has been manually inserting tildes either to represent no-break spaces or for some other function, follow the instructions in Option 2. Doing this sooner rather than later prevents Paratext from inserting any more occasional unwanted tildes.
Option 2 (To get rid of no-break spaces, but keep all tildes):
Click the tab of your project to make it the active tab.
From the Tools menu, point to Advanced and then select Replace No-Break Spaces With Normal Spaces But Keep Tildes.
Read the warning message and click Yes if you are sure you wish to continue.
See also:
Important information about no-break spaces and tildes
Hi all, I’d like to discuss non-breaking (no-break) spaces (U+00A0) in the age of digital publishing.
I work in a country that is officially bilingual between French and English. In English-speaking countries, non-breaking and half spaces are rare. You might find a non-breaking space in between the parts of 1·Chronicles.
In contrast, most of our translators from the French-speaking regions want to follow French spacing rules. In the French-speaking world, spaces are required before/around punctuation with 2 marks (; ! : ? « »). No-break spaces are often used as a thousands separator in large numbers, like 1·000 (Number Settings - Thousands Separator gets reset - #3 by jeffh). Publishing standards vary, but the ideal candidates for this case are the common no-break space (U+00A0) and the narrow no-break space (U202F). This prevents a closing punctuation mark from getting bumped to the next line, especially in multiple-column layouts. These spaces keep text flowing across the world’s computers. The standard space (U+0020), thin space (U+2009), and hair space (U+022A) have varying widths, but don’t provide the necessary orphan protection.
Some tools choose to represent no-break spaces visually as a faint dot or a grey box. Paratext automatically replaces no-break space (U+00A0) with a ginormous tilde (~, U+007E). In current versions, entering 00A0 and pressing ALT-X replaces what should be a no-break space with simple (0020) spaces, which is outright wrong. This giant tilde is very distracting to our translators, and so most of the time, francophone translators have been instructed to either use simple spaces or not to use spaces before punctuation, with the understanding that the typesetter will standardize the spaces at the last minute following their decisions before printing. I am fully aware that the ginormous tildes are replaced with no-break spaces in preview mode, and can be replaced via Print Draft changes or ptxPrint. A creative techie could configure PTX print to insert spaces before such characters, but then they wouldn’t be seen in Paratext at all.
From Paratext Documentation:
Because of this, Paratext no longer supports the use of no-break space. If you want to use no-break spaces in your text, you should enter tilde in place of the no-break space. These can be converted to no-break spaces at typesetting. Tildes entered in the text are displayed as no-break spaces in the Preview view.
If this was something rare (as it is in English), I wouldn’t be concerned, but it comes up nearly every paragraph of a francophone text. My concern is that 1) the tildes are distracting for the translators who spend their time in standard view, and for those reading over their shoulders and 2) that this restriction doesn’t hold up in this age of digital publishing and sharing.
Technically,~one~can~get~by~and~publish~via~the~intervening~tildes. The field staff’s response to the tildes of ignoring the no-break spaces until typesetting is no longer viable, as the texts are not only prepared for printing by typesetters. Individual books are published locally, digital versions are put into the DBL and made available, and Scripture Apps are made. This means that having “final” spacing in the Paratext version is increasingly important, and Paratext still doesn’t “really” support this. (I just discovered today that narrow no-break space (U202F) has no visual indicator, but thankfully doesn’t get tildefied.) Inconsistent display/handling of U+202F, which should be narrower, is discussed here (Deletion of Unicode 202F ("narrow no break space") in project)
LibreOffice uses a grey box to distinguish no-break spaces from normal spaces. Word’s Show/Hide feature uses an open circle for non breaking spaces and a centered dot for normal spaces.
Would Paratext devs consider scrapping the tilde in the interface and using something more legible and less distracting? Would this require a change to USFM, or just Paratext? Translators are already used to greyish metadata in their text like USFM markers. A faint grey dot · in standard view would be helpful to distinguish special spaces and normal spaces, right? Going with the grey squares instead would show both non-breakingness and length, which I suppose is why LibreOffice chose them. This would be a big win for cross-cultural compatibility, I hope someone else working in the francophone world can weigh in. @jeffh @dhigby @anon023887 ?
I understand from this post (Non-breaking space issues) that the tildefication was introduced to combat an Internet Explorer alternation problem. Even now, two consecutive spaces in a webpage require that at least one is transformed to NBSP. Yes, it is hard to visually distinguish spaces, but teams still have to standardize them.
~ Matthew_Lee
Language Technology Consultant
SIL Cameroon
To make things worse, the Paratext help treats no-break spaces as a scourge to be eradicated (see below).
Why do I see tildes in place of spaces in my text?
No-break spaces are characters that look like a space but which do not allo…
No-break spaces are characters that look like a space but which do not allow a line to break at that location. On opening a text with no-break spaces, if you find that those spaces appear to have been replaced with tilde characters (~), this is deliberate. Paratext makes no-break spaces visible by displaying them as tildes.
What is the least I need to know about this?
Earlier versions of Paratext occasionally and wrongly inserted no-break spaces where a normal space was needed. Therefore, if you see an occasional tilde in a place in the text which you are quite sure does not require a no-break space, you can just replace the tilde with a space.
What if I would like to take care of the problem all at once?
If you have NOT knowingly inserted any no-break spaces or tildes in your text and therefore want to remove all the no-break spaces and tildes, follow the instructions in Option 1. If you are not absolutely sure whether or not the tildes or no-break spaces were intentionally inserted, check with your CAP support person before removing all of them, otherwise you may have to manually re-enter them.
Option 1 (To get rid of all no-break spaces and tildes):
Click the tab of your project to make it the active tab.
From the Tools menu, point to Advanced and then select Replace No-Break Spaces With Normal Spaces.
Read the warning message and click Yes if you are sure you wish to continue.
If your project has been following the USFM manual and so has been manually inserting tildes either to represent no-break spaces or for some other function, follow the instructions in Option 2. Doing this sooner rather than later prevents Paratext from inserting any more occasional unwanted tildes.
Option 2 (To get rid of no-break spaces, but keep all tildes):
Click the tab of your project to make it the active tab.
From the Tools menu, point to Advanced and then select Replace No-Break Spaces With Normal Spaces But Keep Tildes.
Read the warning message and click Yes if you are sure you wish to continue.
See also:
Important information about no-break spaces and tildes