Open KSXGitHub opened 2 years ago
I will have a look.
Actually, chaof
and moij
work for me, only nguoiwf
does not work.
When using vi-telex either with ibus-m17n or with ibus-typing-booster (does not matter with which of these two, the results seem to be the same), I get:
chaof
➡️ chào
moij
➡️ mọi
nguoiwf
➡️ nguoìw
@mike-fabian Interesting, your results differ from mine: I got xin chaò moị nguoiwf
when trying built-in Vietnamese Telex.
System Information:
ibus 1.5.27-1
I enabled vi-telex
on ibus by going to GNOME Settings → Keyboards → Input Sources, then add Vietnamese (Telex)
:
BTW, what is the purpose of ibus-m17n
? Its README doesn't tell me anything other than it's a M17N engine.
The Vietnamese (Telex) you see in that list is actually the "Telex" table from ibus-table.
You see that if you click on the ⋮ menu and choose "Preferences”, you see that this is a table of ibus-table, see the window title of the setup tool:
The source for the telex table is here:
https://github.com/mike-fabian/ibus-table-others/blob/main/tables/telex.txt
As you can see, these ibus-table tables are kind of primitive, there are just 3 colums like this:
UW Ư 0
UW\ Ư 0
UWF Ừ 0
UWS Ứ 0
UWR Ử 0
UWX Ữ 0
UWJ Ự 0
First column is the input, second column is the output, the third column is not even used here (it is used for prioritizing results which are not unique, mostly for Chinese but not used for this Vietnamese telex table, the third column is always 0 here).
As ibus-table just does primitive tables like this, no logic like whether vowels came before is possible.
But in my screenshot you can also see
Vietnamese (vi-telex (m17n))
just below the “Vietnamese (Telex)” line.
I thought that was what you meant with “vi-telex”, this ibus-m17n input method is actually called “vi-telex”, not just “Telex”.
Here I opened the setup tool of “Vietnamese (vi-telex (m17n))”, this is a completely different ibus engine, it is ibus-m17n, not ibus-table:
Both ibus-table and ibus-m17n offer a lot of different input methods for many languages.
ibus-m17n offers all the input methods contained in the m17n-db package, i.e. all the files ending with .mim
in the /usr/share/m17n/
directory if you have m17n-db installed.
If you look into the file:
/usr/share/m17n/vi-telex.mim
you see that it does complicated stuff written in a Lisp dialect. It does far more than the primitive telex table of ibus-table.
BTW, what is the purpose of
ibus-m17n
? Its README doesn't tell me anything other than it's a M17N engine.
It is an ibus engine to support all m17n-db input methods, i.e. all the input methods defined in the /usr/share/m17n/*.mim
files.
All the files /usr/share/m17n/*.mim
can be used by two ibus engines:
ibus-m17n is simpler, more primitive. ibus-typing-booster has much more features like word completion and spellchecking.
In this video I type chaof
, moij
, and nguoiwf
with ibus-m17n, with ibus-typing-booster, and with ibus-unikey:
https://user-images.githubusercontent.com/2330175/189739253-677c0559-0b50-41f3-8ea7-3673781601e8.mp4
In the video you can see that all 3 ibus engines get
chaof ➡️ chào moij ➡️ mọi
correct, but only ibus-unikey gets
nguoiwf ➡️ người
correct, ibus-m17n and ibus-typing-booster do
nguoiwf ➡️ nguoìw
I would say forget about ibus-table and “Vietnamese (Telex)”.
But vi-telex in ibus-m17n and ibus-typing-booster is already pretty close to doing the correct thing.
We “only” need to improve /usr/share/m17n/vi-telex.mim
to get this right, then it will work both in ibus-m17n and ibus-typing-booster.
Improving /usr/share/m17n/vi-telex.mim
is probably not trivial, but it should certainly be possible.
I shouldn't have put vi-telex
in the title. So can this ibus-table
be improved? Or was it too primitive?
If ibus-table
was too primitive, I propose removing it as it provides an inferior out-of-the-box experience compared to other platforms such as Windows and Android (this probably applies for other languages as well). Instead, the system should points user towards installing additional typing package such as ibus-unikey
, ibus-bamboo
, or ibus-typing-booster
. Though I don't know if this is an ibus problem or a distribution/DE problem.
Checking the package list reveals that it was a distribution problem: My distro ships ibus-table
by default.
I shouldn't have put
vi-telex
in the title. So can thisibus-table
be improved? Or was it too primitive?
I think it is basically impossible to improve ibus-table to do a decent job for Vietnamese.
Checking the package list reveals that it was a distribution problem: My distro ships
ibus-table
by default.
That is OK, ibus-table is good for some languages (e.g. it has some good stuff for Chinese).
The different tables for ibus-table are usually in different additional packages. For example on Fedora there is:
[mfabian@fedora ~]$ rpm -qa | grep ^ibus-table
ibus-table-chinese-1.8.9-2.fc37.noarch
ibus-table-extraphrase-1.3.9.20110826-21.fc37~bootstrap.noarch
ibus-table-chinese-array-1.8.9-2.fc37.noarch
ibus-table-chinese-cangjie-1.8.9-2.fc37.noarch
ibus-table-chinese-cantonese-1.8.9-2.fc37.noarch
ibus-table-chinese-cantonyale-1.8.9-2.fc37.noarch
ibus-table-chinese-easy-1.8.9-2.fc37.noarch
ibus-table-chinese-erbi-1.8.9-2.fc37.noarch
ibus-table-chinese-quick-1.8.9-2.fc37.noarch
ibus-table-chinese-scj-1.8.9-2.fc37.noarch
ibus-table-chinese-stroke5-1.8.9-2.fc37.noarch
ibus-table-chinese-wu-1.8.9-2.fc37.noarch
ibus-table-chinese-wubi-haifeng-1.8.9-2.fc37.noarch
ibus-table-chinese-wubi-jidian-1.8.9-2.fc37.noarch
ibus-table-chinese-yong-1.8.9-2.fc37.noarch
ibus-table-code-1.3.13-2.fc37.noarch
ibus-table-cyrillic-1.3.13-2.fc37.noarch
ibus-table-latin-1.3.13-2.fc37.noarch
ibus-table-mathwriter-1.3.13-2.fc37.noarch
ibus-table-mongol-1.3.13-2.fc37.noarch
ibus-table-others-1.3.13-2.fc37.noarch
ibus-table-translit-1.3.13-2.fc37.noarch
ibus-table-tv-1.3.13-2.fc37.noarch
ibus-table-1.16.12-1.fc37.noarch
ibus-table-devel-1.16.12-1.fc37.noarch
ibus-table-tests-1.16.12-1.fc37.noarch
[mfabian@fedora ~]$
The Vietnamese tables are in ibus-table-tv-1.3.13-2.fc37.noarch
:
[mfabian@fedora ~]$ rpm -ql ibus-table-tv-1.3.13-2.fc37.noarch
/usr/share/ibus-table/icons/telex.png
/usr/share/ibus-table/icons/thai.png
/usr/share/ibus-table/icons/viqr.png
/usr/share/ibus-table/icons/vni.png
/usr/share/ibus-table/tables/telex.db
/usr/share/ibus-table/tables/thai.db
/usr/share/ibus-table/tables/viqr.db
/usr/share/ibus-table/tables/vni.db
[mfabian@fedora ~]$
tv
seems to mean Thai and Vietnamese as this package contains a few Vietnamese and a Thai table to be used with ibus-table. I wonder who came up with the strange package name tv
.
So it is no problem for you if ibus-table
is installed by default, just the package(s) containing the Vietnamese tables (telex.db
, viqr.db
, vni.db
) should not be installed by default.
If
ibus-table
was too primitive, [...] (this probably applies for other languages as well).
For some languages ibus-table is good. I think some of the Chinese tables are pretty good.
ibus-unikey
,ibus-bamboo
, oribus-typing-booster
.
On Fedora, we don’t have ibus-bamboo
(yet), might be nice if somebody packaged that.
We have ibus-unikey
and ibus-m17n
and ibus-typing-booster
, all 3 seem to do a decent job for Vietnamese although ibus-unikey
seems to be better.
But it looks to me that ibus-m17n
and ibus-typing-booster
can be improved to be equally good as ibus-unikey
.
We would just need to improve the file /usr/share/m17n/vi-telex.mim
, it is used by both ibus-m17n
and ibus-typing-booster
, i.e. improving that file improves both.
@mike-fabian Can you take a look at ibus-bamboo at github.com/bambooengine, this new engine fix some issue on unikey also. I think need to improve vi-vni.mim and vi-telex.mim (just few people use vi-viqr.mim) in m17n-db first. Currently, I see not flexible with "ou", I list some words: quới (telex: quoiws or quowsi, vni: quoi71 or quo71i) , thưởng (telex: thuongwr or thuowrng or thuwowrng or thuwowngr, vnix: thuong73 or thu7o73ng or thu7o7ng3), thuở (telex: thouwr, vni: thou73)
When I want to type the phrase
Xin chào mọi người
on Android and Windows, I usually typeXin chaof moij nguoiwf
(diacritic after each word). This typing order emulates Vietnamese handwriting order.But
ibus
forces me to typeXin chafo moji nguwowfi
(diacritic after every character) which is very awkward and unnatural.Request: Please make the handwriting order possible.
Current workaround:
ibus-unikey
andibus-bamboo
provide better typing experience, but having to install extra packages is an inconvenience and an unnecessary bother that would make Linux appears unfriendly to Vietnamese.