bpmfvs icon indicating copy to clipboard operation
bpmfvs copied to clipboard

直排時標點符號的顯示

Open urochordate opened this issue 1 year ago • 7 comments

注音芫荽在直排時破折號的顯示有誤,會重疊在字上。 截圖顯示為同一段落的注音芫荽體、新細明體與字嗨注音黑體。 字嗨注音黑體的破折號雖然稍微偏右但大致上是可讀的,但注音芫荽體則不行。 不知道之後是否有機會處理直排標點能展示更好一些?

感謝

image image image

urochordate avatar May 04 '23 06:05 urochordate

你的破折號是用哪個符號? 看起來像是歐文符號。

ButTaiwan avatar May 04 '23 06:05 ButTaiwan

這是用微軟新注音或自然輸入法直接可以較快打出來的符號,應該是兩個U+2014

我這邊附上其他幾個類似符號的試用: U+2014兩個:說是村落——霜一般易逝的 U+FF0D兩個:說是村落--霜一般易逝的 U+2015兩個:說是村落――霜一般易逝的 U+2500兩個:說是村落──霜一般易逝的 U+2E3A一個:說是村落⸺霜一般易逝的(最後這個可能是最標準的,但其實我是去維基網頁上複製過來的,根本不知道平常怎麼打出來,而且在純文字編輯器如Sigil或Notepad++無法顯示。)

直排不同字型展示如截圖: image image image

urochordate avatar May 04 '23 09:05 urochordate

啊另外上面那些原本是電子書中的直排,我也順手看一下word中的直排(以及全形刪節號的表現) image

urochordate avatar May 04 '23 09:05 urochordate

Word我就先不管了,他沒有按照UAX#50處理直排,字型檔反而不知道怎麼去應付他。 其他符號我確認一下。

ButTaiwan avatar May 04 '23 12:05 ButTaiwan

初步研判原因如下:

U+2014沒有字寬,會壓到漢字的問題: 沒有注音的芫荽也有一樣的問題,應該是某一個版本Glyphs輸出時的問題。原因不明,重新轉一次就好了。下一個版本會修掉。

破折號、刪節號直排時會歪一邊、分開的問題: 根據UAX#50規範,刪節號無論 U+2026、U+22EF,破折號無論 U+2014、U+2015、U+2E3A 甚至表格符號 U+2500,定義上都是 R(強制橫倒);而不是 Tr(依字型定義,字型未定義則橫倒)。

所以雖然我在字型檔裡已經定義了正確的直排刪節號,但預設的情況下,瀏覽器會照UAX#50的規定,自動將橫排用的字符旋轉90度顯示。在一般正方形的中文字型,這會顯示很正常;但在長寬比2:3的注音字型下,就會變成整體偏右、又有莫名空格的現象。其實是因為瀏覽器使用橫排字元強制橫倒顯示的關係。

所以使用注音字型時,必須在CSS設定text-orientation讓所有文字「強制正立」:

.v {
	writing-mode: vertical-rl;
	text-orientation: upright;
}

在強制正立的模式下,瀏覽器才會去使用到字型裡所指定的直排字符。 目前的版本,有指定強制正立的話,刪節號應該能正常顯示了。 事實上,不只刪節號,本字型所有半形字元,都有定義正確的直排旋轉字符;但必須要設定「強制正立」去套用這些旋轉字符(聽起來有點矛盾)。 這樣英文也不會歪一邊了。

破折號在目前的版本還沒有正確支援支排,下一版會更新。這是目前測試中的畫面。注音字型要支援U+2E3A目前非常困難,暫時可能不打算支援。 image

ButTaiwan avatar May 04 '23 16:05 ButTaiwan

噢噢太感謝了 知道進入下一版修正的排程已經足夠了 期待之後更新的日子❤️

urochordate avatar May 04 '23 23:05 urochordate

芫荽已配合 Ver 1.000 更新。

ButTaiwan avatar Jun 03 '23 15:06 ButTaiwan