Speaker
Description
Chinese input is often treated as a single localisation problem, but users across Mainland China, Taiwan, Hong Kong, Macau, and other Chinese-speaking communities rely on very different writing systems, phonetic conventions, input methods, and long-established typing habits.
At GNOME.Asia 2012 in Hong Kong, I presented some of these challenges in Cantonese. Fourteen years later, this English talk revisits the subject and asks what has changed — and what we have learned — about Chinese input on the Linux desktop.
I am the original author of libcangjie. The current Project Cangjie library was later built upon that original work and today provides the Cangjie and Quick input logic used by ibus-cangjie.
Using Cangjie and Quick as a case study, I will explain why Chinese input is not one problem; how phonetic, shape-based, and stroke-based input methods differ; and why details such as candidate ordering, filtering, regional character sets, and user expectations can make or break the input experience.
Finally, I will look at how Chinese input has evolved since 2012 and discuss what GNOME and the wider FOSS community can learn from it. Localisation is not simply translation: input methods sit at the intersection of language, culture, muscle memory, interface design, and software architecture.
Author(s) Bio
Wan Leung Wong is a software architect and open-source developer based in London. He has been using GNU/Linux since the late 1990s and has been active in the Hong Kong open-source community for many years.
He is the original author of libcangjie. His original work and API formed the basis for the current Project Cangjie libcangjie library, which provides the input logic used by ibus-cangjie for Cangjie and Quick input on the Linux desktop.
Wan previously presented on Chinese input methods at GNOME.Asia 2012 in Hong Kong. Professionally, his work spans software architecture, Linux and cloud systems, application development, and emerging AI technologies.
Talk Description
This talk is a fourteen-year retrospective on Chinese input methods on the Linux desktop.
I first presented this subject in Cantonese at GNOME.Asia 2012 in Hong Kong. At the time, one of the problems I wanted to highlight was that Chinese input was often treated as if it were one generic problem. In reality, different Chinese-speaking regions use different character sets, phonetic systems, input methods, vocabularies, and deeply established typing conventions.
The talk will use Cangjie and Quick, two shape-based input methods commonly used in Hong Kong, as the main case study. I will also compare them with phonetic methods such as Pinyin and Zhuyin/Bopomofo, as well as stroke-based input methods.
The first part of the talk will introduce why “Chinese input” is not a single problem and explain the major differences between phonetic, shape-based, and stroke-based approaches.
I will then look at the practical problems behind implementing Cangjie and Quick on the Linux desktop: candidate ordering, character filtering, regional character sets, wildcards, Traditional and Simplified Chinese support, and the behaviour expected by experienced users.
From there, I will discuss why libcangjie was created, the idea of separating the input logic into a reusable library, and how that work eventually became part of the lineage of the current libcangjie and ibus-cangjie ecosystem.
Finally, I will revisit the subject from a 2026 perspective. Desktop and mobile computing have changed how people enter Chinese, Unicode coverage has continued to expand, and predictive and AI-assisted input technologies are becoming increasingly common. I will consider what has improved, what problems remain, and what we can learn from more than a decade of development.
The broader lesson is relevant beyond Chinese input methods: localisation is not only about translating strings. Input systems encode language, education, regional conventions, culture, and decades of muscle memory. A technically correct generic solution can still provide a poor experience if these factors are ignored.
The audience should leave with a basic understanding of how Chinese input systems work, why apparently small implementation decisions can have a major effect on users, and how developers can design internationalised software without accidentally removing important regional behaviour.
Technical level: Intermediate. No previous knowledge of Chinese, Cangjie, IBus, or input-method development is required. The concepts will be explained visually, with some software architecture but without requiring the audience to follow source code.
| Category | Design of Users and Developer Experiences |
|---|---|
| Pronouns | He/Him |
| Where are you located? | London, United Kingdom |
| Do you need travel sponsorship from GNOME Foundation in order to join our event? | Yes |