A compose key for Windows, free and opensource, created by Sam Hocevar with the help of dozens of contributors.
A compose key allows to easily write special characters such as é ž à ō û ø ☺ ¤ ∅ « ♯ ⸘ Ⓚ ㊷ ♪ ♬ using short and often very intuitive key combinations. For instance, ö is obtained using o + ", and ♥ is obtained using < + 3.
Sam wrote WinCompose because none of the alternatives (FreeCompose, CKFW, AllChars or Unichars) were found to be satisfying.
Download latest: WinCompose 0.7.6 (January 18, 2016)
Installable version: WinCompose 0.7.6 (installer).
Portable version: WinCompose 0.7.6 (portable).
Older versions are available in the releases section.
After installation, WinCompose should appear in the System Tray. Press and release the ⎄ Compose key to initiate a compose sequence (this key defaults to Right Alt); the icon should change to indicate a compose sequence is in progress.
Then type in the keys for a compose sequence, such as A then E for Æ:
If Right Alt is not suitable for you, you can change it in the settings.
Compose rules are supposed to be intuitive. Here are some examples:
- ⎄ Compose ` a → à
- ⎄ Compose ' e → é
- ⎄ Compose ^ i → î
- ⎄ Compose ~ n → ñ
- ⎄ Compose / o → ø
- ⎄ Compose " u → ü
- ⎄ Compose o c → ©
- ⎄ Compose + - → ±
- ⎄ Compose : - → ÷
- ⎄ Compose ( 7 ) → ⑦
- ⎄ Compose C C C P → ☭
- ⎄ Compose < 3 → ♥
The full list of rules can be found by clicking on the WinCompose system tray icon or using the “Show Sequences…” menu entry:
The window allows you to filter the sequences being listed.
WinCompose supports the standard Compose file format. It provides more than
1700 compose rules from the Xorg project and the
dotXCompose project. You can add custom
rules by creating a file named .XCompose
or .XCompose.txt
in your
%USERPROFILE%
directory.
WinCompose supports rules of more than 2 characters such as ⎄ Compose ( 3 ) for ③.
WinCompose supports early exits. For instance, ⎄ Compose q will immediately type q because there is currently no rule starting with q.
As of now, WinCompose is almost fully translated to Belarusian, Chinese, Danish, Dutch, Estonian, Finnish, French, German, Greek, Italian, Polish, Russian, Spanish and Swedish. It is partially translated to Czech, Indonesian, Irish, Sardinian, Serbian and Slovak. You can help us translate it to more languages using the Weblate project:
Please report bugs or suggest improvements to Sam Hocevar sam@hocevar.net or to the GitHub issue tracker.