fanlusky eadcca9f1b fix(server): 候选窗贴边后不再随内容变化上下左右乱飘
候选窗一旦贴住屏幕右边缘,删字后右边缘就会离开边缘;靠近屏幕下边缘时,它有时
正常停在当前行上方,有时却盖住当前行的文字。两者是同一个病根:最终定位用的不是
候选卡片本身,或者压根没有重新定位。

D2D:PlaceAndShow 末尾的水平夹取用的是宿主窗口宽度。宿主带透明阴影内边距、向上
取整到 64px、而且打字过程中只增不减,于是卡片被这些余量整体推离右边缘;删字后过
大的宿主宽度被保留,卡片左边缘就被冻住。改成夹取不透明卡片,和紧随其后的垂直夹取
用同一条规则,透明宿主允许越过屏幕边缘。

WebView2:内容更新只走「重绘不重排」的两条路径,它们从不重做上下翻转判定,只是
(a) 用「MarginTop -= 高度差」这个累加器去粘住底边,(b) 交给
KeepCandidateCardInsideHostAndMonitor 夹取,而后者在卡片底边越过工作区下边界时
直接把卡片往上推。于是本来在光标下方勉强放得下的候选窗,一旦下一个键多出一行释义
变高,就被径直推到当前行文字上面。现在两条路径都改为用实际绘制出来的尺寸重新推导
锚点(ReanchorCandidateHostToPaintedCard)——翻转判定只能信这个高度——两个累加器
随之删除。

另有两处一致性修补:MarginLeft/MarginTop 超出宿主可用余量时改为平移宿主而不是截断,
截断会让卡片毫无理由地吸到宿主的另一端;翻转判定的下边界改用 coordinates.bottom -
edgePadPx,与下游所有夹取共用一条线,否则会判定「下方放得下」,再被 2 DIP 边距顶
回来压到文字上。

已知未处理:翻转时的行高仍是写死的 24 DIP,因为 IPC 只传了文本范围的 left 和
bottom,行高在 GetPhysicalTextAnchor 里就被丢掉了。宿主报出的行比 24 DIP 高时,
翻转后的卡片底边仍会压进那一行——但现在是稳定的偏低,不再忽上忽下。
2026-09-13 03:07:52 +08:00
2026-09-09 04:05:24 +09:00
2025-11-10 21:10:23 +08:00
2026-09-09 04:05:24 +09: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%