## Scripts to support CJK-LaTeX

by Mike Fabian <mfabian@suse.de>

The tiny Perl-script '`sfd2map`' converts `.sfd` files (as used by CJK-LaTeX) to `.map` files (as used by ttf2pt1).

Actually I currently don't use that script stand-alone for performance reasons.

Currently I use such a conversion in another small script '`cjk-latex-config`' (attached as well) which creates `.tfm` files usable with CJK-LaTeX from TrueType fonts as listed in `/etc/ttf2pk/ttfonts.map`. When called like
`cjk-latex-config --type1`
this script will use ttf2pt1 to generate `.pfb` files as well from these TrueType fonts to be used with CJK-LaTeX.

The `.sfd` files cannot be directly used as input to ttf2pt1 because the format of the `.map` files which ttf2pt1 expects is slightly different, therefore I made the '`sfd2map`' converter script.

But then I noticed that I would have to parse the generated map file *again* to get a list of the plane numbers to use. That seemed to be a bit wastful because I had just parsed the `.sfd` file to convert it to `.map`, therefore I included `sfd2map` as a function in '`cjk-latex-config`' as well and collected the plane numbers during the conversion.

But '`cjk-latex-config`' is maybe a little bit SuSE specific, therefore I kept '`sfd2map`' also as a standalong script. Use it if you like.

'`cjk-latex-config`' calls another small script '`cjk-latex-t1mapgen`' to generate a `cjk-latex.map` file containing something like
`cyberb00 BitstreamCyberbit-Roman-00 <cyberb00.pfb`
`cyberb01 BitstreamCyberbit-Roman-01 <cyberb01.pfb`
`cyberb02 BitstreamCyberbit-Roman-02 <cyberb02.pfb`
`[...]`
after all `.pfb` files have been generated.

Maybe this is also SuSE specific, I'm not sure about in what directories the relevant files are stored on other Linux-like systems.

I'm not yet sure whether they work on other systems beside SuSE Linux. They have hard coded path names where to find the TrueType fonts, `ttfonts.map`, the TeX fonts etc and `cjk-latex-config` checks whether freetype-tools.rpm is installed. freetype-tools.rpm might have another name for other distributions and for distributions which don't use rpm this check can't work anyway.

These are small details and it should not be difficult to adapt the scripts for other Linux-like systems though.