[Cuis-dev] [IMPROV] Unicode Input in Editor

Gerald Klix cuis.01 at klix.ch
Thu Oct 19 01:05:15 PDT 2023

Hi Hannes,

I am glad that this feature works after some updates.

Just to avoid any confusion:
By 'IPA' you "International Phonetic Alphabet"?

What you describe is some "optimized" keyboard handling,
which reminds me a bit of a virtual smartphone or tablet
keyboard. I presume a separate (extension-)package for
this feature is best. Personally I dislike this compose key stuff.
I strongly prefer either completely stateless UIs like Cuis'
or statefull interfaces done right, like vi or vim.
Anything in-between is just confusing.
In other words:
I don't care whether the sun rises in the east or the west,
but it should be the same all over the globe :)

There is also a non-integrated change-set
for code completion of \<latex symbol> input.
I integrated this change into Haver and discovered that I use it
maybe once or two times a month. My current impression
is, that this sort of code completion is of little use, albeit
I promised to fix its issues and re-post it.

Maybe it makes sense, to add a complete solution,
including Unicode input with symbolic names and some
sort of character table in, the aforementioned
and yet to be written extension package.

Best Regards,


On 10/16/23 9:02 PM, H. Hirzel wrote:
> Hi Gerald
> Thank you for checking the Unicode input in Cuis. In the meantime I also
> installed the latest version of Cuis. So
> \+161<space>
> works fine for Unicode input.
> You asked for my IPA requirements. I have started preparing a list and will
> post it when ready. It will also include characters from the Latin Extended
> area for orthography purposes for many languages.
> The <backslash> key acts as a compose character in this case[1].
> We could also use other compose keys in addition.
> For example after a semicolon in nearly all cases there will be a space. So
> <semicolon><ASCII character> gives 25 more options. A comma is also a
> candidate.  <comma><c> could be used for c cedilla. Even the letter q may
> serve this purpose as with only very few exceptions there will always be a
> 'u' following it.
> I discovered
>     UnicodeCodePoint namedCharactersMap
> I did
> UnicodeCodePoint namedCharactersMap at: #openo put: $ɔ
> UnicodeCodePoint namedCharactersMap at: #o put: $ɔ
> this now allows me to have a new combinartion
> \openo<space>      The space is still necessary and it needs to followed by
> a backspace.
> \o
> So this is easily extendable.
> You gave the link
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/commit/2c52852e716348f6350a461b0081ebe59971674d
> which contains method
> Editor>> normalCharacter: aKeyboardEvent
> I pasted the code into DrGro 23.06 and it made it work! So it seems that
> all the input logic is contained in this method and the data is in the
> dictionary UnicodeCodePoint namedCharactersMap. Is this so?
> I am yet to understand the full logic of this #normalCharacter: method. The
> method also seem to deal with diacritical marks [2] but I did not manage to
> add diacritical marks on top of vowels.
> Kind regards
> Hannes
> [1] https://en.wikipedia.org/wiki/Compose_key
> [2] Of main interest are acute, gravis, diaresis (trema) e.g. for Umlaut in
> German and also for writing in French, and nasalization. This is on a UK or
> US keyboard. https://en.wikipedia.org/wiki/Acute_accent gives a list of
> some languages using it.

More information about the Cuis-dev mailing list