Hi,
I had the same problem when working on my Vietnamese database. It was so frustrating, I hear you 😄
I
switched from UniKey/EVKey to the Vietnamese input method provided by
Microsoft, and it works like a charm! Here's how I did it on Windows 10:
1.
Go to Windows Settings > Time & Language > Language. Scroll
to the 'Preferred language' section and choose 'Add a language'.
2. Type in the search box 'Vietnamese', select the Vietnamese module, then click 'Next'.
3.
Click 'Install' on the next screen. The optional features (language
module, text-to-speech, and handwriting) are not required, so feel free
to de-select them.
4. You should see 'Vietnamese' in the Preferred language list now. Click its up arrow button repeatedly to move the language to
the top of the list and make it the default input method, if you type in Vietnamese a lot. Then, click on it and choose 'Options'.
5. In the 'Keyboard' section, choose 'Add a keyboard' and select either Vietnamese VNI or Vietnamese Telex.
6.
You should see an input editor button near the clock on the taskbar. It
should show something like ENG or VIE, which tells you the input method
you are using. Click on it to switch to Vietnamese (if not yet done).
You
should now be able to type in FLEx without the annoying 'redundant
characters' :D The Windows input method was based on the source code of
UniKey, and EVKey is a port of UniKey, so basically they are the same
under the hood. But it is less advanced than those two software (some
functions like macros (for "bảng gõ tắt") are not available, and it uses
the old system for tonal marks placement (òa, úy instead of oà, uý). It
comes with its own quirks and annoyance like auto-correct and
auto-replace, but some of them can be turned off in Windows Settings
> Peripherals > Typing). Guess this will make do until a better
solution for typing in Vietnamese is found or developed.
===
Some
more technical notes if you are interested in why this happens: I dug
through the FLEx Conceptual Model document, and looks like the issue
with Vietnamese typing was (incidentally) by design. When you type into
FLEx, the program breaks each Unicode character into the Normalization
Form Decomposed (NFD) form. Basically, this means that a character like
"ầ" is understood to be 3 different components: a (base), ̂ (combining circumflex accent), and
̀
(combining grave accent), but shown as one character "ầ" on the screen.
This may explain why when you press 'Delete', it (technically) should
start deleting the tonal marks, and then the diacritics, before deleting
the base character ("aầ" > "aâ" > "aa")*. So that you can copy
text from FLEx to other programs, FLEx saves your input into Normalization Form Composed (NFC), so a character like "ầ"
is now simply a single character and when you press 'Delete' the whole
character is gone. On the screen, the NFD form is identical to the NFC
form, but Unicode-compliant programs will handle them differently. This
is a useful insight when instructing others to use FLEx or developing
the software.
*Though when I tried it, it
deleted the whole "â" in the second step, so my best guess is that FLEx
somehow turned "a" + "
̂ " into a single character "â" mid-way. Hopefully someone more more
knowledgeable than me can shed light on this more technical side of
FLEx.
===
I'd be really happy to have
a way to type Vietnamese in the new system for tonal marks replacement
with Windows input methods. Thankfully, FLEx does support bulk
replacement, so we can always go back and modify entries quickly. But
having the standard orthography right from the start is highly
appreciated.
P/S: I'm not actively working as a
linguist, but I'm highly interested in lexicography and computational
linguistics, and I often work with FLEx. Feel free to email me to discuss
Vietnamese typing or personal/professional projects related to Vietnamese, and maybe we can work on a solution together 😊
Vào lúc 21:12:18 UTC ngày Thứ Ba, 22 tháng 3, 2022, Quang Tung đã viết: