Saturday, November 24, 2018

libreoffice - XCompose not working for high level Unicode characters



I'm trying to write some key stroke combinations into my XCompose to allow for typing cuneiform characters, which are defined in the U+12000 - U+1247F range. I've written other strange symbols into my XCompose file, such as signs of the zodiac and planets etc... and they all work just fine, even with the double Multi_key at the beginning (It's all for my research). Here's an excerpt of the file:




...
# Abbreviating some of the longer ones.

: "♏" U264F # SCORPIUS
: "♐" U2650 # SAGITTARIUS

: "♑" U2651 # CAPRICORN
: "♒" U2652 # AQUARIUS

: "♓" U2653 # PISCES
# Really, this should be SERPENTARIUS. All the other signs are in Latin.

: "⛎" U26CE # OPHIUCHUS


# Cuneiform
: "𒀀" # Cuneiform Sign: A
: "𒀁" # Cuneiform Sign: A x A
: "𒀂" # Cuneiform Sign: A x BAD



Just to prove that I have the fonts installed to show these signs, I'm attaching a screenshot of Gedit editing this file, showing the appropriate glyphs displaying:
Cuneiform in Gedit



When I try to use these key combinations for the cuneiform signs I get no character in either Gedit or Libreoffice (or any other text input program for that matter). I'm not sure what's wrong with the file, I think I've followed the correct syntax, and I have the fonts installed. Does XCompose not supported unicode glyphs at such a high range?




The ComposeKey sequences used by Gnome to enter special characters are hard coded into the program.



To use a custom Xcompose file, you will need to use the xim input method.



More information about using the compose key - and using xim to bypass the Gnome hardcodings - is given at ComposeKey in the community documentation.



The Gnome hard coding can be overruled in favour of the original Xwindow Input Method (XIM) by setting the environment variable GTK_IM_MODULE. This can be set in the /etc/environment file, but if the machine has more than one user then it is best set from the home directory on a per user basis by modifying ~/.gnomerc or ~/.Xsession


export GTK_IM_MODULE="xim"



Beyond that, it seems likely that you are essentially correct about the additional problems you are having. Direct Unicode input follows ISO 14755 in specifying only 4 hex digits in the code point and the cuneiform code points have 5 digits. It seems likely that this is also the underlying problem here. It seems that the layout is too complex for the compose key.



To enter cuneiform, I think you could create a custom keyboard layout (rather than using the compose key), but really this seems to require an input method editor rather than a keyboard. Your best option is to create a custom input table that would work with Ibus.


No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...