Could be made considerably stronger by using a homophonic substitution cipher. Given that there are lots and lots of Unicode characters it would be pretty easy to flatten the distribution to make letter frequency analysis hard.
If you do things as a polyalphabetic substitution then, provided you limited the length of the ciphertext by the available letter spaces in the font file, couldnt you avoid frequency analysis completely? So for example each letter s in the plaintext would be generated from a different ciphertext symbol.
That was another thing I thought about. There are so many possible characters that you do not have to map them to regular ascii, but I wanted to make the demo easy to understand.