fanlusky 510f70c1a5 fix(voice): 语音条适配分辨率/DPI 切换——与候选框一致
语音提示条(WaveOverlay)在切换屏幕分辨率/DPI 后尺寸与缩放错乱,
候选框已有的适配逻辑此前未覆盖到语音这一块。根因有二:

1. update_dpi_scale() 用 GetDpiForWindow(hwnd_) 取缩放,而定位用的是前台
   窗口所在显示器(GetMonitorCoordinates),两者可能不同源,且切换分辨率
   时 GetDpiForWindow 可能返回陈旧值。改用 GetDpiForMonitor(MDT_EFFECTIVE_DPI)
   按目标显示器计算,与候选框 ScaleFromMonitor 同一套技术,并让定位矩形与
   缩放同源。
2. ID2D1HwndRenderTarget 的 DPI 只在创建时定过一次,切换后不更新,导致
   draw() 里逻辑坐标映射到错误像素尺寸。现在在 update_dpi_scale() 中同步
   刷新渲染目标 DPI(等价于候选框 SetDpiOverride/SetDpi)。

同时把 WM_DISPLAYCHANGE 从 WM_PAINT 分支拆出单独处理,并让
update_window_bounds() 每次重新定位都刷新缩放,对齐候选框"每次显示都
重算"的行为。
2026-09-16 15:49:19 +08:00
2026-09-09 04:05:24 +09:00
2025-11-10 21:10:23 +08:00

Metasequoia IME for Windows

中文 README · Website · Docs · Privacy

CI CodeQL Release Downloads License Stars

A free and open-source Chinese and Japanese input method for Windows 10 and 11, built on TSF with no legacy IMM32 path.

This repository is the whole Windows product: the TSF text service DLL, the resident server, the conversion engine, a self-written native GUI framework, the HTML surfaces and the installer. The engine was imported from MSIME-Engine and specialized for Windows; it now lives in engine/ as a first-party component, so a plain clone builds the product. See engine/UPSTREAM.md.

This is a public beta. Expect rough edges and read the release notes before upgrading.

Install

Download the installer from Releases or the download page, run it, then switch with Win + Space.

Current builds are not code signed. SmartScreen will block them and uiAccess is unavailable, which means the candidate window cannot float above elevated applications. Verify the download with the SHA256 published on the download page.

You need the Microsoft Visual C++ 2015–2022 Redistributable (x64). The server and settings app are 64-bit; the x86 redistributable is a separate package and does not substitute for it. If you cannot switch to the IME, the server keeps exiting, or the settings window closes immediately, install that first.

What it does

  • Chinese input: full pinyin, double pinyin (Xiaohe / Ziranma / Shoudao / Microsoft), Wubi 86
  • Japanese input: romaji, with hiragana, katakana and dictionary candidates; also available as a temporary mode from Chinese
  • Helpcode (形码) filtering on pinyin schemes: five tables, single- and double-code
  • Optional cloud candidates, and AI suggestions via DeepSeek / OpenAI / SiliconFlow / Groq
  • English-Chinese glosses in the vertical candidate window
  • Mixed Chinese-English input, emoji and kaomoji, a dedicated English candidate mode
  • Voice input with streaming recognition and optional cleanup
  • Handwriting, on-screen keyboard, floating toolbar, clipboard history
  • User dictionary management, candidate frequency tuning, skins with light and dark variants

Privacy

An input method sees every keystroke, so the boundaries are stated explicitly in PRIVACY.md: which features reach the network, what each one sends, what the defaults are, and how to turn each off.

Two things worth knowing up front. Cloud candidates are on by default — the composition spelling goes to Google's input-tools service, and it is the only network feature that works without you supplying a credential. API tokens are stored in plain text in config.toml, unlike macOS and Linux which use the Keychain and Secret Service.

There is no telemetry, analytics or crash reporting of any kind.

Building and contributing

CONTRIBUTING.md has the environment, the build order and what to run before opening a pull request. Contributions do not have to be code — dictionary entries, documentation, icons and compatibility testing all count, and the recruiting page lists them by area.

Note that most issues, documentation and code comments are in Chinese. English pull requests and issues are welcome.

Licence

GPL-3.0. See LICENSE and THIRD_PARTY_NOTICES.txt.

S
Description
水杉输入法 Windows 产品:TSF、Server、GUI、设置页与安装器。内测:tg: https://t.me/msimegroup QQ Group: 829919142
https://msime.app
Readme GPL-3.0
24 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 93.5%
Python 2.4%
PowerShell 2%
CMake 0.9%
Inno Setup 0.7%
Other 0.5%