My Journey to RIME-Array v2.0

This post is about a Chinese input method. The Chinese version of this post can be found here.

If you want to know more about this amazing Chinese input method, you may find an English tutorial at FISH UP.

Since a year ago, I realized that RIME is a highly customizable input method engine. I see it as a sustainable platform to develop Array30 Chinese input method, which is an easy-to-learn and efficient Chinese input method. Then I started developing the rime-array configuration on RIME repository to rebuild a number of important input features that the official Array had defined. The changes were accepted and became v1.0. From time to time, I still think how to further improve this configuration to make it more suitable to all general Array users and to provide more useful features.

Months ago, I found that it is quite difficult to type emoji on some social platforms (such as Instagram) as both the apps and the IME keyboard don’t provide an emoji keyboard. For this I designed an emoji input method for rime-array which encoded emoji to A-L on the keyboard. This feature then became v1.1 on rime-array repository. I also felt the default keyboard layout on Trime (an RIME frontend on Android) has a lack of number keys and Array30 key labels, which are not convenient to Array30 users. Therefore, I designed a new keyboard layout for Trime’s Array30. After these two improvement, I think it is good enough to replace LIME, the IME stopped developing years ago, with Trime as my main Android keyboard.

Typing emoji with rime-array on Windows
The new keyboard layout and emoji input on Trime’s Array
Emoji suggestion by context

Later on, I got new inspirations on how to implement some missing Array30 features on RIME. Meanwhile, the old author of Array published a dictionary update to support new CKJ words. This drove me to create a new major update to rime-array. Besides the minor dictionary update, I also implemented 2 new features that me and many users have longed for: “w + num” symbols table and Array30’s phases input. The former one match the ordinary way to type special symbols on Array30, while the later one is a feature missing on many Array30 versions but can improve typing speed a lot.

Re-implemented “w+num” symbols table
Array30 phases input scheme

Apart from the configuration update, I also wrote a wiki for rime-array to give installation notes and feature descriptions, etc.

When I try to push the change to the main rime-array repository, I got some harsh comments. Nevertheless, the author of RIME accepted my chance. Now v2.0 is released officially!

You can find the full change log and download the latest RIME Array30 here.

By v2.0, most of the traditional functionalities of Array30 are implements except hiding of special code and display position of short code. I believe the 2 missing characteristics are not necessary to resolve by now, as I think the current implementation is good enough for general users and not difficult for existing users to adopt.

In the future, I’d keep on maintaining Array on RIME. These are something in my TODOs:

  • Create Array10 input method, which is the numpad version of Array and more suitable for mobile users.
  • Further improve the keyboard layout on Trime
  • Simplify installation steps, such as making Linux installation packages.
  • Promote rime-array to more people who are struggling to learn other difficult Chinese input methods
  • Consider converting my rime-array fork to an independent project, as I couldn’t get a collaborator right of the official repository and some maintainers of RIME would like to keep rime-array as minimal as possible.

Although working for this project won’t benefit my software development skill a lot and no profit can be made, I am still satisfied as some people actually use and appreciate my works. Hopefully my works can make a better and long-lasting Array Chinese input method.


Buy Me A Coffee



在下方填入你的資料或按右方圖示以社群網站登入: 標誌

您的留言將使用 帳號。 登出 /  變更 )


您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s