mike-fabian / ibus-table-chinese

Chinese tables for IBus-Table
https://github.com/mike-fabian/ibus-table
GNU General Public License v3.0
14 stars 5 forks source link

Tones for IMEs such as Jyutping? #6

Closed Pi-Cla closed 2 years ago

Pi-Cla commented 2 years ago

Hi, is there any way to make it so systems such as Jyutping can also use tones? That is something I miss from using Jyutping on my phone.

mike-fabian commented 2 years ago

Currently, the jyuping.txt only contains lines like:

https://github.com/mike-fabian/ibus-table-chinese/blob/main/tables/cantonese/jyutping.txt#L14658

jyut    粵      000183

I.e. without the tones.

Would it be sufficient if I just add all the tones, i.e. change all lines to look like this:


jyut6    粵      000183
``

If numbers like 6 are to be used as input, they cannot be used to select candidates by number anymore.
But one could use F1-F9 instead. Would that be OK?
Pi-Cla commented 2 years ago

I would be ok with doing it like that, though I wonder if an approach such as the one done by rime-cantonese could also be used here. Where they represent the tones by ending a word with: v, x, q, vv, xx, or qq.

mike-fabian commented 2 years ago

I would be ok with doing it like that, though I wonder if an approach such as the one done by rime-cantonese could also be used here. Where they represent the tones by ending a word with: v, x, q, vv, xx, or qq.

How does it work on your phone?

mike-fabian commented 2 years ago

I would be ok with doing it like that, though I wonder if an approach such as the one done by rime-cantonese could also be used here. Where they represent the tones by ending a word with: v, x, q, vv, xx, or qq.

That looks like a very nice approach because it doesn’t conflict with selecting candidates by number. Do you prefer that approach over using numbers? If you think this is a good way of doing it, I will try to change the jyutping.txt table in that way.

Pi-Cla commented 2 years ago

The way it works on my phone is that I can type one of those letter combinations after a word and then it displays the tone as a number after the jyutping.

I would be happy with the letter combinations just being appended to

Pi-Cla commented 2 years ago

The way it works on my phone is that I type in the tone letter combination after a jyutping word and then it displays the tone as the corresponding number rather than the letter(s).

If that is too complicated to implement, I would be happy with just appending the tone letter combination to the end of the jyutping in the .txt file.

Either way, there should probably be documentation in the jyutping part of this repo that describes this tone input as well.

mike-fabian commented 2 years ago

The same letter combinations as in the link to rime-cantonese you showed?

I will use these letter combinations then!

mike-fabian commented 2 years ago

I have an improved version of the table. Can you please test it before I make a new release?

The new version is on the release-candidate-1.8.9 branch:

https://github.com/mike-fabian/ibus-table-chinese/blob/release-candidate-1.8.9/tables/cantonese/jyutping.txt

You can compile it to binary with

ibus-table-createdb -s jyutping.txt

Then copy the created binary database to this place:

sudo cp  jyutping.db /usr/share/ibus-table/tables/jyutping.db

Then ibus restart or log out of your desktop and in again.

mike-fabian commented 2 years ago

3 Screenshots showing which candidates are shown when typing aa, aav, and aaq. The candidates shown when typing aa are the same as with the old table, but when typing aav or aaq, only candidates with the right tone are shown:

Screenshot Screenshot-new-aav Screenshot-new-aaq

Pi-Cla commented 2 years ago

Thanks, I tested it out and it looks good to me

mike-fabian commented 2 years ago

I will make a new release soon then.

By the way, I thought theoretically I could add the entries with the numbers as well into the database, i.e. the database now has

 jyut    粵      183
jyutqq  粵      183

The first entry jyut 粵 183 might look redundant but it isn’t because it makes typing jsut jyut an exact match already and this improves sorting when typing without tones. So these two entries are both helpful.

I could add a third one like this:

 jyut    粵      183
jyutqq  粵      183
jyut6  粵      183

and then one could type jyutqq or jyut6 however one prefers. It would make the database bigger and thus a bit slower, but it seems fast enough to me.

The disadvantage would only be that numbers cannot be used anymore to commit candidates. One would have to use F1-F9 instead or just just the arrow-up and arrow-down keys to select candidates or use the mouse.

What do you think about that?

I tend to not add it and leave it as in the version you tested to keep committing by number key working.

If these letters like qq to use for tone 6 are well known by most users, then using them is probably good enough. As https://github.com/rime/rime-cantonese/blob/main/README-en.md#tonal-markers and your phone uses these letters, I guess it is a well known standard, right?

Pi-Cla commented 2 years ago

I am fine with just doing the two entries. Though in the case of my phone, I am using a modification of rime-cantonese for Android, some other Jyutping keyboards such as Gboard don't even have any tone input at all.

mike-fabian commented 2 years ago

OK, so I released https://github.com/mike-fabian/ibus-table-chinese/releases/tag/1.8.9 with the version of the jyutping.txt table you tested yesterday.

Pi-Cla commented 2 years ago

I notice that you have been maintaining the openSUSE package ibus-typing-booster, but not the ibus-table* packages. Do you wanna do it yourself or can I do that?

mike-fabian commented 2 years ago

Oh, it would be great if you do that!