Chewing Wrapper for Fcitx.
This provides libchewing input method support for fcitx5. Released under GPL2+.
chewingio.h is removed in chewing/libchewing#567 (part of libchewing 0.9.0-rc.1). As a result, build fails with:
FAILED: src/CMakeFiles/chewing.dir/eim.cpp.o
/usr/bin/c++ -DFCITX_GETTEXT_DOMAIN=\"fcitx5-chewing\" -DFCITX_INSTALL_LOCALEDIR=\"/usr/share/locale\" -Dchewing_EXPORTS -isystem /usr/include/Fcitx5/Core -isystem /usr/include/Fcitx5/Config -isystem /usr/include/Fcitx5/Utils -isystem /usr/include/chewing -Wall -Wextra -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/fcitx5-chewing/src=/usr/src/debug/fcitx5-chewing -flto=auto -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT src/CMakeFiles/chewing.dir/eim.cpp.o -MF src/CMakeFiles/chewing.dir/eim.cpp.o.d -o src/CMakeFiles/chewing.dir/eim.cpp.o -c /build/fcitx5-chewing/src/fcitx5-chewing/src/eim.cpp
In file included from /build/fcitx5-chewing/src/fcitx5-chewing/src/eim.cpp:8:
/build/fcitx5-chewing/src/fcitx5-chewing/src/eim.h:11:10: fatal error: chewingio.h: No such file or directory
11 | #include <chewingio.h>
| ^~~~~~~~~~~~~
Before chewingio.h is removed, it is already included via chewing.h. I think #include <chewingio.h>
can be simply removed eim.h as chewing.h is already included there?
Lines 10 to 11 in 5ad232a
press numpad like 0~9/+/- when buffer has word waiting, It did not load into buffer, it direct show on the target text field.
maybe we can flush the waiting buffer when press numpad or try to load numpad key into waiting queue.
Describe the bug
If the problem is about you can not use fcitx in certain application, or the input window is placed in wrong place, be sure to include which application is being typed, and the output of fcitx5-diagnose command.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
it should preserve waiting word or output to application. not disappear
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
When I confirm the letter, press "Enter" (no underline) then press "Backspace", the letter I typed will repeted.
Ex: 你好 --> Press "Enter" + "Backspace" key --> 你好你好
My Environment:
Name : fcitx5
Version : 5.1.9-1
Name : fcitx5-chewing
Version : 5.1.2-1
Name : fcitx5-qt
Version : 5.1.6-1
Name : fcitx5-gtk
Version : 5.1.3-1
在fcitx5-rime輸入法上可實現使用上下方向鍵選字的功能,不知道在新酷音能不能增加這個功能
Since 4411a3a (part of version 5.1.3), the preedit window is doing something strange during typing. For example, when I type 2 (ㄉ
if the default keyboard layout is configured), I got repeated bopomofo symbols:
Note that the issue happens only with the Rust version of libchewing (default since 0.8.0 rc1). Everything works fine with libchewing 0.7.0.
With libchewing 0.8.0 rc2, logs of RUST_LOG=debug fcitx5 -D --verbose default=5,chewing=5
shows that the bopomofo symbol appears twice:
D2024-05-02 22:10:14.583860 eim.cpp:562] Text: ㄉ Zuin: ㄉ
On the other hand, with libchewing 0.7.0, the bopomofo symbol appears only once in logs:
D2024-05-02 22:09:49.200383 eim.cpp:562] Text: Zuin: ㄉ
It seems that in the Rust version of libchewing, all *_static
functions share the same buffer. Specifically, when there are data to return, *_static
functions use an internal helper to copy desired data to a static global array:
https://github.com/chewing/libchewing/blob/v0.8.0-rc.2/capi/src/io.rs#L1451
https://github.com/chewing/libchewing/blob/v0.8.0-rc.2/capi/src/io.rs#L71
As a result, when two *_static
functions are called in a row (https://github.com/fcitx/fcitx5-chewing/blob/5.1.3/src/eim.cpp#L557-L558), both resulting pointers point to the same data.
/cc @kanru this issue seems related to a difference in Rust and C implementations. I know little about Rust. Could you confirm whether my analysis is correct or not?
Tested under fcitx 5.0.10
In fcitx5 chewing, candidate amount is limited within only 5 (too less!), and the layout is horizontal which is a little hard to read.
In contrast, fcitx5 mozc has 9 candidates in candidate popup, and layout is vertical by default.
And both chewing & mozc in fcitx5 seems not support customizing candidate amount nor layout.
Hello!
fcitx-chewing is distributed under the GPL while the fcitx5 itself is LGPL. Would it be possible to distribute this plugin under the same license as fcitx5? Thanks!
current press on numpad 0-9 will direct output number.
is there any possible to be able use numpad 0-9 only, or numpad 0-9 + none numpad 0-9 to select word.
When setting the candidate count to be < 10, the overflowing characters should appear on the next page.
Example:
A B C D E F G H I J
K L M
when candidate count = 5, it should become
A B C D E
F G H I J
K L M
The overflowing characters is untypable. In the example above, F G H I J
is now untypable. The menu shows K L M
on the next page.
current when chewing is activated, I pressed shift try to input English, It always output lower case,
Is there any chance to add an option to allow output upper case when chewing is activated ?
Describe the bug
I'm using version 5.0.14
on apt, the input methods default to commit spelling symbols when switching to another input method.
I hope this behavior can be customized as same as version 4.
To Reproduce
Expected behavior
Add back the option in fcitx 4 and make it disabled by default.
Desktop (please complete the following information):
When backspace is pressed, one block character of whether the preedit or the text should be deleted
I use | to represent the cursor, and italic to represent preedit, with chewing symbol representing partially inputted characters
小ㄕㄨㄛ| => 小ㄕㄨ| => 小ㄕ|
看小ㄕ| => 看小| => 看|
The following is observed in all tested scenario
小ㄕㄨㄛ| => 小| => 小| => |
小ㄕㄨ| => 小| => 小| => |
小ㄕ| => 小| => 小| => |
Specifically on neovim v10.0 and Word online, the following is observed
看小ㄕㄨ| => 小| => 小| => |
看小ㄕ| => 小| => 小| => |
Type the above sequences
fcitx5 5.1.10-1
fcitx5-chewing 5.1.4-1
Kernel: 6.9.3-arch1-1
DE: Sway
Distro: Arch Linux
I'm on Arch with sway-im
and nvidia-beta
drivers installed.
If I remember correctly, in fcitx 4.x + chewing, user can use Ctrl+Shift+F
to toggle the output between Traditional / Simplified Characters. But this feature disappeared after upgrading to fcitx5.
(I don't sure if this ticket should be opened in this repo. Sorry.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.