As there are 20986 Chinese characters in CJK Charsets,so it's very wasteful for loading all characters into RAM.
It proposes that you should establish a Cache Buffering for fonts' Render.
I think the buffer size of 512 * 512 is enough. If the font size of 20*20 needs to be rendered, the 512*512 buffer area size will be contained 655 characters. You see, about 2000 Chinese are used in daily life,and less than 500 chinese are displayed in a screen at the same time.
Implementation Method is very simple. Create [buffer Index] <---> [unicode] Doubly linked list,then you only maintenance the buffer list according to the frequence of character usage.
Represents only my suggestion is for reference only.