osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.09k stars 372 forks source link

【顽疾】opencc注解内容出现了不正确的折行 #1241

Closed yanhuacuo closed 5 months ago

yanhuacuo commented 8 months ago

最新同文重构版,一直有这个问题:

另外,不是所有手机都会发生,即使是同一份配置。 不清楚复现条件,大佬们参议一下吧。 应该与字体无关,在同文的衍生版【中文输入法】上,从来没有这种问题。

1 Screenshot_2024-02-11-11-27-02-942_com miui notes Screenshot_2024-02-11-11-27-12-996_com miui notes Screenshot_2024-02-11-11-29-05-176_com miui notes

goofyz commented 7 months ago

從上面的圖看,是否輸入 wwqaj 一定會出現問題?

我覺得是 window 闊度的問題。試試調整一下闊度或 margin_x 看看。

yanhuacuo commented 7 months ago

從上面的圖看,是否輸入 wwqaj 一定會出現問題?

我覺得是 window 闊度的問題。試試調整一下闊度或 margin_x 看看。

应该不是,配置如下:

https://github.com/yanhuacuo/98wubi_for_trime/blob/main/rime/pc.trime.yaml

goofyz commented 7 months ago

應該還是 window 大小的問題,但與主題設定無關。

正常情況下,CompositionPopupWindow 會根據內容,使用自身的 updateCompositionView() 來自動調整大小。 我試過推遲 updateCompositionView(),在大小還未調整前,能重現你的情況。 我認為你遇到的問題,有機會是,

  1. updateCompositionView() 比顯示選詞的內容更新執行,結果令大小錯誤
  2. 計算大小的函數本身有錯誤,某些情況會計算錯誤

如果只是偶然出現此折行情況,而非等定輸入必定出現,我認為是問題1的機會較大。

yanhuacuo commented 7 months ago

應該還是 window 大小的問題,但與主題設定無關。

正常情況下,CompositionPopupWindow 會根據內容,使用自身的 updateCompositionView() 來自動調整大小。 我試過推遲 updateCompositionView(),在大小還未調整前,能重現你的情況。 我認為你遇到的問題,有機會是,

1. `updateCompositionView()` 比顯示選詞的內容更新執行,結果令大小錯誤

2. 計算大小的函數本身有錯誤,某些情況會計算錯誤

如果只是偶然出現此折行情況,而非等定輸入必定出現,我認為是問題1的機會較大。

是每次必然不正确折行,即使该行其实并非很宽,因为有些特别宽的行,反而显示是正常的。

yanhuacuo commented 5 months ago

问题解除了,感谢 @WhiredPlanck

https://github.com/yanhuacuo/98wubi_for_trime/blob/main/rime/trime.custom.yaml#L41

2024-05-08_140013