Bug #11292

Bopomofo input for Chinese is not working

Added by gslin 2016-03-31 06:36:23 . Updated 2019-03-20 14:28:32 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Internationalization
Target version:
Start date:
2016-03-31
Due date:
% Done:

100%

Feature Branch:
bugfix/11292-chinese-input-methods
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

There are two chinese input methods in Tail 2.2.1. One is “Chinese (Pinyin)” and another one is “Chinese (Bopomofo)”. And pinyin is working, but Bopomofo is not.

When you try to type “1” & “9” & “3” (which should be shown to “ㄅ” & “ㄞ” & “ˇ”), it just shows original “193”.


Subtasks


Related issues

Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 2018-08-31
Related to Tails - Bug #11382: New ibus-pinyin cannot be used for quanpin Rejected 2016-04-27
Has duplicate Tails - Bug #11995: Fix the support of Chinese (Bopomofo) Duplicate 2016-11-24
Has duplicate Tails - Bug #14535: Bopomofo input method doesn't work Duplicate 2017-08-30
Blocks Tails - Feature #15507: Core work 2019Q1: Foundations Team Resolved 2018-04-08

History

#1 Updated by goupille 2016-04-12 08:55:11

  • Status changed from New to Confirmed
  • Assignee set to anonym

I can confirm that selecting Chinese (Bopomofo) in the top right bar is not working. the ‘preferences’ button is not working either, alongside the different options.

#2 Updated by intrigeri 2016-05-04 04:28:50

> I can confirm that selecting Chinese (Bopomofo) in the top right bar is not working.

It does work, at least in Gedit, if I choose Chinese in the Greeter and then select bopomofo in the input methods menu (right of the top bar). But indeed, it doesn’t work, at least in Gedit, if I log in with the default locale and then select bopomofo in the input methods menu.

#3 Updated by gslin 2016-06-22 11:51:59

intrigeri wrote:
> > I can confirm that selecting Chinese (Bopomofo) in the top right bar is not working.
>
> It does work, at least in Gedit, if I choose Chinese in the Greeter and then select bopomofo in the input methods menu (right of the top bar). But indeed, it doesn’t work, at least in Gedit, if I log in with the default locale and then select bopomofo in the input methods menu.

Thanks, if I choose zh_TW locale at boot, then I can use bopomofo. Unfortunely very few people will use ibus-libpinyin’s bopomofo in Taiwan due to familiarity. I am very hard to type chinese using libpinyin’s bopomofo but in vain.

Most people will choose ibus-chewing in Taiwan when using ibus, may we support it?

#4 Updated by BitingBird 2016-06-29 05:35:53

  • Type of work changed from Code to Test

Is it the case in Debian? If yes, it should be reported there and corrected there.

#5 Updated by intrigeri 2016-07-16 08:49:14

  • Assignee changed from anonym to gslin
  • QA Check set to Info Needed

> Thanks, if I choose zh_TW locale at boot, then I can use bopomofo. Unfortunely very few people will use ibus-libpinyin’s bopomofo in Taiwan due to familiarity. I am very hard to type chinese using libpinyin’s bopomofo but in vain.

> Most people will choose ibus-chewing in Taiwan when using ibus, may we support it?

Thank you for following up! Please bear with me, I’ve totally ignorant in this area.

This ticket was originally about the fact that the bopomofo input system did not work in Tails. So I thought that the request was about making bopomofo work. (In passing, I don’t know how I’ve seen it work two months ago, as right now I can’t make it work; tried zh_CN and zh_TW.)

And now there’s a proposal to add ibus-chewing, so now I’m confused and I need your help to know how to best direct my efforts:

  • If we fixed bopomofo and didn’t add ibus-chewing, what use use case would suffer / be improved / be unchanged?
  • If we replaced bopomofo with ibus-chewing, what use use case would suffer / be improved / be unchanged?

#6 Updated by intrigeri 2016-12-04 13:21:38

  • has duplicate Bug #11995: Fix the support of Chinese (Bopomofo) added

#7 Updated by intrigeri 2016-12-04 13:23:03

FWIW, I’m told on Bug #11995 that Bopomofo is fixed in 3.0~alpha1. Not sure in which locale, though.

#8 Updated by intrigeri 2016-12-04 13:23:42

intrigeri wrote:
> * If we fixed bopomofo and didn’t add ibus-chewing, what use use case would suffer / be improved / be unchanged?
> * If we replaced bopomofo with ibus-chewing, what use use case would suffer / be improved / be unchanged?

Ping?

#9 Updated by intrigeri 2016-12-04 14:11:39

Both pinyin and bopomofo seem to work on 3.0~alpha1.

#10 Updated by Anonymous 2018-01-19 16:05:22

  • related to Bug #14535: Bopomofo input method doesn't work added

#11 Updated by mercedes508 2018-01-20 20:05:29

  • Assignee changed from gslin to anonym

intrigeri wrote:
> Both pinyin and bopomofo seem to work on 3.0~alpha1.

Well just tried with Tails 3.4 and following the OP instructions it’s not working for me.

#12 Updated by intrigeri 2018-05-24 13:06:13

  • Assignee changed from anonym to intrigeri

I’ll triage this.

#13 Updated by intrigeri 2018-05-24 13:06:30

#14 Updated by segfault 2018-05-28 14:38:35

  • Assignee changed from intrigeri to segfault

#15 Updated by segfault 2018-05-28 14:41:25

  • Estimated time set to 1 h

#16 Updated by intrigeri 2018-06-28 13:58:19

  • blocked by deleted (Feature #15139: Core work 2018Q2: Foundations Team)

#17 Updated by intrigeri 2018-06-28 13:58:27

#18 Updated by Anonymous 2018-08-17 15:58:50

I think this needs testing in current Tails.

#19 Updated by Anonymous 2018-08-17 16:00:06

I learned at DebConf that this is what Taiwanese use to write and learn Chinese phonetically :)

#20 Updated by intrigeri 2018-10-08 13:58:26

#21 Updated by intrigeri 2018-10-08 13:58:29

  • blocked by deleted (Feature #15334: Core work 2018Q3: Foundations Team)

#22 Updated by segfault 2018-10-08 14:28:08

  • Assignee deleted (segfault)

I’m giving this back to the unclaimed work pool - it’s not my area of expertise and I don’t really know where to start looking into (within a 1 hour time frame)

#23 Updated by sajolida 2018-11-04 06:38:42

  • has duplicate Bug #14535: Bopomofo input method doesn't work added

#24 Updated by sajolida 2018-11-04 06:38:43

  • related to deleted (Bug #14535: Bopomofo input method doesn't work)

#25 Updated by sajolida 2018-11-04 06:55:30

This is what I learned recently from someone from Taiwan:

  • Pinyin is the input method taught in mainland China to write both simplified and traditional Chinese. People in mainland China don’t know how to use Bopomofo.
  • Bopomofo is the input method taught in Taiwain to write both simplified and traditional Chinese. People in Taiwan don’t know how to use Pinyin.

We first tested Bopomofo after starting Tails in Chinese and it didn’t work. Now I started Tails in English but with Chinese keyboard and it doesn’t work either.

This person told me that Bopomofo was working out-of-the-box in Ubuntu so maybe we should look at what they are doing. They also told me about various Linux tools for Bopomofo. They knowledge on this was not super up-to-date so we should double-check everything or ask them for me info:

  • ibus-chewing, but not updated in years according to them but I see new version in Debian: https://tracker.debian.org/pkg/ibus-chewing. We don’t have it in Tails so that could be a first thing to try.
  • gcin
  • rime (ibus-rime?) for both Pinyin and Bopomofo? There’s see to be an ibus package as well, so maybe that’s easy to try as well.
  • fcitx also supports Bopomofo but not very well?

I think they would be happy to at least test possible solutions or provide more information to help us navigate this issue.

#26 Updated by sajolida 2018-11-04 06:55:42

  • related to Feature #14544: Spend software developer time on smallish UX improvements added

#27 Updated by sajolida 2018-11-04 07:21:40

  • Subject changed from Chinese (Bopomofo) is not working to Bopomofo input for Chinese is not working

#28 Updated by intrigeri 2018-12-30 12:32:31

#29 Updated by intrigeri 2018-12-30 12:32:46

  • blocked by deleted (Feature #15506: Core work 2018Q4: Foundations Team)

#30 Updated by gslin 2018-12-30 18:12:05

I’ve used ibus-chewing before, but it’s buggy in my Ubuntu 16.04, so now I use

fcitx

(for bopomofo you need to install

fcitx-chewing

).

#31 Updated by intrigeri 2019-03-11 11:01:20

  • Assignee set to intrigeri
  • QA Check deleted (Info Needed)
  • Feature Branch set to bugfix/11292-chinese-input-methods

On Tails 3.12.1, ibus-pinyin (that’s used for Bopomofo in this version) segfaults when choosing Bopomofo; gah! I’ve seen it work once but can’t reproduce. I’ll retry with ibus-libpinyin (which seems to supersede it) and ibus-chewing. If that doesn’t work I’ll try ibus-rime.

Wrt. gcin: AFAIK it has no integration with IBus (which is what is best integrated in GNOME).

Wrt. fcitx: it seems that Buster will bring IBus integration for it. Then we can consider it.

#32 Updated by intrigeri 2019-03-11 11:16:45

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|edded7c5b2576edcf18f07b6e624643664c26853.

#33 Updated by intrigeri 2019-03-11 11:24:10

  • related to Bug #11382: New ibus-pinyin cannot be used for quanpin added

#34 Updated by intrigeri 2019-03-11 15:01:22

  • Target version set to Tails_3.13
  • % Done changed from 0 to 10
  • QA Check set to Ready for QA

I’ve prepared an experimental image that switches from ibus-pinyin to ibus-libpinyin + ibus-chewing: https://nightly.tails.boum.org/build_Tails_ISO_bugfix-11292-chinese-input-methods/lastSuccessful/archive/build-artifacts/

My understanding is that both ibus-libpinyin and ibus-chewing support Bopomofo. If the first one is good enough then we don’t need to ship ibus-chewing. It seems that ibus-chewing works (at least it does not crash and does something like what I would expect), but as a non-Chinese-speaker I can’t really tell.

Please test this experimental image and compare:

  • Is Bopomofo support working? (It’s not working in Tails 3.x so far.)
  • Is Chinese Pinyin support better or worse than in Tails 3.12.1?

@gslin, can you please test this?

emmapeel, goupille, @mercedes508: if you have contacts of Chinese-speaking users, please point them to this comment or give me their contact :)

#35 Updated by intrigeri 2019-03-11 16:18:03

Sent a call for testing to tails-testers and on top of that, I’ve privately sent a slightly more personal version to a bunch of contacts sajolida gave me. I doubt we’ll get enough feedback in time for 3.13 but who knows; in any case, I’m confident that’ll be useful for 3.14.

#36 Updated by intrigeri 2019-03-12 16:55:41

FWIW:

  • deepin, that originates from the PRC, uses fcitx. They have their own desktop environment though so integration with GNOME is not a problem for them.
  • Fedora 29 uses ibus-libpinyin by default in zh-cn locales.

#37 Updated by emmapeel 2019-03-13 10:14:50

Asking my Chinese contacts….

#38 Updated by gslin 2019-03-14 01:12:42

Yes it (bopomofo) works much better in VirtualBox now, but I cannot use Super-Space to switch my input method between English and bopomofo.

#39 Updated by intrigeri 2019-03-14 07:24:46

> Yes it (bopomofo) works much better in VirtualBox now, but I cannot use Super-Space to switch my input method between English and bopomofo.

@gslin, thanks for this valuable feedback! Two questions:

  • Is the Super-Space problem a regression compared to Tails 3.12.1?
  • If it’s not, might it be a conflict between the virtual machine and the host system, both trying to capture Super-Space, and the host system winning?

In any case, I’ll try myself on bare metal.

#40 Updated by gslin 2019-03-15 06:10:18

Thanks, I used RightCommand-Space then I can switch input method (I guess it’s because LeftCommand is Host key). Just found a bug:

  • After switched to another input method, keyboard focus would lose. For example, I opened https://duckduckgo.com/ and typed some English words into field, then I used RightCommand-Space to Chinese (bopomofo), the focus will not in field.

#41 Updated by intrigeri 2019-03-16 16:31:14

> Thanks, I used RightCommand-Space then I can switch input method (I guess it’s because LeftCommand is Host key).

@gslin, thanks for testing again. Good to know there is a way to switch input methods with the keyboard.

Another tester says that Win + Space works for them, in the candidate ISO, to switch between the various non-Latin input methods. Indeed, if I press and hold the “Win” key, then press “Space”, I see a menu with all the available input methods. Today I learned!

> * After switched to another input method, keyboard focus would lose. For example, I opened https://duckduckgo.com/ and typed some English words into field, then I used RightCommand-Space to Chinese (bopomofo), the focus will not in field.

I could reproduce this problem with Tor Browser in both the candidate image and Tails 3.12.1. Interestingly, I can’t reproduce it in GEdit, so the exact scope of the problem is unclear to me. @gslin, would you mind filing a dedicated ticket on our Redmine, testing more software, and listing on that new ticket which are affected and which are not? This would probably help us pinpoint the root cause of the problem :) In any case, this is not a regression so it shall not prevent us from shipping the other fixes we have ready.

Finally, a tester told me that with this ISO, Intelligent Pinyin (both 全拼 and 双拼) works well. This is great: we’ve already learnt above that this branch fixes Bopomofo and this report cancels my only remaining concern, i.e. the risk of regressions for Pinyin :)

#42 Updated by intrigeri 2019-03-16 16:34:00

  • Assignee changed from intrigeri to CyrilBrulebois
  • % Done changed from 10 to 50
  • Type of work changed from Test to Code

tl;dr: this branch improves Pinyin support and fixes the totally broken Bopomofo support.

lamby, CyrilBrulebois: sorry for the last minute merge request, I should obviously have sent my calls for testing earlier than March 11. I only dare sending it for 3.13 because of the huge potential user impact (Chinese is the first language for a huge part of the world human population :)

Anyway, user feedback is all positive and I think we’re good to go! ⇒ Please someone review the branch and then we can merge into stable.

#43 Updated by CyrilBrulebois 2019-03-16 16:59:56

  • Assignee changed from CyrilBrulebois to intrigeri
  • QA Check changed from Ready for QA to Pass

LGTM, feel free to merge.

#44 Updated by intrigeri 2019-03-16 17:50:10

  • Status changed from In Progress to Fix committed
  • % Done changed from 50 to 100

Applied in changeset commit:tails|e46f77946a74ea05a77df77e316fe60bebb7e1c5.

#45 Updated by intrigeri 2019-03-16 17:59:14

  • Assignee deleted (intrigeri)

#46 Updated by CyrilBrulebois 2019-03-20 14:28:32

  • Status changed from Fix committed to Resolved