Hans Hagen wrote:
I'll work this out asap; this is what i use as test file (unfortunately this font does not show chars, so i have do download a proper font first); i attached a script that i apply to a ttf file ( ttftfmxx.pl htfs.ttf 0 255 )
\chardef\utfunihashmode=1 \pdfmapfile{+htfsxx.map} \definefontsynonym [TestRegular] [htfs] \defineunicodefont [SomeFont] [Test] \SomeFont \enableregime[utf] % todo: autoutf, else problem \starttekst %^^eb^^bf^^a1 %^^ec^^80^^80 \utfunifontglyph{\numexpr("BFE1)} \utfunifontglyph{\numexpr("C000)} \stoptekst
Even though I used \utfunifontglyph{\numexpr("C000)} instead of ^^ec^^80^^80, the result was the same, that is, the character was not shown correctly (= empty). I forgot one thing to comment. Bitstream Cyberbit font does not have the glyph for the character U+C000. So it may be better to test the character U+C0C1 (= ^^ec^^83^^81). Bitstream Cyberbit font (Cyberbit.ZIP) can be download from http://ftp.netscape.com/pub/communicator/extras/fonts/windows/ Here is the log message after turnning on \tracingmacros. The difference is that "BFE1 calls \unicodeglyph, but "C0C1 calls \doutfunihsh. 1. Log message for \utfunifontglyph{\numexpr("BFE1)} ================================================= \utfunifontglyph #1->\xdef \unidiv {\number \utfdiv {#1}}\xdef \unimod {\number \utfmod {#1}}\ifnum #1<\utf@i \char \unimod \else \ifcsname \@@univector \unid iv \endcsname \csname \doutfunihash {\unidiv }{#1}\endcsname \else \unicodeglyp h \unidiv \unimod \fi \fi #1<-\numexpr ("BFE1) \utfdiv #1->\number \numexpr ((#1-\utf@g )/\utf@h ) #1<-\numexpr ("BFE1) \utfmod #1->\number \numexpr (#1-\utf@h *((#1-\utf@g )/\utf@h )) #1<-\numexpr ("BFE1) \@@univector ->univ \unidiv ->191 \unicodeglyph #1#2->\bgroup \getvalue {@@\currentucharmapping \strippedcsname \ uchar }{#1}{#2}\bodyfontsize \unicodescale \bodyfontsize \font \unicodefont =\t ruefontname {\truefontname \unicodestyle \unicodeone } at \currentfontscale \bo dyfontsize \unicodestrut \unicodefont \unicodecharcommand {\char \unicodetwo \r elax }\egroup #1<-\unidiv #2<-\unimod ... [REMOVED] 2. Log message for \utfunifontglyph{\numexpr("C0C1)} ================================================= \utfunifontglyph #1->\xdef \unidiv {\number \utfdiv {#1}}\xdef \unimod {\number \utfmod {#1}}\ifnum #1<\utf@i \char \unimod \else \ifcsname \@@univector \unid iv \endcsname \csname \doutfunihash {\unidiv }{#1}\endcsname \else \unicodeglyp h \unidiv \unimod \fi \fi #1<-\numexpr ("C0C1) \utfdiv #1->\number \numexpr ((#1-\utf@g )/\utf@h ) #1<-\numexpr ("C0C1) \utfmod #1->\number \numexpr (#1-\utf@h *((#1-\utf@g )/\utf@h )) #1<-\numexpr ("C0C1) \@@univector ->univ \unidiv ->192 \doutfunihash #1#2->\ifcsname \@@univector \number #1\endcsname \csname \@@univ ector #1\endcsname {\utfmod {#2}}\else \@@unknownchar \fi #1<-\unidiv #2<-\numexpr ("C0C1) \@@univector ->univ \unidiv ->192 \@@univector ->univ \unidiv ->192 \univ192 #1-> #1<-\utfmod {\numexpr ("C0C1)} [NO MESSAGE FURTHER] Best, ChoF. -- *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *** ^ ^ | ChoF := Jin-Hwan Cho | *^ ^* o | chofchof@ktug.or.kr | * o * *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *** *^ ^* | Project Manager of | ^ ^ * O * | DVIPDFMx and MiKTeX-KTUG | O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Research Fellow, School of Mathematics | | Korea Institute for Advanced Study | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~