[NTG-context] please add support for Korean language in unic-cjk.tex

Hans Hagen pragma at wxs.nl
Wed Nov 22 11:02:28 CET 2006


Dohyun Kim wrote:
> Hi.
>
> Recently I have tried to support typesetting UTF-8 Korean language
> along with context-beta. I have uploaded related files
> to a temporary server for your reference (3.5Mb):
>
> http://210.94.201.157/~nomos/KTUG/context-korean-test.tar.gz
>
> But as the current unic-cjk.tex does not cover
> Korean Hangul Syllables area and CJK Compatibility Ideographs area,
> I have to edit that file every time I upgrade context.
> It is so an annoying thing to do it every time
> that I suggest adding those areas in unic-cjk.tex file,  like this:
>
> %%% Hangul Syllables
> \dostepwiserecurse{172}{215}{1}{\expanded{\defineunicodecommand
> {\recurselevel}} {\lookaheaduchar}}
> %%% CJK Compatibility Ideographs
> \dostepwiserecurse{249}{250}{1}{\expanded{\defineunicodecommand
> {\recurselevel}} {\lookaheaduchar}}
>
>   
ok, done

> Additionally, I here report some possible bugs of context-beta
> related to CJK (especially Korean language) support.
>
> First, unintended space is inserted when I change font family.
> This disappears if I add a comment sign in \enableunicodefont
> command in font-uni.tex.
>
> \def\enableunicodefont#1%
>   {\definefontsynonym[\s!Unicode][\getvalue{\??uc#1\c!file}]%
>    \def\unicodescale             {\getvalue{\??uc#1\c!scale}}%
>    \def\unicodeheight            {\getvalue{\??uc#1\c!height}}%
>    \def\unicodedepth             {\getvalue{\??uc#1\c!depth}}%
>    \def\unicodedigits            {\getvalue{\??uc#1\c!conversion}}%
>    \def\handleunicodeglyph       {\getvalue{\??uc#1\c!command}}%
>    \doifnot\currentregime{utf}{\enableregime[unicode]}%
>    % the following \relax's are realy needed
>    \doifvalue{\??uc#1\c!interlinespace}\v!yes
>       \setupinterlinespace\relax
>    \doifvalue{\??uc#1\c!strut}\v!yes
>       {\setunicodestrut\unicodeheight\unicodedepth}% <- HERE
>       {\resetunicodestrut}%
>    \getvalue{\??uc#1\c!commands}\relax}
>
>   
ah, it's actually someting else that's wrong:

\doifvalue -> \doifelsevalue

   \doifelsevalue{\??uc#1\c!strut}\v!yes
      {\setunicodestrut\unicodeheight\unicodedepth}
      {\resetunicodestrut}%

in the wrong case indeed the space is visible, else not; this bug went 
unnoticed because the reset is grouped in the wrong case

> Secondly, to deal with special commands in pdf bookmarks,
> "\simplifycommands" should be added to \sanitizePDFuniencoding
> command in spec-tst.tex.
>
> \long\def\sanitizePDFuniencoding#1\to#2%
>   {\enablePDFunicrlf
>     \simplifycommands  % <- HERE
>    \let\unicodechar\relax % prevent further expansion
>    \retainlccodes\lccode32=255 % slooow
>    \lowercasestring\PDFunicodetrigger#1\to#2%
>    \edef#2{\expandafter\doPDFuni#2\empty\empty}} % slooow
>
>   
ok, remind me to clean this up when mkiv comes around
> Thirdly, "\definefileinsertion{tpd}{mps}" in spec-dpx.tex
> seems to be a typo. I think this should be corrected as follows:
>
> \definefileinsertion{dpx}{mps}
>
>   
ok
> In fact, as an unsubscribed user I have posted a similar message
> to the context mailinglist a few weeks ago . But I did not obtain
> any response then. Now being subscribed, I repost it.
>
>   
and it gets read -) 

i'll make a new current release that you can test in an hour from now 

Hans 

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------



More information about the ntg-context mailing list