<p><a href="https://i.sstatic.net/xd2B9.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/xd2B9.png" alt="enter image description here"></a></p>

<p>Well, actually many input tools like Sogou and MSpinyin have already had such functions. </p>

<p>I don't know a lot of the database you referred to, but I guess it is the database of China's household registration department. I guess, in that system, not only do you need to register these antediluvian names, but you also have to select these obscure characters from the database, kinda like selecting from the menus. </p>

CC BY-SA 3.0
2017-06-14T20:29:21.767Z
My microsoft pinyin doesn't have the cheng character in question. I'll look into Sogou. However, I think I'm asking for a different kind of software. One that composes an image of the character by choosing a structure (e.g. 3 concatenated horizontally) and then the subcomponents (e.g. 3 ma's). I'd like it to have the ability to create new characters as well, just by choosing the structure and the sub-components.
jdods
CC BY-SA 3.0
2017-06-14T20:29:27.093Z
In thinking about the above comment though, I think I have just found the answer... the answer is that such software would have to compose an image and wouldn't be able to generate a unicode representation on the spot. Doing the latter would probably require a completely new character encoding scheme that allows enough space to be open ended so ass to allow for enough new characters to be generated for a sufficiently long period of time.
jdods
CC BY-SA 3.0
2017-06-15T00:37:00.307Z
such input tools do exist, brushstroke input, which index Chinese characters not according to pinyin but brush strokes. I'm afraid most of these tools are only used by and available to cellphone users now.
Gestaltfilter
CC BY-SA 3.0
2017-06-15T02:46:56.727Z
But those tools can only match brushstrokes to a fixed list of characters, they are unable to create new ones.
jdods
CC BY-SA 3.0
2017-06-15T03:27:20.590Z
technically, every Chinese character, as long as it is included in Chinese dictionaries, can be decomposed and input with basic strokes.
Gestaltfilter
CC BY-SA 3.0
2017-06-15T11:45:22.310Z
Yes, but it has to already be in the digital dictionary, i.e. had to be encoded for already. There are still some (rare) characters that aren't encoded for yet. Also, the software I desire could create completely new characters that have never been in any dictionary, I.e. be able to compose any sub-component characters/strokes into an allowable structural pattern. Of course, it wouldn't have a pronunciation associated with it. There are trillions is possible characters that don't exist.
jdods
CC BY-SA 3.0
2017-06-14T00:42:40.747Z
2017-06-14T00:42:40.747Z
Gestaltfilter
<p>There certainly have been approaches like the one you described. There's a relatively early prototype by Hobby and Goan (<a href="http://www.tug.org/TUGboat/Articles/tb05-2/tb10hobby.pdf" rel="nofollow noreferrer">http://www.tug.org/TUGboat/Articles/tb05-2/tb10hobby.pdf</a>) for a Chinese font defined in MetaFont (TeX's font description language) and another later attempt by a guy named Laguna (<a href="https://www.tug.org/TUGboat/tb26-2/laguna.pdf" rel="nofollow noreferrer">https://www.tug.org/TUGboat/tb26-2/laguna.pdf</a>). There's a commercial solution by WenLin (<a href="http://guide.wenlininstitute.org/wenlin4.3/Character_Description_Language" rel="nofollow noreferrer">http://guide.wenlininstitute.org/wenlin4.3/Character_Description_Language</a>, <a href="https://wenlin.com/cdl" rel="nofollow noreferrer">https://wenlin.com/cdl</a>, <a href="https://en.wikipedia.org/wiki/Chinese_character_description_language" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Chinese_character_description_language</a>) that I can't judge. I remember there were attempts at Academia Sinica, Taiwan, in the 1980s and 90s to produce software that could generate character images on the fly from abstract definitions; I believe those were intended to be used for TV subtitles.</p>

<p>Furthermore, there are specialized operators defined in Unicode to describe the structure of characters called Ideographic Description Characters (<a href="https://en.wikipedia.org/wiki/Ideographic_Description_Characters_(Unicode_block)" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Ideographic_Description_Characters_(Unicode_block)</a> and <a href="http://www.unicode.org/versions/Unicode9.0.0/ch18.pdf#page=23" rel="nofollow noreferrer">http://www.unicode.org/versions/Unicode9.0.0/ch18.pdf#page=23</a>). Using IDCs, it's straightforward to describe many characters; here's an excerpt of data provided by <a href="http://kanji-database.sourceforge.net" rel="nofollow noreferrer">http://kanji-database.sourceforge.net</a> (<a href="https://github.com/cjkvi/cjkvi-ids" rel="nofollow noreferrer">https://github.com/cjkvi/cjkvi-ids</a>):</p>

<pre><code>U+6946  楆 ⿰木要
U+6947  楇 ⿰木咼
U+694B  楋 ⿰木剌
U+245FA  ⿰片辟
U+24602  ⿰片夢
U+9E05  鸅 ⿰睪鳥
U+9E09  鸉 ⿱楊鳥
U+9E0A  鸊 ⿰辟鳥
U+9E0B  鸋 ⿰寧鳥
U+9E0C  鸌 ⿰鳥蒦
</code></pre>

<p>The above are the <em>shortest</em> meaningful formulas that can be given for each character; below you can see a sample of how I recursively resolved formulas to obtain the <em>longest</em> meaningful formulas; these of course depend on exactly which components you declare to be basic (which is often a bit arbitrary; e.g. 豆 can easily be further decomposed):</p>

<pre><code>乾 ⿸⿰乙
亀 ⿱⿱日电
亂 ⿰(⿱爫龴⿵冂⿱厶又)乚
亃 ⿰⿱米⿰夕㐄乚
亄 ⿰(⿱士冖豆)乚
亘 ⿱一⿱日一
些 ⿱⿰止匕二
亟 ⿱⿻了⿰口又一
亢 ⿱亠几
交 ⿱亠父
亨 (⿱亠口了)
亩 ⿱亠田
享 (⿱亠口子)
京 (⿱亠口小)
亭 (⿱亠口冖丁)
亮 (⿱亠口冖几)
亵 (⿱亠⿰扌丸)
</code></pre>

<p>It would be great if there was software to compose character shapes from these formulas; I certainly would love to have such a facility. However, all the attempts to write a character generator that I know of either use a much more concrete representation giving the metrics and locations for each component, or they produced extremely ugly shapes and never went beyond proof-of-concept.</p>

CC BY-SA 3.0
2017-06-17T14:30:01.163Z
2017-06-17T14:30:01.163Z
John Frazer
<p>I was just reading about China's problem with rare given names and the absence of them in computer databases? For example, there was an individual with the given name pronounced "cheng" composed of 马 3 times horizontally.</p>

<p>Why hasn't software been developed to select a decomposed structure (e.g. 3 radicals event spaced and concatenated horizontally) and then to type the names of the individual radicals in place? If such software was developed, how many rare characters would it take care of? </p>

<p>Seems like it would certainly be a challenge for a developer to create software that scaled all radicals correctly (and the thousands of already extant compound characters as well), but a competent programmer could surely accomplish this at least to some level of satisfactory functionality.</p>

<p>If such software already exists, what is it?</p>

<characters><radicals><input-methods><software>
Character-component "spelling" software
# Character-component "spelling" software

(Asked by: username_0 on 2017-06-13)

I was just reading about China's problem with rare given names and the absence of them in computer databases? For example, there was an individual with the given name pronounced "cheng" composed of 马 3 times horizontally.

Why hasn't software been developed to select a decomposed structure (e.g. 3 radicals event spaced and concatenated horizontally) and then to type the names of the individual radicals in place? If such software was developed, how many rare characters would it take care of?

Seems like it would certainly be a challenge for a developer to create software that scaled all radicals correctly (and the thousands of already extant compound characters as well), but a competent programmer could surely accomplish this at least to some level of satisfactory functionality.

If such software already exists, what is it?

**Tags:** characters, radicals, input-methods, software


---

## 2 answers

### Answer by username_1 on 2017-06-14. Score: 4

[![enter image description here](https://i.sstatic.net/xd2B9.png)](https://i.sstatic.net/xd2B9.png)

Well, actually many input tools like Sogou and MSpinyin have already had such functions.

I don't know a lot of the database you referred to, but I guess it is the database of China's household registration department. I guess, in that system, not only do you need to register these antediluvian names, but you also have to select these obscure characters from the database, kinda like selecting from the menus.

> **Comments:**
> **username_0**: My microsoft pinyin doesn't have the cheng character in question. I'll look into Sogou. However, I think I'm asking for a different kind of software. One that composes an image of the character by choosing a structure (e.g. 3 concatenated horizontally) and then the subcomponents (e.g. 3 ma's). I'd like it to have the ability to create new characters as well, just by choosing the structure and the sub-components.  
> **username_0**: In thinking about the above comment though, I think I have just found the answer... the answer is that such software would have to compose an image and wouldn't be able to generate a unicode representation on the spot. Doing the latter would probably require a completely new character encoding scheme that allows enough space to be open ended so ass to allow for enough new characters to be generated for a sufficiently long period of time.  
> **username_1**: such input tools do exist, brushstroke input, which index Chinese characters not according to pinyin but brush strokes. I'm afraid most of these tools are only used by and available to cellphone users now.  
> **username_0**: But those tools can only match brushstrokes to a fixed list of characters, they are unable to create new ones.  
> **username_1**: technically, every Chinese character, as long as it is included in Chinese dictionaries, can be decomposed and input with basic strokes.  
> **username_0**: Yes, but it has to already be in the digital dictionary, i.e. had to be encoded for already. There are still some (rare) characters that aren't encoded for yet. Also, the software I desire could create completely new characters that have never been in any dictionary, I.e. be able to compose any sub-component characters/strokes into an allowable structural pattern. Of course, it wouldn't have a pronunciation associated with it. There are trillions is possible characters that don't exist.  

---

### Answer by username_2 on 2017-06-17. Score: 2

There certainly have been approaches like the one you described. There's a relatively early prototype by Hobby and Goan (<http://www.tug.org/TUGboat/Articles/tb05-2/tb10hobby.pdf>) for a Chinese font defined in MetaFont (TeX's font description language) and another later attempt by a guy named Laguna (<https://www.tug.org/TUGboat/tb26-2/laguna.pdf>). There's a commercial solution by WenLin (<http://guide.wenlininstitute.org/wenlin4.3/Character_Description_Language>, <https://wenlin.com/cdl>, <https://en.wikipedia.org/wiki/Chinese_character_description_language>) that I can't judge. I remember there were attempts at Academia Sinica, Taiwan, in the 1980s and 90s to produce software that could generate character images on the fly from abstract definitions; I believe those were intended to be used for TV subtitles.

Furthermore, there are specialized operators defined in Unicode to describe the structure of characters called Ideographic Description Characters (<https://en.wikipedia.org/wiki/Ideographic_Description_Characters_(Unicode_block)> and <http://www.unicode.org/versions/Unicode9.0.0/ch18.pdf#page=23>). Using IDCs, it's straightforward to describe many characters; here's an excerpt of data provided by <http://kanji-database.sourceforge.net> (<https://github.com/cjkvi/cjkvi-ids>):

```
U+6946  楆 ⿰木要
U+6947  楇 ⿰木咼
U+694B  楋 ⿰木剌
U+245FA  ⿰片辟
U+24602  ⿰片夢
U+9E05  鸅 ⿰睪鳥
U+9E09  鸉 ⿱楊鳥
U+9E0A  鸊 ⿰辟鳥
U+9E0B  鸋 ⿰寧鳥
U+9E0C  鸌 ⿰鳥蒦

```

The above are the *shortest* meaningful formulas that can be given for each character; below you can see a sample of how I recursively resolved formulas to obtain the *longest* meaningful formulas; these of course depend on exactly which components you declare to be basic (which is often a bit arbitrary; e.g. 豆 can easily be further decomposed):

```
乾 ⿸⿰乙
亀 ⿱⿱日电
亂 ⿰(⿱爫龴⿵冂⿱厶又)乚
亃 ⿰⿱米⿰夕㐄乚
亄 ⿰(⿱士冖豆)乚
亘 ⿱一⿱日一
些 ⿱⿰止匕二
亟 ⿱⿻了⿰口又一
亢 ⿱亠几
交 ⿱亠父
亨 (⿱亠口了)
亩 ⿱亠田
享 (⿱亠口子)
京 (⿱亠口小)
亭 (⿱亠口冖丁)
亮 (⿱亠口冖几)
亵 (⿱亠⿰扌丸)

```

It would be great if there was software to compose character shapes from these formulas; I certainly would love to have such a facility. However, all the attempts to write a character generator that I know of either use a much more concrete representation giving the metrics and locations for each component, or they produced extremely ugly shapes and never went beyond proof-of-concept.


---

