Hi, It is relevant to the subject below.
http://tug.org/pipermail/xetex/2013-January/023967.html I want to catch the character code of an implicit token by using the \meaning trick. But it seems that \meaning of XeTeX does not return the expected result on an outside BMP character (>= 0x10000). My XeTeX version is XeTeX 3.1415926-2.5-0.9999.3-2013060713 (TeX Live 2013/W32TeX) Here is a MWE. \newcount\cnta \newcount\cntb \newcount\cntc \def\GetCharcode{\expandafter\GetCharcodeAux\meaning\testchar} \let\testchar=^^^^^1d6fc %% \mitalpha \ifdefined\directlua \def\GetCharcodeAux#1 #2 #3{\cnta=`#3 } \GetCharcode \showthe\cnta %% -> 120572 0x1D6FC \else \def\GetCharcodeAux#1 #2 #3#4{\cntb=`#3 \cntc`#4 } \GetCharcode \showthe\cntb %% -> 55349 0xD835 \showthe\cntc %% -> 57084 0xDEFC %% convert UTF-16 to unicode \cnta=\numexpr ( \cntb - "D800 ) * "400 + ( \cntc - "DC00 ) + "10000 \relax \showthe\cnta %% -> 120572 0x1D6FC \fi \bye LuaTeX works fine with characters outside BMP. It seems that XeTeX return the UTF-16 code units instead of the real character outside BMP. This is intentional or an oversight? Regards, -- Qing Lee -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex
