Bug 2131516

Summary: Sinhala letters shake, wobble and momentarily disappear and reappear when typing, sometimes with wrong cursor positions.
Product: [Fedora] Fedora Reporter: Lohan G <lohang>
Component: pangoAssignee: Peng Wu <pwu>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 39CC: caillon+fedoraproject, fonts-bugs, gnome-sig, i18n-bugs, lohang, mclasen, mfabian, pnemade, pwu, rhughes, rstrode, sandmann, shawn.p.huang, tagoh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Issue reproduced with gedit on GNOME + Wayland.
none
Two cursors?
none
Something close to the expected result : ibus-typing-booster + LibreOffice
none
Small test file to show the double cursor problem.
none
Video showing the problem using the test file sinhala-double-cursor-problem-test-text.txt in gedit none

Description Lohan G 2022-10-02 04:12:28 UTC
Created attachment 1915511 [details]
Issue reproduced with gedit on GNOME + Wayland.

Description of problem:

When typing Sinhala text with ibus, the characters shake and wobble, making writing experience uncomfortable. Letters sometimes disappear for a moment and reappear. Two cursor positions or wrong cursor positions seem to appear during the process. The latter is somewhat similar to the issue described here https://gitlab.gnome.org/GNOME/pango/-/issues/684

Version-Release number of selected component (if applicable):


How reproducible:
Reproducible throughout the system.

Environment : Fedora 37 beta, GNOME on Wayland.
Applications : Gedit, Firefox, LibreOffice.

Steps to Reproduce:
1. Enable Sinhala input with si-wijesekera
2. Type : isxy, NdIdfjka ,sjSfua oS wlqrq Tn fudn mksk whqrq ksrSlaIKh lrkak'
(සිංහල භාෂාවෙන් ලිවීමේ දී අකුරු ඔබ මොබ පනින අයුරු නිරීක්ෂණය කරන්න.)
3. Typing any meaningful chunk of text can actually demonstrate the issue.

Actual results:
See attachments

Expected results:
Smooth typing without shaking, wobbling and disappearing/reappearing of characters. The issue is already there to a lesser extent on Fedora 36 too. So I am unable to show you a video of the ideal expected result at the moment.

Additional info:

Comment 1 Lohan G 2022-10-02 04:17:24 UTC
Created attachment 1915512 [details]
Two cursors?

The lines that appear on both sides of the letter, possibly a wrong cursor position or two cursors?

Comment 2 Lohan G 2022-10-04 01:29:12 UTC
Created attachment 1915848 [details]
Something close to the expected result : ibus-typing-booster + LibreOffice

Shaking/wobbling doesn't occur with ibus-typing-booster; characters don't disappear and reappear. This is the closest to the expected outcome I could get on Fedora 37.

However, the cursor position issue (or two simultaneous cursors) can still be seen when typing in gedit.

Comment 3 Mike FABIAN 2022-10-04 06:20:53 UTC
I believe this two cursor thing is a pango problem.

Comment 4 Mike FABIAN 2022-10-04 06:43:29 UTC
Created attachment 1915902 [details]
Small test file to show the double cursor problem.

The test file contains:

ම U+0DB8 SINHALA LETTER MAYANNA
ො U+0DDC SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
මො

If this is displayed in gedit and the cursor it positioned after the final character in the 3rd line, one sees a double cursor.

Comment 5 Mike FABIAN 2022-10-04 06:46:47 UTC
Created attachment 1915903 [details]
Video showing the problem using the test file sinhala-double-cursor-problem-test-text.txt in gedit

gedit sinhala-double-cursor-problem-test-text.txt

Then move the cursor to the end of the text and step backwards.

When the cursor is at the end of the text, double cursor is shown.

Comment 6 Mike FABIAN 2022-10-10 12:43:00 UTC
Which versions of pango and harfbuzz do you have installed?

I currently have 

mfabian@fedora:~
$ cat /etc/fedora-release 
Fedora release 37 (Thirty Seven)
mfabian@fedora:~
$ rpm -q pango harfbuzz
pango-1.50.10-1.fc37.x86_64
harfbuzz-5.2.0-1.fc37.x86_64
mfabian@fedora:~
$ 


and I cannot reproduce the problem with the double cursor anymore.

I can still reproduce it on Fedora 36 with these versions of pango and harfbuzz:

$ rpm -q pango harfbuzz
pango-1.50.9-1.fc36.x86_64
pango-1.50.9-1.fc36.i686
harfbuzz-4.0.0-2.fc36.x86_64
harfbuzz-4.0.0-2.fc36.i686

Comment 7 Lohan G 2022-10-10 16:05:24 UTC
(In reply to Mike FABIAN from comment #6)
> Which versions of pango and harfbuzz do you have installed?
> 
> I currently have 
> 
> mfabian@fedora:~
> $ cat /etc/fedora-release 
> Fedora release 37 (Thirty Seven)
> mfabian@fedora:~
> $ rpm -q pango harfbuzz
> pango-1.50.10-1.fc37.x86_64
> harfbuzz-5.2.0-1.fc37.x86_64
> mfabian@fedora:~
> $ 
> 
> 
> and I cannot reproduce the problem with the double cursor anymore.
> 
> I can still reproduce it on Fedora 36 with these versions of pango and
> harfbuzz:
> 
> $ rpm -q pango harfbuzz
> pango-1.50.9-1.fc36.x86_64
> pango-1.50.9-1.fc36.i686
> harfbuzz-4.0.0-2.fc36.x86_64
> harfbuzz-4.0.0-2.fc36.i686

1) My Fedora 37 beta system has:

[lohan@fedora ~]$ cat /etc/fedora-release
Fedora release 37 (Thirty Seven)
[lohan@fedora ~]$ rpm -q pango harfbuzz
pango-1.50.11-1.fc37.x86_64
harfbuzz-5.2.0-1.fc37.x86_64
[lohan@fedora ~]$ 

It continues to show two cursors in gedit (with both ibus-m17n and ibus-typing-booster). 

2) My Fedora 36 system has:

[lohan@fedora ~]$ cat /etc/fedora-release
Fedora release 36 (Thirty Six)
[lohan@fedora ~]$ rpm -q pango harfbuzz
pango-1.50.9-1.fc36.x86_64
harfbuzz-4.0.0-2.fc36.x86_64
[lohan@fedora ~]$ 

The double cursor issue continues in F 36 gedit. (with both ibus-m17n and ibus-typing-booster).

Comment 8 Peng Wu 2022-10-11 08:38:22 UTC
I think the double cursor issue is improved in Fedora 37 recently, except for the following text:

"ලිවීමේ" input by ",sjSfua"
"අකුරු" input by "wlqrq"
"අයුරු" input by "whqrq"

For Fedora 36, after rebuild and install the harfbuzz 5.2.0 and harfbuzz-icu 5.2.0 package, the testing results is the same as Fedora 37.

Comment 9 Mike FABIAN 2022-10-13 09:47:37 UTC
(In reply to Peng Wu from comment #8)
> I think the double cursor issue is improved in Fedora 37 recently, except
> for the following text:
> 
> "ලිවීමේ" input by ",sjSfua"

This one works for me in Fedora 36 and Fedora 37

> "අකුරු" input by "wlqrq"
> "අයුරු" input by "whqrq"

These two show the double cursor problem for me 
 
> For Fedora 36, after rebuild and install the harfbuzz 5.2.0 and harfbuzz-icu
> 5.2.0 package, the testing results is the same as Fedora 37.

I also tried that now and for me as well the testing results on Fedora 36 are the same as on Fedora 37 with harfbuzz 5.2.0

Comment 10 Mike FABIAN 2022-10-19 08:04:47 UTC
I tested Peng Wu’s merge request: https://gitlab.gnome.org/GNOME/pango/-/merge_requests/653

This fixes the problem of the double cursor in

"අකුරු" input by "wlqrq"
"අයුරු" input by "whqrq"

I could find no obvious problems when playing with Arabic text in gedit, so I think this will probably not introduce regressions for Arabic.

Comment 11 Mike FABIAN 2023-01-30 10:19:57 UTC
I have just tested Peng Wu’s latest patch in the merge request  https://gitlab.gnome.org/GNOME/pango/-/merge_requests/653
i.e. this one:

https://gitlab.gnome.org/GNOME/pango/-/merge_requests/653/diffs?commit_id=25e1fc02b69883909a38d60521f52d250c7f8737

and it also fixes the problem of the double cursor in 


"අකුරු" input by "wlqrq"
"අයුරු" input by "whqrq"

and I also could not find any obvious problems when playing with Arabic text in gedit.

Comment 12 Parag Nemade 2023-08-07 08:49:49 UTC
this will likely be fixed only when patch is merged in upstream. Not sure how much time it will take in upstream. Hence moving the target to fix this bug to rawhide.

Comment 13 Fedora Release Engineering 2023-08-16 08:08:45 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.