~/toolstriggerfont

Triggerfont

Make a font's swashes and stylistic alternates work in Microsoft Word, by giving each one a character you can type.

ms word

Why Word ignores your alternates


The Windows shaping engine passes only four OpenType features to Hebrew, Arabic and other complex-script text: ccmp, dlig, kern and mark. Word's Stylistic sets dropdown, and every swsh, salt and aalt alternate, is silently discarded. Nothing you do in the Font dialog will bring them back.

The way in. ccmp is applied unconditionally and can't be switched off. This tool writes each alternate into ccmp as a two-glyph ligature — the letter plus a trigger character — so typing א~ swallows the tilde and leaves the swash alef. Every alternate also gets a Private Use code point, so it turns up in Character Map and works with Alt+X.

Bidi note. Digits sit in their own bidi run inside right-to-left text, so a neutral trigger like ~ gets separated from them and never matches. Digits default to #, which is a European Terminator and stays attached to the number.

1

Load a font

.otf · .ttf · .woff — nothing leaves your machine
Drop a font file here
or click to choose · OpenType, TrueType or WOFF
Starting the font engine…

Worth knowing

  • Pick a trigger that never legitimately follows that character in your language. ~ and | are safe after letters, # after digits. Avoid ' and " in Hebrew (ג׳, ז׳, acronyms), and % after numbers.
  • Kerning, mark positioning, ligatures and every existing OpenType feature carry over untouched — only ccmp and cmap are added to.
  • The text stays real text. א~ is still an alef followed by a tilde underneath, so it searches, spell-checks and survives a font change. Private Use code points don't.
  • Installing: remove the old version of the font first, then restart Word. Windows caches fonts aggressively and a same-name replacement often won't take.
  • Check the licence before modifying a commercial font. Editing for your own use is usually fine; passing the edited file on usually isn't.