Open-source project
gaboolic/rime-shuangpin-fuzhuma avatar
gaboolic/rime-shuangpin-fuzhuma

rime-shuangpin-fuzhuma: a Rime configuration that pairs double pinyin with shape-based auxiliary codes

墨奇音形,打造最强双拼辅助码rime输入方案,让天下双拼用户人人用得上辅助码。基于雾凇-白霜词库,支持小鹤双拼、自然码双拼、搜狗双拼、微软双拼等多种双拼,辅助码支持墨奇码(原创拆分开源支持十万字)、自然码部首辅、小鹤音形(鹤形辅)等,支持双拼和辅助码之间排列组合,支持整句/字词输入。不认识的字可以笔画、部件拆字、仓颉码反查。支持aw、aj模式输入英文、日文,支持双拼并击输入、emoji、快符、日期、大写数字、计算器等高级功能。雾凇鹤|雾凇自然|墨奇码|墨奇音形

1,074 stars74 forksLuaMIT

At a glance

What is it?
rime-shuangpin-fuzhuma is a Rime input method configuration that layers auxiliary shape codes on top of several double pinyin layouts, with the original Moqi code table and a separate Frost dictionary, distributed as YAML dictionaries and Lua scripts rather than a binary. It suits Chinese typists who already use double pinyin and want a secondary code path for rare characters, and it is the wrong thing to install if you need a general-purpose input method for English or Japanese.
Who is it for?
rime-shuangpin-fuzhuma is worth adopting for a Chinese typist who already knows a double pinyin layout and wants a second, shape-based code for characters the sound-based scheme cannot reach, because the auxiliary code tables are open and the dictionary is maintained separately from the configuration. It is also aimed at first-time double pinyin users, for whom the README recommends the moqi_wan_flypymo schema.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 31 days ago.
What is it written in?
Mainly Lua, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The repository is a Rime configuration, not an input method

This repository holds configuration files rather than an application. The README describes it as a Rime configuration that implements several double pinyin layouts, including natural code, Xiaohé, Sogou and Microsoft double pinyin, together with several auxiliary code schemes such as the original Moqi code, the natural code radical auxiliary, and the Xiaohé shape auxiliary. The primary language of the repository is Lua, but the substance is YAML: schema files, dictionary files, symbol tables and Lua filter scripts. Rime itself is the input method engine, and this repository supplies the layouts, dictionaries and filters that Rime loads. That distinction matters for anyone evaluating the project, because there is nothing to compile and the behaviour of the result depends as much on the engine you pair it with as on the files here.

Four main schemas, each with a different coverage and size

The README addresses people who hesitate between options by naming four main schemas and their trade-offs. moqi_wan_flypymo is the Moqi auxiliary code with Xiaohé double pinyin, the large dictionary version, not automatic on screen, supporting 40 thousand characters, and it is the author's own daily setup. moqi_wan_zrm pairs natural code with the natural code radical auxiliary, also with 40 thousand characters. moqi_wan_flypy is the Xiaohé shape with Xiaohé pinyin, and the README notes that the official Xiaohé dictionary covers only about 8000 characters. moqi_single_xh is the Moqi code top-screen version built for Xiaohé double pinyin, and it also only includes 8000 characters, which is the price of the four-code automatic on-screen behaviour. The repository root confirms the wider family, with schema files for Sogou, Microsoft, Quanpin and Wubi-style pairings.

The Moqi table is a recursive decomposition of character shapes

The original contribution is the Moqi code table, described as a scheme built on glyph description information with recursive decomposition, taking the first and last two shape-and-sound components. The README states that the Moqi decomposition table is open source, that it has been completed for all the characters in the common standard set and common traditional characters, and that it supports the gb18030-2022 standard with switching between large and small character sets in the scheme selection. A separate release note records that version 1.0.8 added Moqi decomposition support for GB18030. The decomposition rules are documented on the project wiki, and the tables live in a separate repository, moqima-tables, so the code data and the configuration that consumes it are versioned apart.

One dictionary for every layout, and the frequencies are frozen on purpose

The dictionary situation is unusual and worth understanding before you install. The README states that the dictionary now evolves independently, built from a high quality corpus of 745396750 characters, segmented, with character and word frequencies recomputed and normalised into the Frost dictionary maintained in a separate rime-frost repository. That dictionary is described as the best available under Rime, able to beat other dictionary approaches that use predictive models without using one. A unified dictionary edition means every double pinyin and auxiliary code combination reads from the same dictionary, which saves disk space, with the combination rules documented in moqi_speller.yaml. Two defaults are worth flagging. The user dictionary is disabled by default so that word frequencies stay fixed, and the README explains how to re-enable it with enable_user_dict: true in the schema file you use.

Installation is copying files into the Rime user folder

The install path is deliberately simple. You download the repository as a zip, or take the latest source-code.zip from releases, and unpack it into the Rime configuration directory for your platform. On Windows with Xiaolanghao the path is %APPDATA%\Roming\Rime, on macOS with Squirrel it is ~/Library/Rime, on Linux with fcitx5-rime it is ~/.local/share/fcitx5/rime, with a separate path for the flatpak build at ~/.var/app/org.fcitx.Fcitx5/data/fcitx5/rime, and for ibus-rime it is ~/.config/ibus/rime. The README also gives a git route for anyone comfortable with basic git operations.

bash
git clone --depth 1 https://github.com/gaboolic/rime-shuangpin-fuzhuma Rime

For plum users there are two recipes, one for all files and one for the dictionary files only.

bash
bash rime-install gaboolic/rime-shuangpin-fuzhuma:recipes/full
bash rime-install gaboolic/rime-shuangpin-fuzhuma:recipes/all_dicts

Prefix codes reach what double pinyin cannot

The input scheme is a set of prefixed escapes, and this is where the auxiliary codes become usable in practice. Unknown characters can be entered by strokes, with the ab prefix guiding the hspnz stroke set, or by component composition with the az prefix, or by Cangjie code with the acj prefix. The configuration also uses opencc for simplified and traditional conversion, for slang-style text, and for the first and last shape decomposition that defines the Moqi sound-and-shape codes. Within a sentence, an auxiliary code can be inserted for any single character, and the whole-sentence input path can be extended with syffo or syff to bring up single characters at five codes. Display of the auxiliary code is toggled with ctrl+p, and the decomposition display with ctrl+l.

A dense set of prefix commands, plus brief input and fuzzy sound options

The repository carries a long list of prefixed commands that go beyond Chinese typing. English is entered with the aw prefix and Japanese with the aj prefix, and a translator mode with ctrl + E toggles English-Chinese and Chinese-English translation. Symbols come in through the /fh prefix, with more in symbols_caps_v.yaml, and the O prefix opens a quick-symbol set for punctuation, radicals and components. Capital numbers begin with R, direct unicode entry begins with U, and date and time related input covers the words date, time, week, datetime and timestamp, with a shortcut date form beginning with N. A calculator mode is available in V mode, credited to a pull request from another contributor. Three smaller mechanisms round out the configuration. Super brief input commits one, two or three code input automatically with Tab, or with the slash or full stop key, so a short code does not collide with the space-committed single character. Flying keys and fuzzy sounds are configured through derive rules inside the schema file, and the README shows the pattern, for example mapping a yj or hj key sequence onto yq or hq, and mapping qx onto qw, with the same mechanism used to swap retroflex and alveolar consonants and to swap the front and back nasals. Concurrent typing, where several keys are pressed together, is documented on the project wiki. The todo list at the end of the README is honest about what is missing, including completion of the four-character idiom table, a fix for the e brief code problem in the natural code layout, and toggles for simplified versus full coverage and for the Tab hint.

MIT licensed, actively reworked, and openly dependent on other projects

The licence is MIT, and the last push was on 2026-09-22, with releases including 1.0.8 on 2026-06-26, a nightly build on 2026-04-19 and 1.0.7 on 2026-04-18. The README states that the author uses this configuration daily at high intensity, which is the stated reason for the update guarantee. The project also lists what it draws on, and the list is long: the Rime ice configuration for reference on configuration patterns, the Frost dictionary for the words and frequencies, the Moqi table repository for the decomposition, a Xiaohé double pinyin with auxiliary code project on Gitee, another natural code double pinyin project, the cell dictionary and distribution configurations, the radical and pinyin dictionary used by the component mode, a Lua script from another input method for the Tab brief input behaviour, another keyboard layout project, and a Chinese-English dictionary. The root shows the same spread, with bingji/, cn_dicts/, cn_dicts_cell/, cn_dicts_common/, custom_phrase/, opencc/, lua/, program/ and recipes/ directories alongside dozens of schema and dictionary files.

Editorial conclusion

rime-shuangpin-fuzhuma is worth adopting for a Chinese typist who already knows a double pinyin layout and wants a second, shape-based code for characters the sound-based scheme cannot reach, because the auxiliary code tables are open and the dictionary is maintained separately from the configuration. It is also aimed at first-time double pinyin users, for whom the README recommends the moqi_wan_flypymo schema. Verify first which schema you will actually use, since each one carries a different character coverage and a different dictionary size, and note that the user dictionary is disabled by default so that word frequencies stay fixed.

Frequently asked questions

What is rime-shuangpin-fuzhuma and what does it add to Rime?

It is a Rime configuration that implements several double pinyin layouts, including natural code, Xiaohé, Sogou and Microsoft, plus auxiliary shape codes such as the original Moqi code, the natural code radical auxiliary and the Xiaohé shape auxiliary. The engine itself is Rime; this repository supplies layouts, dictionaries and filters.

Which schema should a first-time double pinyin user choose?

The README recommends moqi_wan_flypymo.schema.yaml for a first-time user, described as the Moqi auxiliary code with Xiaohé pinyin, the large dictionary version, and the author's own setup. For a four-code automatic on-screen experience like Wubi, it points instead to the moqi_single_xh top-screen version.

How do I install rime-shuangpin-fuzhuma?

Download the repository zip or the latest source-code.zip from releases and unpack it into the Rime user folder for your platform, such as %APPDATA%\Roming\Rime on Windows or ~/Library/Rime on macOS. Users of plum can run bash rime-install with the recipes/full or recipes/all_dicts recipe.

Why is the user dictionary disabled by default?

The README states the user dictionary is off by default in order to keep word frequencies fixed, and explains how to enable it with enable_user_dict: true in the schema file you use. It also recommends using ac to create personal words in that state, so they sit behind system entries without disturbing system frequencies and word order.

Official sources

  1. gaboolic/rime-shuangpin-fuzhuma on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/gaboolic-rime-shuangpin-fuzhuma.svg)](https://hysenlabs.com/projects/gaboolic-rime-shuangpin-fuzhuma)

Was this useful?