How kenny824319/dualityime works
DualityIME is a Windows Traditional Chinese Zhuyin IME for mixed Chinese–English composition. The user types in an application; the TSF service forwards keys over a named pipe to the engine, which composes text and returns composition, candidates, replacements, and suggestions for display or commit. The README also documents personal vocabulary, lookup, symbol keyboard, settings, learning, and updates. Edges below use only relationships visible in excerpts, the source index, or README; unsampled feature links are omitted where implementation wiring is not shown.
Main entry points: composer.cpp Composer · engine_main.cpp Engine server · text_service.cpp TSF text service · engine_client.cpp Engine client
Components 16
Windows IME
- TSF text service
cpp/tip/text_service.cpp - Engine client
cpp/tip/engine_client.cpp - Named pipe
cpp/common/pipe.cpp
Composition Engine
- Engine server
cpp/server/engine_main.cpp - Composer
cpp/engine/composer.cpp - Zhuyin parsing
cpp/engine/zhuyin.cpp
Language Resources
- Lexicon and learning
cpp/engine/lexicon.cpp - Bigram model
cpp/engine/bigram.cpp - Language model
cpp/engine/lm.cpp - Engine configuration
cpp/engine/config.cpp
Settings and Maintenance
- Settings interface
settings/ui/app.js - Installer and migration
installer/src/Setup.cs - Data migration
installer/src/Migrate.cs - Updater
installer/src/Updater.cs
Other components
- Typist
- Windows app
Connections 17
- Typist → Windows app: types in
- Windows app → TSF text service: receives keys
- TSF text service → Engine client: sends requests
cpp/tip/text_service.cpp - Engine client → Named pipe: transacts JSON
cpp/tip/engine_client.cpp - Engine server → Named pipe: serves requests
cpp/server/engine_main.cpp - Engine server → Composer: dispatches operations
cpp/server/engine_main.cpp - Composer → Zhuyin parsing: parses syllables
- Composer → Lexicon and learning: looks up phrases
- Composer → Bigram model: scores context
- Composer → Language model: scores sentences
- Engine server → Engine configuration: loads settings
cpp/server/engine_main.cpp - TSF text service → Windows app: displays composition
- Typist → Settings interface: configures and manages
- Settings interface → Engine configuration: configures engine
- Typist → Installer and migration: installs or upgrades
- Installer and migration → Data migration: migrates prior data
installer/src/Setup.cs - Typist → Updater: checks for updates