2017-03-01 28 views
0

爲BIDI實施隔離邏輯讓我再次陷入困境。給出以下測試用例。Unicode BIDI(UBA):R RLI R;爲什麼RLI應該停留在0級

@Levels: 1 0 1 
@Reorder: 0 1 2 
R RLI R ; 2 # LTR flag 
\____/ \_/ (my run sequences) 

這是我目前的理解:

處理規則X1-X8你最終水平0 0 1這將轉換成兩個獨立的運行序列之後。

據我所知,規則W1-W7不應該適用於任何字符。

規則N1然而將提高RLI的級別設置爲1,因爲它是強類型的NI兩者之間,所述R和第一序列的eos

規則I1/2,然後將推第一R爲1級

規則L1可以降低的RLI的水平,但在這裏並不適用。

這是怎麼回事,該RLI應該結束了在0級


同樣的問題類似的測試,只是invthe相反的方向。

@Levels: 2 1 2 
@Reorder: 2 1 0 
L LRI L; 4 

可悲的是http://unicode.org/cldr/utility/bidi.jsp沒有實現包括RLI/LRI在內的最新算法。

任何意見歡迎:)謝謝。

+0

。進一步檢查,我想我正在計算錯誤,考慮到X10註釋「......如果沒有或者序列的最後一個字符是隔離啓動器(缺少匹配的PDI),則使用段落嵌入級別。 – butterbrot

回答

0

奧凱的問題是規則N1不應該被應用,因爲該eosL型的,而不是R

我已經錯過了在說明X10指出:......如果是沒有的或序列的最後一個字符是一個分離引發劑(缺少匹配的PDI),與段落嵌入級別「