Dad, Will You Teach Me Calligraphy?
Further Developments & By-products


-> Word Map & Pix2Dad's calligraphy Handbook

Hanzi, the written language of Chinese, is always a centered topic in art creation in the context of Chinese culture. People have been trying to explore the interrelationships between Chinese characters based on their visual or acoustic similarity. An interesting example of mapping 8,615 Chinese character can be found here.

Excitingly, with RRPL, it is rather simple to calculate the structural complexities of Chinese characters and hence come up with a scoring system to compare them. The charts below show how the scoring system works: to understand those numbers, one will need to understand the principles of RRPL - recursion and subdivision.

The scores increase each time when the recursion happens. The amount increased is equal to the horizontal/vertical division number at this recursion. Additionally, there is a number tracking how many RRPL strokes this character has. Note that this number is not the same as the character's "real" number of strokes of when it is written by hand.
imitation imitation
With this scoring system, we can create a word map visualizing the structural similarity between characters in a character family (a family of characters that have a same root/radical). In the following two images, the one on the left is a zoomed-in version of the right one.
imitation imitation
And of course, the visual similarity also shows in the generated calligraphy style, as shown below. I may use it to create a handbook of different Hanzi family, in case anyone would like to learn this half-machine's-half-dad's calligraphy style.
imitation


-> Zi2Zi

We've seen that due to the differences between the two images in each input pair, the Pix2Pix model is not able to produce very satisfactory image outputs. Another promising GAN that worths a try is Zi2Zi, a Conditional Adversarial Network that specifically targets conversions between Chinese fonts styles.


zi2zi

A demo of the Zi2Zi input & output pairs.
LEFT: original character, RIGHT: inferred character.


There should be more documentation & further development coming soon...
Back to Home