[Bug report / small enhancements] WRT Unicode symbols (emoticons / emojis etc.) in Gajim 0.16.x
While testing Gajim's handling (under Windows and Linux) of Unicode emoticons sent from Conversations (under Android), following issues were encountered:
a. with Gajim 0.16.6 under Windows 10:
Initially no emoticons were displayed. After selecting the Microsoft font Courier New in Gajim, most Unicode symbols looked fine in Gajim.
Trying to get a more complete set of Unicode symbols, Google's Noto font (Noto-hinted.zip) was installed in Windows (without the Color Emojis), but Gajim only offers to select either NotoEmoji-Regular.ttf or a Noto sub-font with letters (hence either no letters or no emoticons are displayed in Gajim). Other programs (e.g. Notepad++) behave correctly with Noto, though.
- Default to a Microsoft supplied (i.e. "always there" in Windows >= 7) Unicode font with Emoticons / Emojis in Gajim under Windows.
- This is fixed in current Gajim beta-snapshots (GTK3 based), e.g. v0.16.10.2 (Gajim-default-2017-xx-xx.exe from https://gajim.org/downloads/snap/win/).
b. with Gajim 0.16.5 (GTK+ 2.24.30, PyGTK 2.24.0) under GNU/Linux (Mint 18 with Cinnamon 3.0.7):
A few Unicode emoticons (looks like solely Unicode v5.x ones) were displayed correctly "out of the box".
- The Noto font is system default and preselected as such ("System default") in Gajim, though only some Unicode codepoints are displayed. When explicitly selecting DejaVu or Noto in Gajim (in order to obtain a more complete set of Unicode symbols, especially the Unicode v6.0 ones, although the recent release v9.0 is covered by Noto anyway), only the look of letters changed (according to the selected font), but the emoticons always had exactly the same look. It appears that Gajim substitutes the glyphs for those (upper) Unicode codepoints; hence always the same, limited set of Unicode emoticon glyphs is used.
- When setting "emoticons_theme" from "static" to other values in Gajim's Advanced Settings (in hope to disable this substitution mechanism), there is no change at all how Gajim treats Unicode emoticons. After a little search on the web, it became apparent that the term "Emoticons" in conjunction with / in Gajim always addresses (the handling of) classic textual smilies (i.e. "string emoticons", but not Unicode emoticons) outside of Gajim's issue tracker https://dev.gajim.org/gajim/gajim/issues/, hence this setting only configures "string emoticons".
- Only display glyphs from the selected font (as Gajim under Windows already does).
- As the terms "Emoticon" and "Emoji" primarily address Unicode emoticons in todays smartphone era (well, most users will not realize the difference technically, though visually; but when they type on their virtual keyboards, Unicode emoticons will be generated and then received by Gajim), please label everything in Gajim and its plugins which addresses "string emoticons" ("textual smilies") clearly as such, in order to avoid substantial confusion when configuring Gajim.
Kudos for your excellent work. Gajim is definitely one of the best Jabber-Clients on PCs around (plus being multi-platform and Free Software) and no other supports all three XMPP encryption methods: OMEMO, OpenPGP and OTR. This makes Gajim simply outstanding!