Are there any fonts that try to compose Unicode Ideographic Description Characters into one character? E.g., ⿰女子 would look like 好. I know the Wikipedia page says "rendering systems are not intended to automatically compose the pieces into a complete ideograph", but this could be helpful for scripts like Sawndip that aren't fully encoded in Unicode. Composing characters overlaid with ⿻ would probably be impossible, but it seems that it shouldn't be hard to at least try to compose characters that are put together just side-by-side with ⿰ ⿱ ⿲ ⿳, especially since something like this is already done for Old Hangul syllable blocks.

  • 2
    Check out recursive radical packing language github.com/LingDong-/rrpl
    – dROOOze
    Commented Aug 7, 2019 at 3:09
  • 1
    Oh, if you’re looking for a database of already composed Sawndip characters, or if you’re looking to have a freely available interface to make your own characters, GlyphWiki has both. It’s a bit hard to navigate though..
    – dROOOze
    Commented Aug 7, 2019 at 3:23
  • I'm actually more interested in making my own characters than in Sawndip, but both of those look pretty good!
    – mic
    Commented Aug 7, 2019 at 3:50
  • 1
    Not an answers, but your question totally reminds me of this: blog.otoro.net/2015/12/28/… & also this linked in the article above: otoro.net/kanji-rnn
    – Mou某
    Commented Aug 7, 2019 at 4:02
  • What you want can easily be handled case-by-case with GlyphWiki.org composition and then getting one-glyph fonts, but check up Hanazono Mincho I at github.com/cjkvi/HanaMinAFDKO . Apparently, it assembles a lot of IDS outside unicode. Commented Aug 7, 2019 at 7:30

3 Answers 3


The question you are asking is basically, "how do I shape ideographic description sequences (IDS's)"? Text shaping is how the Arabic word خ‌ط‌ ‌ا‌ل‌ع‌ا‌ئ‌ل‌ة becomes خط العائلة.

It is technically possible. I am working on a proof-of-concept that can shape any IDS with a recursion depth of 2 or less. The recursion depth is needed due to limits of the number of glyphs possible in a SFNT-based font.

An SFNT-based font can contain 65535 glyphs. There are 26 presentation forms of a radical shaped in an IDS:

  1. 口_Plain.
  2. ⿰: 口_Left; 口_Right.
  3. ⿱: 口_Above; 口_Below.
  4. ⿲: 口_LeftOf3; 口_HMiddleOf3; 口_RightOf3.
  5. ⿳: 口_TopOf3; 口_VMiddleOf3; 口_BottomOf3.
  6. ⿴: 口_Surrounding; 口_Surrounded.
  7. ⿵: 口_SurroundingFromAbove; 口_SurroundedFromAbove.
  8. ⿶: 口_SurroundingFromBelow; 口_SurroundedFromBelow.
  9. ⿷: 口_SurroundingFromLeft; 口_SurroundedFromLeft.
  10. ⿸: 口_SurroundingFromUpperLeft; 口_SurroundedFromUpperLeft.
  11. ⿹: 口_SurroundingFromUpperRight; 口_SurroundedFromUpperRight.
  12. ⿺: 口_SurroundingFromLowerLeft; 口_SurroundedFromLowerLeft.
  13. ⿺: 口_OverlaidA; 口_OverlaidB.

If you take the 216 radicals and draw them in all 26 presentation forms, you have 5,616 glyphs. (You can prune the list some by remembering that not all radicals make sense in all presentation forms; for example, can never be Surrounding or Overlaid.)

You can then use contextual alternates (GSUB) and contextual substitution (GPOS) to begin shaping. Wherever possible, to reduce the number of needed glyphs, you want to merge where possible. So, to shape , you want to shape ⿰矛务, not ⿰⿹予丿⿱夂力; even if this means that you need more "radicals".

This is a broad overview; I am working on a proof of concept, and also font standards which would make things easier for font authors. I also wrote a paper on the subject for the Text Shaping Working Group:



Let’s turn this into an answer.

  1. If you wish to create arbitrarily new characters, give GluphWiki.org a try. Make a version in their editor (not flawless, as you’ll have to physically stretch and resize components, but better than lots), save and then extract as one-glyph font. (The symbol will be at GETA MARK [U+3013].) Only watch out for their naming practices and be careful to keep to the national preferences. These glyphs look best with Hanazono fonts, which are basically pre-made from GlyphWiki.org, so try it on. Especially the Hanazono-AFDKO (Google it) versions, as they are well-versed in setting up the variants.

  2. If, however, your wish is to recreate some characters really existing but not in Unicode, first scan BabelStone Han PUA font, it might be there. Works best with BabelStone Han (actually, is part of it), so you might want to install that. Note: only includes PRC forms.

  3. The actual composer of IDS (for lost of well-known non-Unicodes) is the Hanazono Mincho I from the aforementioned AFDKO. Scan its proof (https://github.com/cjkvi/HanaMinAFDKO/releases/download/8.030/HanaMinI.proof.pdf) to learn which are supported. Note that the most well-popularized examples of non-Unicodes are sometimes even in mass-use fonts, such as ⿰氵恩 (only unencoded Korean Name) or ⿳雲⿲雲龍雲⿰龍龍 (taito) are in Source Han sans.

  • I installed the BabelStone Han font but I copy the characters on my Word file and the font isn't there. Do you know why? Maybe it has another name? I already went through all the font list and didn't find it. =( Commented Aug 22, 2019 at 16:26
  • Font absolutely absent? Not even in Control Panel font collection? Probably deleting and installing again would work, or even clearing cache. Also, have you closed all Office apps after installing fonts? Commented Aug 22, 2019 at 17:13
  • After rebooting the computer everything is OK. You're a lifesaver. Thank you! Commented Aug 26, 2019 at 17:32

you can edit two like a picture and insert it in text

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.