# [Cjk] CJKvert and horizontal dash transformation?

Gernot Hassenpflug gernot at nict.go.jp
Thu Jul 19 09:16:54 CEST 2007

Werner LEMBERG <wl at gnu.org> writes:

>> Thank you for the solution, and I volunteer myself for the task.
>
> Great!
>
>> For correspondence (questions if I get stuck) should I use this
>> thread, private mail, or another list?
>
> Please use this mailing list; it might be instructive for others too.

Hello Werner,

I spent quite some time reading the CJK documents, and browsing the
source code to the package files. However, I'm afraid I am missing
some basic knowledge still. Below is what I have tried to do. Note I
have CJK v.4.6.0 on in TeXLive 2007 with an Ubuntu Gutsy AMD64 system
at present.

>> c42goth.fdx <- translate to c70goth.fdx
>> c42maru.fdx <- translate to c70maru.fdx
>> c42min.fdx  <- translate to c70min.fdx

I took the c42*.fdx files from the JIS subdir of CJK, modified them to
become c70*.fdx (minor editing) and put them with the c70*.fd in the
UTF8 subdir. Then I ran "texhash" as root. As far as I can tell from
the various CJK documentation, that is all I need to run, and a LaTeX
run on my test file lists the .fdx file in the log, so it is found.

However, I do not get a converted hyphen unless I add the code you
suggested into my source file:

\expandafter\def\csname C70/min/rotate/v\endcsname{}
\expandafter\def\csname C70/min/offset/v\endcsname{.5em}
\expandafter\def\csname C70/min/m/n/30/252/v\endcsname{\CJKsymbolsimple{252}}

I was under the assumption that in the .fdx file the initial
\CJKvdef{rotate}{} command would use the graphicx package to do
rotation automatically on *all* characters, and that only desired
exceptions to this general rule would be given after that command
(using \CJKsymbolsimple for instance). As such, use of the .fdx file
requires the .fd file to be read also, right? But I cannot see where
the plane and code points are needed in either file unless exceptions
are specified in the .fdx file.

Next, in the file below, I see exceptions written for glyphs in plane
"sy", which would be a special name for something in DNP encoding,
right? Unfortunately, I cannot locate easily any information on what
these characters actually are when searching on Google for "DNP
encoding". I assume this is what you meant when you said the
translation involved "replacing the subfonts and glyph indices with
the Unicode pendants".

Any hints appreciated.

Best regards,
Gernot Hassenpflug

/../

> only c42*.fdx needs to be translated since the c52*.fdx files don't
> contain information on vertical glyph representation forms.

% This is the file c70min.fdx of the CJK package
%   for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
%
% modified from the file c42min.fdx (DNP encoding)
% created by Werner Lemberg <wl at gnu.org>
%
% Version 4.6.0 (11-Aug-2005)

\def\fileversion{4.6.0}
\def\filedate{2005/08/11}
\ProvidesFile{c70min.fdx}[\filedate\space\fileversion]

%% this should rotate all characters by default
\CJKvdef{rotate}{}
\CJKvdef{offset}{.5em}

%% here are some exceptions that should be treated differently
%% but the  -vvvv- plane and codes must be translated from DNP to Unicode.
\CJKvdef{m/n/sy/2}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{2}\hss}}
\CJKvdef{m/n/sy/3}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{3}\hss}}
\CJKvdef{m/n/sy/4}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{4}\hss}}
\CJKvdef{m/n/sy/5}{\raise .55em \hbox to 1em {\kern -.6em \CJKsymbol{5}\hss}}
\CJKvdef{m/n/sy/28}{\CJKsymbolsimple{28}}
\CJKvdef{m/n/sy/33}{\CJKsymbolsimple{33}}
\CJKvdef{m/n/sy/36}{\CJKsymbolsimple{36}}
\CJKvdef{m/n/sy/37}{\CJKsymbolsimple{37}}
\CJKvdef{m/n/sy/42}{\CJKsymbolsimple{42}}
\CJKvdef{m/n/sy/43}{\CJKsymbolsimple{43}}
\CJKvdef{m/n/sy/44}{\CJKsymbolsimple{44}}
\CJKvdef{m/n/sy/45}{\CJKsymbolsimple{45}}
\CJKvdef{m/n/sy/46}{\CJKsymbolsimple{46}}
\CJKvdef{m/n/sy/47}{\CJKsymbolsimple{47}}
\CJKvdef{m/n/sy/48}{\CJKsymbolsimple{48}}
\CJKvdef{m/n/sy/49}{\CJKsymbolsimple{49}}
\CJKvdef{m/n/sy/50}{\CJKsymbolsimple{50}}
\CJKvdef{m/n/sy/51}{\CJKsymbolsimple{51}}
\CJKvdef{m/n/sy/52}{\CJKsymbolsimple{52}}
\CJKvdef{m/n/sy/53}{\CJKsymbolsimple{53}}
\CJKvdef{m/n/sy/54}{\CJKsymbolsimple{54}}
\CJKvdef{m/n/sy/55}{\CJKsymbolsimple{55}}
\CJKvdef{m/n/sy/56}{\CJKsymbolsimple{56}}
\CJKvdef{m/n/sy/57}{\CJKsymbolsimple{57}}

\CJKvlet{bx/n/sy/2}{m/n/sy/2}
\CJKvlet{bx/n/sy/3}{m/n/sy/3}
\CJKvlet{bx/n/sy/4}{m/n/sy/4}
\CJKvlet{bx/n/sy/5}{m/n/sy/5}
\CJKvlet{bx/n/sy/28}{m/n/sy/28}
\CJKvlet{bx/n/sy/33}{m/n/sy/33}
\CJKvlet{bx/n/sy/36}{m/n/sy/36}
\CJKvlet{bx/n/sy/37}{m/n/sy/37}
\CJKvlet{bx/n/sy/42}{m/n/sy/42}
\CJKvlet{bx/n/sy/43}{m/n/sy/43}
\CJKvlet{bx/n/sy/44}{m/n/sy/44}
\CJKvlet{bx/n/sy/45}{m/n/sy/45}
\CJKvlet{bx/n/sy/46}{m/n/sy/46}
\CJKvlet{bx/n/sy/47}{m/n/sy/47}
\CJKvlet{bx/n/sy/48}{m/n/sy/48}
\CJKvlet{bx/n/sy/49}{m/n/sy/49}
\CJKvlet{bx/n/sy/50}{m/n/sy/50}
\CJKvlet{bx/n/sy/51}{m/n/sy/51}
\CJKvlet{bx/n/sy/52}{m/n/sy/52}
\CJKvlet{bx/n/sy/53}{m/n/sy/53}
\CJKvlet{bx/n/sy/54}{m/n/sy/54}
\CJKvlet{bx/n/sy/55}{m/n/sy/55}
\CJKvlet{bx/n/sy/56}{m/n/sy/56}
\CJKvlet{bx/n/sy/57}{m/n/sy/57}

\endinput
--
Gernot Hassenpflug, NICT, Tokyo