Commit Graph

263 Commits

Author SHA1 Message Date
cec62cc40f fix: repair IBus context lifecycle 2026-08-12 15:49:28 +09:00
bc5712b6ac fix: retain the active owner's caret 2026-08-12 15:44:04 +09:00
5ba5cf209c fix: assign one active engine owner 2026-08-12 15:41:46 +09:00
9c244d1dd1 fix: retain the newest dictionary request 2026-08-12 15:37:50 +09:00
fabce14933 fix: tighten emoji lookup contracts 2026-08-12 15:36:37 +09:00
d0def814ef refactor: remove empty language maps 2026-08-12 15:35:02 +09:00
d2fa51ceba data: validate and repair Japanese dictionaries 2026-08-12 15:34:00 +09:00
f0ba7fc5f6 fix: normalize Korean shifted input 2026-08-12 15:32:28 +09:00
6dfbc08704 fix: correct Katakana composition 2026-08-12 15:29:35 +09:00
ec7e6eb992 fix: preserve complete Japanese readings 2026-08-12 15:28:16 +09:00
5ae0945015 Simplify build system 2026-08-12 14:23:41 +09:00
2ae87a3926 emoji: repair one-shot candidate selection 2026-08-12 02:08:01 +09:00
0fff17c8b8 emoji: add one-shot candidate search 2026-08-11 22:24:59 +09:00
82276bf37f strengthen core unit tests
Add table-driven dictionary miss and language-switch state coverage, regress stale candidates after backspace, and clear them before dictionary refresh. Keep IPC and runtime-created file checks outside the unit runner.
2026-08-11 21:12:23 +09:00
9b3f2c46f0 restore unversioned ipc path 2026-08-11 20:05:37 +09:00
099acdf2a6 stop tracking build outputs 2026-08-11 19:35:19 +09:00
42823420ab add focused unit and map checks 2026-08-11 19:35:11 +09:00
9dc116a035 harden ipc and frontend recovery 2026-08-11 19:34:47 +09:00
4bfb659b6d fix candidate popup bounds 2026-08-11 19:34:27 +09:00
7b40ef419f fix vietnamese telex state 2026-08-11 19:34:14 +09:00
e70278a3d2 fix core text and map ownership 2026-08-11 19:32:58 +09:00
b63122dd14 add GtkInputPurpose 2026-08-03 12:03:45 +09:00
a94d55c541 fix vietnamese telex: qu-/gi- onset tone placement and dd+tone
transvi fixes:

1. qu-/gi- onset tone placement. The u after q, and the i after g when a
   vowel follows, are onset glides rather than the rime nucleus, so the
   tone must skip them: qua -> quá (was qúa), gia -> giá. The onset was
   previously passed straight through to the app, so transvi never saw it
   and toned the glide. Keep the onset in the preedit by adding qu-/gi-
   clusters to telex.map (mktelex.py onsets(), appended additively to the
   curated map), and add onsetglide() so transvi skips the glide. gi- with
   no following vowel keeps i as the nucleus (gì, gìn).

2. A tone key on a vowel-less preedit (e.g. "đ" from dd) now commits the
   preedit and lets the tone key pass through (eat=0), matching the engine
   commit-on-passthrough invariant, instead of eating it into the commit.

Verified against the running engine: qua/quan/quay/quê/quên/quyển,
gia/già/giàu/giữ/giúp/giống, gì/gìn, dd+s; unchanged mua->mùa, của, lúa;
all non-qu/gi words byte-identical to before.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 13:14:31 +09:00
aefe9bc618 fix gtk: commit pending text on passthrough keys
The GTK IM module only emitted the commit signal when the key was
eaten (r != 0). But when a non-matching key is pressed mid-composition
the engine commits the pending preedit and returns eaten=0 so the raw
key passes through, sending a commit string with eaten=0. GTK dropped
it, silently losing the composed text (e.g. Hangul "ㅇ" + "?" yielded
only "?").

Commit whenever a commit string is present, matching the wayland, ibus
and xim frontends.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 12:50:32 +09:00
bd2c1aeaca add emoji.src 2026-05-29 02:35:52 +09:00
f686edd198 fix gtk predit window 2026-05-29 02:28:49 +09:00
7e69827c13 passthrough unmatched keys 2026-05-28 23:38:23 +09:00
795353609b popup tooltip hint 2026-05-28 20:22:27 +09:00
28b48d997c split wayland commit cycles 2026-05-28 20:22:27 +09:00
f4347b70cc default popup off 2026-05-28 19:07:28 +09:00
69e92de010 wait for compositor 2026-05-28 19:04:41 +09:00
293313652f gtk inline preedit 2026-05-28 18:50:42 +09:00
b842c724e2 add popup toggle 2026-05-28 18:10:41 +09:00
403f5d52f1 update readme 2026-05-28 17:38:59 +09:00
daadd320f3 ibus preedit 2026-05-28 17:28:51 +09:00
7629ec5fe8 add wayland support 2026-05-28 17:28:47 +09:00
ef749ba730 add preedit to ipc 2026-05-28 17:28:42 +09:00
3a203766d5 add ibus supprot 2026-05-28 15:17:31 +09:00
884ba56619 optimize rendering 2026-02-08 18:10:21 +09:00
9afad8e4ff add bench 2026-02-08 17:57:23 +09:00
64d50afc6b fix kouho selection. 2026-02-08 17:43:26 +09:00
b887972fb2 vietnamese telex input 2026-02-08 16:57:52 +09:00
d06cef6575 add lang dispatch, korean hangul input 2026-02-08 16:52:08 +09:00
5653298bb1 use trie for map lookup 2026-02-08 16:36:59 +09:00
97f897755f rename hnode fields, functions. 2026-02-08 16:29:29 +09:00
O_WRONLY
f5f88e8451 update readme 2026-01-13 09:25:22 +09:00
db2b3eacad add vietnam telex input 2026-01-01 18:22:16 +09:00
559b82ec9b strans.c:Fix preedit window is not displayed or cleared. 2026-01-01 13:52:41 +09:00
O_WRONLY
9568893eaf Add Emoji input shortcut to README 2025-12-28 20:00:10 +09:00
874b941439 add emoji font.
fix: 97ae9b1709
2025-12-28 19:50:38 +09:00