CQD
@CQD
Thu, Nov 21, 2024 2:21 AM
4
2
RTL 跟 LTR 交織在一起的悲劇...
CQD
@CQD
Thu, Nov 21, 2024 2:21 AM
突然很好奇阿拉伯語系的 vs code 打字的時候會是什麼狀況
CQD
@CQD
Thu, Nov 21, 2024 2:29 AM
在 mac 的 console 裡面印,看起來 byte order 是反過來的(注意看起來有空白的字串的位置
CQD
@CQD
Thu, Nov 21, 2024 2:30 AM
然後游標移到中間打個英文字母,突然顯示順序就左右對調了,但是 byte order 沒變
CQD
@CQD
Thu, Nov 21, 2024 2:30 AM
這什麼鬼啊亂七八糟的...
CQD
@CQD
Thu, Nov 21, 2024 2:37 AM
感覺像是這樣,紅色是 RTL 區塊
CQD
@CQD
Thu, Nov 21, 2024 2:43 AM
感受到中文書寫方向由右往左改為由左往右省去了相當多麻煩,感恩前人讚嘆前人。
Gea-Suan Lin
@gslin
Thu, Nov 21, 2024 10:48 AM
這個頗哭爸的... 你後來有找到 reference 解釋這個行為嗎 XDDD
CQD
@CQD
Thu, Nov 21, 2024 10:52 AM
沒,因為最後重點是跟客戶賠不是所以不是我的工作(炸),依稀記得有個 unicode bidi 什麼的。
CQD
@CQD
Thu, Nov 21, 2024 10:54 AM
原始事故字串我 copy paste 過來:'helpful' ? 'مفيد' : 'غير مفيد'
CQD
@CQD
Thu, Nov 21, 2024 10:57 AM
Unicode Bidirectional Algorithm basics
應該是這個吧
CQD
@CQD
Thu, Nov 21, 2024 10:58 AM
Thu, Nov 21, 2024 10:58 AM
靠北的細節滿多的,一般符號,有左右關係的符號(例如大於小於),數字,ltr 文字(例如英文字母)的狀況都不一樣
CQD
@CQD
Thu, Nov 21, 2024 11:00 AM
這件事讓我很好奇阿拉伯語系/希伯來文的工程師平常寫 code 的時候到底人生有多悲慘
CQD
@CQD
Thu, Nov 21, 2024 11:03 AM
Thu, Nov 21, 2024 11:04 AM
阿拉伯語還有個很麻煩的特性,字母前後相連跟不相連的寫法不同。如果前端做了打字機效果,依照 append 的方式不同或是有首字大寫之類的 css,在不同的瀏覽器上連字機制會用不同的方式壞掉。
CQD
@CQD
Thu, Nov 21, 2024 11:05 AM
Thu, Nov 21, 2024 11:07 AM
然後 unicode 裡面一個阿拉伯字母會對應多個 code point,「形而上(會自動變形)」「前連字寫法」「後連字寫法」「前後連字寫法」「不連字寫法」...之類的
CQD
@CQD
Thu, Nov 21, 2024 11:06 AM
xkcd 中文翻譯:Unicode
軟杯杯
@softcup
Thu, Nov 21, 2024 12:29 PM
這感覺好麻煩啊!
Manic
@ManicLF
Fri, Nov 22, 2024 6:17 AM
我們公司也有支援 arab 文,但程式碼的部分都是用
I18n.t
包起來而非直接處理字串,所以沒事...
載入新的回覆
RTL 跟 LTR 交織在一起的悲劇...
在 mac 的 console 裡面印,看起來 byte order 是反過來的(注意看起來有空白的字串的位置
感覺像是這樣,紅色是 RTL 區塊
應該是這個吧
I18n.t
包起來而非直接處理字串,所以沒事...