Created attachment 165171 [details] Screen recording example of missing emojis SUMMARY Any emoji whose name includes the string " E" (space followed by uppercase E) is missing from the Emoji Selector. For example, all flag emojis whose names start with an uppercase E are missing. There could be other examples that I've missed. STEPS TO REPRODUCE 1. Open Emoji Selector 2. Search for any emoji whose name includes " E" (e.g., "flag: European Union") OBSERVED RESULT The emoji cannot be found in the program. EXPECTED RESULT The emoji should show up in the program. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora Linux 39 KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.113.0 Qt Version: 5.15.11 ADDITIONAL INFORMATION The emoji data is generated with the script emojier/data/update-emoji-data.py (see https://invent.kde.org/plasma/plasma-desktop/-/blob/v5.27.10/emojier/data/update-emoji-data.py?ref_type=tags#L60). On line 60, a part of the emoji metadata, which includes the name, is split using the delimiter " E". This should split the string into two, but it fails to consider that emojis can have " E" in the name, like with "flag: European Union", in which case the code could and does split in the middle of the emojis name. Line 61 is then evaluated as false, which causes the emoji to be ignored entirely and, therefore, is missing in the output files. Initial independent testing seems to confirm this to be the culprit. I modified line 60 to only split on the first occurrence (`split(b" E") => split(b" E", 1)`), and replacing /usr/share/plasma/emoji/* with the newly generated files got the missing emojis to show up.
Can confirm. Would you be interested in submitting a merge request for a fix? Thanks! More information can be found at https://community.kde.org/Get_Involved/development
(In reply to fanzhuyifan from comment #1) > Can confirm. Would you be interested in submitting a merge request for a > fix? Thanks! > > More information can be found at > https://community.kde.org/Get_Involved/development Thank you for confirming. Yes, I can make a merge request. I'm not confident that my proposed fix is the only or best solution, but I suppose that can be discussed in the MR.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2003
Git commit 87120a4d4f7247e89eadaf15a365b656332f885a by Aleix Pol Gonzalez, on behalf of Oliver Jõgar. Committed on 05/02/2024 at 18:51. Pushed by apol into branch 'master'. Fix and update missing emojis in emoji data String splitting in the parser script unintentionally left out some emojis from the output. Limiting the splitting to at most one split returns the missing emojis. M +- -- emojier/data/af.dict M +- -- emojier/data/am.dict M +- -- emojier/data/ar.dict M +- -- emojier/data/as.dict M +- -- emojier/data/ast.dict M +- -- emojier/data/az.dict M +- -- emojier/data/be.dict M +- -- emojier/data/bew.dict M +- -- emojier/data/bg.dict M +- -- emojier/data/bn.dict M +- -- emojier/data/br.dict M +- -- emojier/data/bs.dict M +- -- emojier/data/ca.dict M +- -- emojier/data/ccp.dict M +- -- emojier/data/chr.dict M +- -- emojier/data/cs.dict M +- -- emojier/data/cv.dict M +- -- emojier/data/cy.dict M +- -- emojier/data/da.dict M +- -- emojier/data/de.dict M +- -- emojier/data/dsb.dict M +- -- emojier/data/el.dict M +- -- emojier/data/en.dict M +- -- emojier/data/es.dict M +- -- emojier/data/es_419.dict M +- -- emojier/data/es_MX.dict M +- -- emojier/data/et.dict M +- -- emojier/data/eu.dict M +- -- emojier/data/fa.dict M +- -- emojier/data/ff_Adlm.dict M +- -- emojier/data/fi.dict M +- -- emojier/data/fil.dict M +- -- emojier/data/fo.dict M +- -- emojier/data/fr.dict M +- -- emojier/data/fr_CA.dict M +- -- emojier/data/ga.dict M +- -- emojier/data/gd.dict M +- -- emojier/data/gl.dict M +- -- emojier/data/gu.dict M +- -- emojier/data/ha.dict M +- -- emojier/data/he.dict M +- -- emojier/data/hi.dict M +- -- emojier/data/hi_Latn.dict M +- -- emojier/data/hr.dict M +- -- emojier/data/hsb.dict M +- -- emojier/data/hu.dict M +- -- emojier/data/hy.dict M +- -- emojier/data/ia.dict M +- -- emojier/data/id.dict M +- -- emojier/data/ig.dict M +- -- emojier/data/is.dict M +- -- emojier/data/it.dict M +- -- emojier/data/ja.dict M +- -- emojier/data/jv.dict M +- -- emojier/data/ka.dict M +- -- emojier/data/kab.dict M +- -- emojier/data/kk.dict M +- -- emojier/data/kl.dict M +- -- emojier/data/km.dict M +- -- emojier/data/kn.dict M +- -- emojier/data/ko.dict M +- -- emojier/data/kok.dict M +- -- emojier/data/ky.dict M +- -- emojier/data/lb.dict M +- -- emojier/data/lij.dict M +- -- emojier/data/lo.dict M +- -- emojier/data/lt.dict M +- -- emojier/data/lv.dict M +- -- emojier/data/mi.dict M +- -- emojier/data/mk.dict M +- -- emojier/data/ml.dict M +- -- emojier/data/mn.dict M +- -- emojier/data/mr.dict M +- -- emojier/data/ms.dict M +- -- emojier/data/mt.dict M +- -- emojier/data/my.dict M +- -- emojier/data/ne.dict M +- -- emojier/data/nl.dict M +- -- emojier/data/nn.dict M +- -- emojier/data/no.dict M +- -- emojier/data/nso.dict M +- -- emojier/data/oc.dict M +- -- emojier/data/or.dict M +- -- emojier/data/pa.dict M +- -- emojier/data/pa_Arab.dict M +- -- emojier/data/pcm.dict M +- -- emojier/data/pl.dict M +- -- emojier/data/ps.dict M +- -- emojier/data/pt.dict M +- -- emojier/data/pt_PT.dict M +- -- emojier/data/qu.dict M +- -- emojier/data/quc.dict M +- -- emojier/data/ro.dict M +- -- emojier/data/ru.dict M +- -- emojier/data/rw.dict M +- -- emojier/data/sat.dict M +- -- emojier/data/sc.dict M +- -- emojier/data/sd.dict M +- -- emojier/data/si.dict M +- -- emojier/data/sk.dict M +- -- emojier/data/sl.dict M +- -- emojier/data/so.dict M +- -- emojier/data/sq.dict M +- -- emojier/data/sr.dict M +- -- emojier/data/sr_Latn.dict M +- -- emojier/data/sv.dict M +- -- emojier/data/sw.dict M +- -- emojier/data/sw_KE.dict M +- -- emojier/data/ta.dict M +- -- emojier/data/te.dict M +- -- emojier/data/tg.dict M +- -- emojier/data/th.dict M +- -- emojier/data/ti.dict M +- -- emojier/data/tk.dict M +- -- emojier/data/tn.dict M +- -- emojier/data/to.dict M +- -- emojier/data/tr.dict M +- -- emojier/data/ug.dict M +- -- emojier/data/uk.dict M +1 -1 emojier/data/update-emoji-data.py M +- -- emojier/data/ur.dict M +- -- emojier/data/uz.dict M +- -- emojier/data/vi.dict M +- -- emojier/data/wo.dict M +- -- emojier/data/xh.dict M +- -- emojier/data/yo.dict M +- -- emojier/data/yo_BJ.dict M +- -- emojier/data/yue.dict M +- -- emojier/data/yue_Hans.dict M +- -- emojier/data/zh.dict M +- -- emojier/data/zh_Hant.dict M +- -- emojier/data/zh_Hant_HK.dict M +- -- emojier/data/zu.dict https://invent.kde.org/plasma/plasma-desktop/-/commit/87120a4d4f7247e89eadaf15a365b656332f885a