IBus Chewing for Traditional Chinese (Taiwan) Desktop by Default
Summary
Change the default input method for Traditional Chinese (Taiwan), the zh_TW locale, from ibus-libzhuyin to ibus-chewing. ibus-chewing is the ibus front-end of the libchewing library. Chewing (新酷音, https://chewing.im/) is one of the most popular and featureful IM among zh_TW users.
Owner
- Name: Kan-Ru Chen
- Email: <kanru@kanru.info>
Current status
- Targeted release: Fedora Linux 41
- Last updated: 2024-06-21
- Announced
- Discussion thread
- FESCo issue: #3217
- Tracker bug: #2293624
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
Change the default input method for zh_TW locale from ibus-libzhuyin to ibus-chewing. ibus-chewing is the ibus front-end of the libchewing library. Chewing (新酷音) is one of the most popular and featureful IM among zh_TW users.
Feedback
Initial feedback from the community is positive: https://discussion.fedoraproject.org/t/ibus-libzhuyin-and-ibus-chewing-test-day-ibus-libzhuyin-ibus-chewing/109962
Fedora i18n is tracking this Change in https://pagure.io/i18n/issue/185.
Benefit to Fedora
This change will make Fedora more friendly to users. ibus-chewing and libchewing is maintained by native speakers and the upstream is active.
- ibus-chewing has user base that can report issues. ibus-libzhuyin was in an unusable state for some time but no one has filed issues to Fedora or upstream. Users chose to manually install ibus-chewing or fcitx5-chewing.
- ibus-chewing has maintainer that can fix issues. ibus-libzhuyin's answer for maintenance was (translated by google) "I haven't had time to update this project recently. Sorry, I am not very familiar with Traditional Chinese. I may need users who understand Traditional Chinese to help maintain..." https://github.com/libzhuyin/ibus-libzhuyin/issues/76
- ibus-chewing is a thin-wrapper of libchewing. libchewing provides abstract UI layer so it was easier to integrate with different IM services. This means ibus-chewing has less code and shares feature with other chewing ports. ibus-libzhuyin has logic in both ibus-libzhuyin and libzhuyin.
- libchewing has usage document and API document https://github.com/chewing/libchewing/
- libchewing ensures the phrase candidates list is stable sorted. Users can rely on the order for phrase selection.
- libchewing has a cross-platform user dictionary editor that uses dictionary API provided by libchewing.
- libchewing has optimized the phrase selection shortcuts. Anecdotes say it's intuitive compare to ibus-zhuyin https://fedora-tw.org/t/ibus-libzhuyin/715
- libchewing dictionary is decoupled from keymaps. The system dictionary can be upgraded independently. New keymaps can be added without recompile the dictionary. It seems libzhuyin may need to rebuild the dictionary.
Upcoming Chewing roadmap during Fedora 41 timeframe:
- 0.8.0 - stabilize the Rust internal rewrite and switch to as default (ABI unchanged)
- 0.9.0 - stabilize the Rust API and enable new features
- Simple mode that disables automatic phrasing. More advanced users can use this mode and the stable sorted candidates list to achieve fast and accurate typing.
- Prefix only mode that allow users to only input partial syllables, similar to how pinyin and some smartphone keyboard works.
- Toneless mode that allow users to skip the tone. It will be useful for users using pinyin and/or learning Chinese as second language.
- Multi dictionary so users can load domain specific dictionaries.
- Sharable system and user dictionary. The new on-disk format can store author and copyright metadata so users can share their dictionary more easily.
Scope
- Proposal owners:
- The version targeting Fedora 41 is ibus-chewing 2.1.0 and libchewing 0.9.0 that is planned to be released around July 2024.
- Update fedora-comps Input Methods group to install ibus-chewing by default.
- Update GNOME to set chewing as default.
- Update langpacks in langpacks-core-zh_TW subpackage
- Probably should update langtable too
- Other developers: N/A (not needed for this Change)
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy:
Upgrade/compatibility impact
This Change only affects new installations. Users upgrade from previous Fedora release can continue to use their current input method.
Early Testing (Optional)
Do you require 'QA Blueprint' support? No
How To Test
Install Fedora and choose Traditional Chinese (Taiwan) "繁體中文(台灣)" as system locale. Make sure ibus-chewing is usable during system setup.
For existing installation:
dnf install ibus-chewing
and add Chewing as input source from Gnome or KDE settings.
i18n test day template should be updated to test ibus-chewing
https://fedoraproject.org/wiki/Test_Day:2024-03-05_I18N_Test_Day
using this ibus-chewing test case
https://fedoraproject.org/wiki/QA:Chewing
For early adopters
For anyone wanting to try:
- Rawhide has ibus-chewing 2.0.0
- https://copr.fedorainfracloud.org/coprs/kanru/libchewing-git/ has the upcoming libchewing 0.8 release and future unreleased ibus-chewing and libchewing versions.
User Experience
Newly installed Fedora will use a working and actively maintained input method for zh_TW users.
Chewing provides features similar to other IMs you can find on other non-free OSs that zh_TW users are used to. It's available on multiple platforms including Android ports which allows users to reuse their user dictionary or habits on other OSs.
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)