Background:
Recently I'm trying to deal with some Chinese characters which belongs to the CJK Unified Ideographs Extension B block. The motive comes from some further interest following a former question, and some ideas of using Mathematica for typesetting ancient Chinese scriptures.
Edit:
Here is some sample code which looks fine at first sight ( The Unicodes of the three characters involved here are x20027
, x200D5
and x20137
. The setting of the $SystemCharacterEncoding
of my Mathematica is "CP936"
. ):
But after saving then closing the notebook, I re-opened it, without touching anything, the Front End displays weird now (and note the attendance of the syntax errors):
It seems the Front End is not able to correctly render them.
Furthermore, although I can create a textcell looking fine:
whose CellExpression
is:
Cell["\:d840\:dc27\:d840\:dcd5\:d840\:dd37", "Text", CellChangeTimes->{3.5359048507534103`*^9}]
but if I trig Ctrl+Shift+E
and edit the CellExpression
directly (eg. deleting the CellChangeTimes
item, which should not affect the "appearance" of the cell), then convert the cell back to normal status, things get wrong again:
This kind of problem never happened when dealing with characters from CJK Unified Ideographs and CJK Unified Ideographs Extension A blocks, so I guess there may be a bug here.
So my questions is: While I do realize the "Unicode"
encoding in Mathematica referring to only 16-bit Unicode while the CJK-B begin with x20000
, is there any method to render and work with characters from CJK Unified Ideographs Extension B correctly?