Fancy text
๐๐๐ซ๐ ๐ถ Unicode styles on one keyboard: pick a style from the strip, and what you see on the keys is what you type.
Fancy Text isnโt a language. Itโs 31 Unicode โfontโ styles on a single keyboard, plus a Normal style that types plain letters. Add it once, pick a style from the strip above the keys, and every letter key immediately shows the styled glyph. What you type is already ๐ฏ๐ช๐ท๐ฌ๐: thereโs no separate conversion step afterward.


Turning it on
Section titled โTurning it onโFancy Text lives in the same language catalogue as everything else, and Languages overview covers how that catalogue works in general. Search for โfancyโ (or scroll to โ๐๐ช๐ท๐ฌ๐ ยท Fancy Textโ) and tap the row. Thatโs the whole setup: one entry in your language list, one layout, one stop on the ๐ cycle and the OS keyboard switcher.
The Fancy text tool
Section titled โThe Fancy text toolโIf you only want fancy letters now and then, the Fancy text toolbar tool does the same thing in one press, from the keyboard, without a trip to Settings. Pin it from WM KeyboardTools (itโs in the Quick actions group) or find it in the toolbox. Press it and the fancy keyboard appears, adding Fancy Text to your language list if it wasnโt there already. Press it again and youโre back on the layout you came from, with Fancy Text taken out of the ๐ cycle again so it isnโt in the way of the languages you actually read. The toolโs icon stays lit for as long as the fancy keyboard is the one typing, however you got there.
Its own screen, at WM KeyboardToolsFancy text, has three settings:
- Style to start with. Pin one style and the tool always turns on in it. Left on โLast usedโ, it starts from whatever style you picked last. Either way the strip over the keys still switches styles for the rest of the session, and a pinned style is never overwritten by it.
- Keep the language after you turn it off. On, Fancy Text stays in your language list once the tool has added it, so a spacebar swipe reaches it too. Off (the default) takes it back out again.
- Turn off when the keyboard closes. On by default. For one nickname or one message: leave the field and the keyboard comes back typing plainly. It only undoes what the tool itself turned on, so a Fancy Text language you added in Settings stays put.
On a hardware keyboard the tool answers to the leader key followed by F; see Hardware keyboards.
The same switch also lives in Settings as the Fancy text toggle on WM KeyboardRows & bars, next to the row order, where the style strip can be dragged above or below the other rows.
Picking a style
Section titled โPicking a styleโWhile the fancy keyboard is active, a strip appears above the keys with every style written in itself: Normal, ๐๐จ๐ฅ๐, ๐๐ต๐ข๐ญ๐ช๐ค, ๐๐ฏ๐๐จ๐ฑ๐ฒ๐ฏ, ๐ ๐ ๐ ก๐ ๐ ๐ ๐ and so on. Tap a chip and the keys restyle instantly. Normal, first in the strip, puts the plain letters back without leaving the fancy keyboard. The strip sits nearest the keys by default; WM KeyboardRows & barsRow order moves it above the other rows. The pick is remembered until you change it. The dropdown on the stripโs left edge names the current style. Open it and every style appears written in itself, exactly like the chips above; a screen reader still gets the plain name for each one.
The same choice also lives in Settings, on the Fancy Text language screen, as a Style row.
The full set, with the name each one shows:
| Style | Style | Style |
|---|---|---|
| Bold | Sans-serif | Circled |
| Italic | Sans Bold | Circled (Filled) |
| Bold Italic | Sans Italic | Squared |
| Script | Sans Bold Italic | Squared (Filled) |
| Bold Script | Monospace | Small Caps |
| Fraktur | Fullwidth | Superscript |
| Bold Fraktur | Double-struck | Strikethrough |
| Underline | Regional Indicator | Parenthesized |
| Double Underline | Overline | Slashthrough |
| Wavy Underline | Dotted | Upside Down |
| Bypass |
The keyboard itself
Section titled โThe keyboard itselfโThe fancy layout is a plain QWERTY grid: three letter rows plus a bottom row for ?123, comma, ๐, space, period, and Enter. Comma, period, and space always commit as plain ASCII, because only the letters get the styled substitution. There are no long-press popups on the letter keys. Digits and symbols come from the shared ?123 panel, in plain ASCII.
Hover or tap a key with a corner hint to see all its long-press characters.
How it works
Section titled โHow it worksโThe layout stores plain letters, and the selected style substitutes each one at the last moment, both on the key labels and in what a tap commits. Shift works exactly like any other layout: it uppercases the plain letter, and the style supplies its capital form where one exists. Two different Unicode techniques produce the styling, depending on the style:
- Precomposed characters, mostly from the Mathematical Alphanumeric Symbols block, for Bold, Italic, Script, Fraktur, Double-struck, Sans, and Monospace (and their combinations). These sit outside the Basic Multilingual Plane, so they need a font with supplementary-plane coverage to render. See the gaps below.
- Combining marks stacked on plain ASCII letters, for Strikethrough (a stroke mark after each letter) and Underline (a low-line mark after each letter). These stay inside the BMP, so they render reliably almost everywhere, at the cost of being two codepoints per letter instead of one.
Circled, Squared, Fullwidth, Small Caps, and Superscript draw from a few other existing Unicode blocks. Circled (non-filled) is Enclosed Alphanumerics, Fullwidth is the Fullwidth Forms, and Small Caps and Superscript come from the phonetic and modifier-letter ranges, all of which are inside the BMP. Squared, Squared (Filled), and Circled (Filled) are the exception in that group: they sit in the Enclosed Alphanumeric Supplement, which is outside the BMP like the mathematical styles. No font ships with the app for any of this: rendering depends entirely on whatever font the app or system youโre typing into already has installed, which is where the gaps below come from.
Not every style has full alphabet coverage. Italic, Script, non-bold Fraktur, and Double-struck hit codepoints the Mathematical Alphanumeric block deliberately leaves empty, so those specific letters fall back to older, BMP-only symbols instead. Superscript goes further: Unicode has no capital superscript letters at all, and no superscript โqโ in any case, so shift changes nothing there and โqโ types a plain lowercase q.
Details & edge cases
Section titled โDetails & edge casesโCase coverage varies by style. Superscript and Small Caps have no capitals, so shift leaves them as they are. Unicode doesnโt define capital forms for them. Squared, Squared (Filled), and Circled (Filled) are single-case too, since Unicode only assigned capital-shaped symbols for those blocks. Circled (non-filled), Fullwidth, Double-struck, and every Fraktur/Script variant do have real upper/lower distinction.
A handful of letters fall back to an older block. Double-struck is missing astral capitals for C, H, N, P, Q, R, and Z, and non-bold Fraktur for C, H, I, R, and Z, so both fall back to the Letterlike Symbols block for those. Non-bold Script is missing letters in both cases: e, g, o in lowercase and B, E, F, H, I, L, M, R in capitals. Italic has exactly one gap, the lowercase h. Bold Fraktur, Bold Italic, and Bold Script have no such gaps, since their Unicode blocks are complete. Small Caps has a gap of its own kind: Unicode never encoded a small-capital X, so โxโ types a plain lowercase x.
No suggestions, no autocorrect, no swipe typing. Fancy Text ships no bundled dictionary and has no downloadable wordlist, so the language screenโs Dictionaries section has no word list row, only Custom dictionaries. The styled letters never enter the composing buffer either, in any style, so nothing you type here is learned or corrected. Glide typing is off here for the same reason: the keyboard only turns a swipe into a word when the active language has a word list that covers the letters on the grid, and Fancy Text has none.
The keyboardโs own search boxes get plain letters. Typing into the emoji search, GIF search, or any other panel search while the fancy keyboard is active types unstyled letters, so those searches actually match. Only text committed to the appโs field is styled.
Search and screen readers in the receiving app are governed by that app, not by WM Keyboard. Styled Unicode letters arenโt the same codepoints as their plain equivalents, so a search box or screen reader that only matches literal ASCII text wonโt recognize ๐ฅ๐๐๐ค as โthis.โ Thatโs general behavior of the receiving app, not something this keyboard controls either way.
The base grid is just a layout, so you can open it in the visual layout editor to remap a key or add long-press entries. See Custom layouts & the layout editor. The styles themselves arenโt separate layouts anymore, so they canโt be edited individually: your remapped keys apply to every style.
