Hi, folks,
I've been struggling through, trying to learn Unicode in ConTeXt. It's
been instructive, at least. (Hope to make a MyWay about it...)
There are a few weird things that made it difficult to learn, and I was
wondering if someone could help explain why things are the way they are.
In unic-ini:
\chardef\utfunihashmode=0 % 1 = enabled
Actually, if I understand things correctly, '1' means "disabled", which
is what I preferred, having not yet created any unicode vectors. So the
internal documentation there seems wrong, and I would argue the default
case (0) makes it harder for beginners.
More confusingly, in font-uni:
\def\enableunicodefont#1%
{\definefontsynonym[\s!Unicode][\getvalue{\??uc#1\c!file}]%
\def\unicodescale {\getvalue{\??uc#1\c!schaal}}%
\def\unicodeheight {\getvalue{\??uc#1\c!hoogte}}%
\def\unicodedepth {\getvalue{\??uc#1\c!diepte}}%
\def\unicodedigits {\getvalue{\??uc#1\c!conversie}}%
\def\handleunicodeglyph {\getvalue{\??uc#1\c!commando}}%
%%%%%%%%%%% NEXT LINE
\enableregime[unicode]% the following \relax's are realy needed
\doifvalue{\??uc#1\c!interlinie}\v!ja\setupinterlinespace\relax
\getvalue{\??uc#1\c!commandos}\relax}
The \enableregime[unicode] runs in direct opposition with the
\enableregime[utf] that normally goes at the start of (some of my)
documents. As it stands, with the regime hard-coded, users have to put an
\enableregime[utf] *after* the font declaration. That's awkward.
The last proposed change/complaint is back in unic-ini, and came from my
attempts to match the main body font with the unicode font.
\def\utfunifontglyph#1%
{\xdef\unidiv{\number\utfdiv{#1}}%
\xdef\unimod{\number\utfmod{#1}}%
\ifnum#1<\utf@i
%%%% \unicodeasciicharacter\unimod
\char\unimod % \unicodeascii\unimod
\else\ifcsname\@@univector\unidiv\endcsname
\csname\doutfunihash{\unidiv}{#1}\endcsname
\else % so, these can be different fonts !
\unicodeglyph\unidiv\unimod % no \uchar (yet)
\fi\fi}
Basically, I'd like to use the \unicodeasciicharacter hook with this
definition:
\def\unicodeasciicharacter{\uchar{0}}
(I'm not certain the above is release-quality code, but I've been testing
it with a stripped down \utfunifontglyph that should be functionally
equivalent.)
Working with the unicode code makes me appreciate that it's really
powerful part of ConTeXt. Thanks, Hans!
gelukkig nieuwjaar,
adam
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Adam T. Lindsay atl(a)comp.lancs.ac.uk
Computing Dept, Lancaster University +44(0)1524/594.537
Lancaster, LA1 4YR, UK Fax:+44(0)1524/593.608
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-