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