Commit Graph
49 Commits
Author SHA1 Message Date
Jia Sui bfd42d314e feat(quanpin): wire up typing autocorrect config and tests
- config.toml [quanpin] autocorrect = true (default on)
- ime_config: GetConfiguredQuanpinAutocorrectEnabled /
  SetConfiguredQuanpinAutocorrectEnabled with template-preserving write
- engine_input_session injects the flag into the engine session
- tests: autocorrect table integrity, autocorrect_cut units, dictionary-level
  corrected-candidate-first behavior, legacy behavior when disabled, and
  cache isolation for plain spellings
- bump MetasequoiaImeEngine to 2422fd1
2026-08-31 16:01:25 +08:00
fanlusky b159d8c9ab Update local path. Optimize audio interruption. 2026-08-23 23:37:00 +08:00
fanlusky 943b6fbd4b Add J mode, the shorthand pinyin mode. 2026-08-19 08:05:44 +08:00
fanlusky 7c7df2e4c6 Add inline preedit in-time ars result support for voice input. 2026-08-17 00:55:45 +08:00
fanlusky 8565b0531b Add kaomoji to mixed candidates (after emoji) behind general.kaomoji_mixed_input
kaomoji_ime: async worker mirroring emoji_ime; KaomojiQuery::QueryPrefix
gains a db_path override. NormalizeMixedCandidateOrder places kaomoji right
after emoji, shifting with cloud/AI. event_listener wires
UpdateKaomojiInput/ApplyKaomojiCandidates/EnqueueKaomojiCandidates and the
PrepareCandidateList trigger; config general.kaomoji_mixed_input is plumbed
through settings_app/webview2; main.cpp starts/stops KaomojiIme; ordering test
added.
2026-08-17 00:08:24 +08:00
fanlusky 7a35c8c20e Add M-mode (Shift+M) for quick kaomoji input
Shift+M enters a kaomoji quick-input mode backed by the kaomoji table in
others.db, supporting full pinyin, abbreviated pinyin, English words, and
shuangpin expansion. Candidates commit directly via the new
CandidateSource::Kaomoji; a [utility] kaomoji_mode toggle is wired through
settings. Hardens candidate payload rendering (HTML / backtick / comma
escaping) so kaomoji, which often contain < > &  and commas, display correctly.
2026-08-16 23:16:11 +08:00
fanlusky d15319bd66 Add emoji to mixed candidates (slot 3, shifts with cloud/AI) behind general.emoji_mixed_input. 2026-08-16 19:29:52 +08:00
fanlusky 08ee504609 Add E-mode (Shift+E) for quick emoji input
Shift+E enters an emoji quick-input mode backed by the emoji_pinyin index in
others.db, supporting full pinyin (xiaolian), abbreviated pinyin (xl), English
words (laugh), and shuangpin codes (Xiaohe xnlm expands to xiaolian).

- src/emoji/emoji_query.{h,cpp}: prefix lookup over emoji_pinyin with
  shuangpin->quanpin expansion driven by the active scheme
- event_listener: Shift+E trigger, composition helpers, candidate branch, and
  direct commit through the new CandidateSource::Emoji
- config: [utility] emoji_mode toggle wired through settings_app / webview2
- tests: emoji_query coverage for full/abbrev pinyin, English, Xiaohe shuangpin
- engine submodule: CandidateSource::Emoji (core/word_item.h)
2026-08-16 18:54:54 +08:00
fanlusky 33a86c11b6 Add date-time quick input (T-mode) feature, strengthen installation to not overwrite user's config.toml, and add a cold-start protection for FTB that "displays within the page ready / up to 6s grace period, then shows/hides according to actual status" (still rebuilds webview2 on upgrade). 2026-08-08 12:37:24 +08:00
fanlusky 5b162ddb93 compile manifest to release bin file 2026-08-01 02:38:10 +08:00
fanlusky de5b764a72 fix(ftb): reconcile toolbar visibility from IPC active-client state
WM_IMEACTIVATE could be dropped or skipped when activation was unchanged,
leaving the floating toolbar hidden until the user switched IME away and
back. Derive g_is_ime_active from the live active client on every visibility
apply, and re-apply once the FTB WebView finishes its first navigation.
Also restore Watchdog startup with a short profile-ready retry window.
2026-07-31 00:43:55 +08:00
fanlusky ac8d5dbcf2 chore: sign script for release version 2026-07-30 21:25:14 +08:00
fanlusky e417eaee64 Refactor to prepare for adding the Ziranma scheme. 2026-07-14 23:39:34 +08:00
fanlusky df6002c03e Add preliminary support for Chinese-English mixed input. 2026-07-14 19:00:09 +08:00
fanlusky e4fe985896 Thoroughly solve the settings window flickering and focus instability issues. Separate it out as a standalone exe. 2026-07-14 00:09:06 +08:00
fanlusky e6c8500521 tmp 2026-07-03 22:18:51 +08:00
fanlusky 3dbe168da1 Start to support new-version engine 2026-06-19 23:01:50 +08:00
fanlusky 744e117f8f Refactor 2026-06-19 22:27:12 +08:00
fanlusky d38a6bfb0a Phase 1 dependency consolidation. 2026-06-19 21:27:43 +08:00
fanlusky 3e57162cf0 Some simple refactoring 2026-06-19 21:04:01 +08:00
fanlusky f9275788c4 add compile release scripts 2026-04-02 18:25:57 +08:00
fanlumaster 5e6ee87626 [feat]: add cloud api 2026-03-26 01:44:07 +08:00
fanlumaster 991c037182 chore 2026-03-05 14:45:10 +08:00
fanlumaster 4be4a96992 make window truely top-most with sign 2026-03-04 01:43:53 +08:00
fanlumaster 1e916a2226 adjust vcpkg config 2026-02-28 18:19:11 +08:00
fanlumaster 704cae5162 [dep]: use vcpkg webview2 lib to replace origianal nuget lib 2026-02-28 15:05:38 +08:00
fanlumaster 009228c534 [dev]: Update webview2 version 2026-02-04 11:10:57 +08:00
fanlumaster 28d11c0d9f [config]: Read toml config file from appdata location 2026-01-30 12:27:23 +08:00
fanlumaster eb5014777c [config]: Update to VS2026 2025-12-29 21:54:51 +08:00
fanlumaster bd5ba1f771 [ui]: settings window 2025-11-03 13:12:51 +08:00
fanlumaster 1441fbc387 [refactor]: tidy some codes 2025-10-31 16:07:26 +08:00
fanlumaster 2f41e73e37 [feat]: Add delete word feature 2025-10-29 15:58:51 +08:00
fanlumaster c9e4ec2685 squashed commits for create word feat 2025-10-25 12:48:22 +08:00
fanlumaster 92e031e234 [ui]: Revert to webview2 2025-09-15 14:25:01 +08:00
fanlumaster 6656e5cca1 [chore]: Docs and Env 2025-06-25 16:20:36 +08:00
fanlumaster 1e5824bae1 [dependency]: Update MetasequoiaImeEngine 2025-06-20 00:09:45 +08:00
fanlumaster 5b19b102b3 [Render]: Replace sciter with direct2d and directwrite, now only support basic layout(hard code) 2025-06-16 17:04:05 +08:00
fanlumaster e908a7bf1b [dev]: Measure ui size in advance 2025-06-15 17:33:41 +08:00
fanlumaster 1b0cd11dda [dev]: Sign to enable using uiaccess 2025-06-14 14:23:00 +08:00
fanlumaster 789839b26a [feat]: Switch the renderer to sicter-d2d 2025-06-13 13:35:33 +08:00
fanlumaster 7fd0e24475 [Project]: Rename IME name 2025-06-10 17:18:22 +08:00
fanlumaster 8a85419d4b [env]: Fix utfcpp path in CMakeLists 2025-06-01 23:24:21 +08:00
fanlumaster 00b6866951 [chore]: docs 2025-06-01 02:22:39 +08:00
fanlumaster a0bbd80b62 [env]: Generate some config file via py scripts 2025-05-31 06:51:47 +08:00
fanlumaster 976e17864a [env]: Make it more generic 2025-05-31 06:44:30 +08:00
fanlumaster 83d0854613 [chore]: Compile script 2025-05-12 01:51:52 +08:00
fanlumaster 7c618a06fc [dev]: Change 3rd-party lib to vckpg and add sqlite3 2025-04-20 17:42:18 +08:00
fanlumaster 1031943f3d adjust file structure 2025-03-25 16:04:21 +08:00
fanlumaster abff7464e0 first commit 2025-03-25 15:27:42 +08:00