From Fedora Project Wiki

IBus Chewing for Traditional Chinese (Taiwan) Desktop by Default

Important.png
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

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


Current status

  • Targeted release: Fedora Linux 41
  • Last updated: 2024-05-13
  • [Announced]
  • [<will be assigned by the Wrangler> Discussion thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • 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.
    • Change anaconda to install ibus-chewing when Traditional Chinese (Taiwan) "繁體中文(台灣)" language is selected.
    • Update GNOME to set chewing as default.
    • Update fedora-comps Input Methods group to include ibus-chewing.
  • Other developers: N/A (not needed for this Change)
  • 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:


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)

Release Notes