Info file: VFlib-36.info,    -*-Text-*-
produced by `texinfo-format-buffer'
from file `VFlib-36.texi'
using `texinfmt.el' version 2.38 of 3 July 1998.





 




File: VFlib-36.info, Node: PCF font class, Next: HBF font class, Prev: BDF font class, Up: Writing a vflibcap

PCF font class
==============

Font class name: `pcf'


Other specification is the same as BDF font class except font class
name is `pcf'.





File: VFlib-36.info, Node: HBF font class, Next: TrueType font class, Prev: PCF font class, Up: Writing a vflibcap

HBF font class
==============

Font class name: `hbf'


Other specification is the same as BDF font class except font class
name is `hbf'.





File: VFlib-36.info, Node: TrueType font class, Next: Type1 font class, Prev: HBF font class, Up: Writing a vflibcap

TrueType font class
===================

TrueType is a vector font font format.  This font class supports
implicit fonts but does not support compressed font files.
TrueType font driver uses FreeType library version 1.2
developed by David Turner, Robert Wilhelm, and Werner Lemberg.
See `http://www.freetype.org/' for detail.


Font class name: `truetype'


Capabilities for font class default:


`font-directories' (optional)
     --- A list of font directories.
     This driver supports font file search by kpathsea.  To search a
     font file by kpathsea, use `TEXMF' for a directory name.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`aspect-ratio' (optional)


`hinting' (optional)
     --- If the value of capability `on', "hinting" information is
     used to render characters. This is effective when small
     characters are rendered. If the value is `off', hinting is
     disabled.  Hinting information is used by default.

     Note that enabling hinting has effect when obtaining bitmaps.  It
     has no effect when you obtain and rasterize outline data in VFlib
     format, since VFlib outline format does not supports hinting
     information.

`platform-id' (optional)
     --- A TrueType font can have multiple character code - 
     glyph mapping tables.  A mapping table is selected by specifying
     a pair of platform ID (`Microsoft', `Macintosh', etc) and
     encoding ID (`Unicode', `Shift-JIS', etc).  This capability is
     used to specify platform ID of a mapping table to be selected.

     Value of this capability is one of strings below:
     `apple'
             Apple platform
     `macintosh', `mac'
             Macintosh platform
     `ascii', `iso'
             ISO platform
     `microsoft', `windows', `ms'
             Microsoft platform
     `any', `?', `*'
             Any platform

     Default value for this capability is Microsoft platform.

     example: `(platform-id "microsoft")'

`encoding-id' (optional)
     --- Together with platform id, this capability is used to specify
     a mapping table.

     When ISO platform is selected by the `encoding-id' 
     capability, 
     value of this `encoding-id' capability is one of strings below:


     `ascii'
             ASCII encoding.
     `iso10464'
             ISO 10464 encoding.
     `iso8859-1'
             ISO8859-1 encoding.
     `any', `?', `*'
             Any encoding.


     When Apple platform is selected by the `encoding-id' 
     capability, 
     value of this `encoding-id' capability is one of strings below:


     `unicode1.1'
             Unicode 1.1 encoding.
     `unicode2.0'
             Unicode 2.0 encoding.
     `iso10464'
             ISO 10464 encoding.
     `any', `?', `*'
             Any encoding


     When Microsoft platform is selected by the `encoding-id' 
     capability, 
     value of this `encoding-id' capability is one of strings below:


     `symbol'
     `unicode'
            Unicode encoding.
     `shift-jis', `sjis', `ms-kanji'
            Shift JIS encoding.
     `big5'
            Big5 encoding.
     `rpc'
     `wansung'
     `johab'
     `any', `?', `*'
             Any encoding


     When Macintosh platform is selected by the `encoding-id'
     capability, value of this `encoding-id' capability is one of
     strings below:

     `roman'
     `japanese'
     `traditional-chinese'
     `korean'
     `arabic'
     `hebrew'
     `greek'
     `russian'
     `any', `?', `*'
             Any encoding

     example: `(encoding-id "any")'

`properties' (optional)

`variable-values' (optional)




Capabilities for font definition:


`font-class' (essential)
     This value must be "truetype".

`font-directories' (optional)
     ---  A list of font directories for searching font files.
     Recursive searching of font files is support.  A font file is
     searched in the directories by this capability.  If not found,
     then a font is searched in a directories given by the class
     default.

     To search a font file by kpathsea, use `TEXMF' for a directory
     name.

`font-file' (optional)

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`magnification' (optional)

`aspect-ratio' (optional)


`hinting' (optional)

`font-number' (optional)

`encoding-force' (optional)
     --- In case encoding id data is broken in a TrueType font,
     its value can be overridden by this capability.

     example `(encoding-force "unicode")'

`character-set' (optional)
     --- Together with `encoding' capability, this capability
     is used to change "external view" of a font.  A font would be a
     font of a character set given by this capability and encoding
     given by `encoding' capability.  Conversion of font internal
     character set and encoding to an external view is determined by
     these capability.  Conversion is done by by code conversion
     system, called CCV.  *Note Code conversion system:: Code
     conversion files are specified in `code-conversion-files' in
     `VFlib' font class default.  See *Note VFlib defaults::.

     For example, a font of JIS X 0208 character set (a Japanese
     character set) in Shift-JIS encoding fonts can be accessed as a
     JIS encoding font.

`encoding' (optional)
     --- Together with `character-set' capability, 
     this capability defines a external view of a font.  *Note Code
     conversion system::

`properties' (optional)

`jisx0212-row47-empty-sjis' (optional)
     --- This capability is used for an ad-hoc solution to handle 
     JIS X 0212 fonts with non-standard encoding such that row 47 is
     empty and followed rows are shifted by one.  (That is, Kanjis in
     row 48 of JIS X 0212 appeard in row 49 in such fonts.)  JIS X
     0212 fonts of Ricoh TrueTypeWorld ValueFont DX are such fonts.
     If `yes' is given to this capability, buggy encoding is virtually
     fixed.

     This capability can apply to other products of buggy encoded JIS
     X 0212 fonts whose internal encoding is Shift JIS.  (Use `ftdump'
     utility of FreeType package to check internal encoding scheme of
     fonts.)






File: VFlib-36.info, Node: Type1 font class, Next: Zeit font class, Prev: TrueType font class, Up: Writing a vflibcap

Type1 font class
================

Type1 is a vector font font format used by PostScript.  This font
class supports implicit fonts but does not support compressed font
files.  This Type1 font driver uses T1Lib library version 5.1 or later
developed by Rainer Menzner.  See
`http://www.neuroinformatik.ruhr-uni-bochum.de/ini/PEOPLE/rmz/t1lib/t1lib.html'
for detail.

Be careful, VFlib does not work with old T1Lib.  Obtain and install
T1Lib 5.1 or later.

Currently, this font driver supports only 8-bit encoded fonts, i.e.,
it does not support for fonts of Japanese Kanji characters.

The function `VF_GetOutline()' for Type1 font files is 
supported but the result is ugly.
Since T1Lib does not have a function to obtain outline data of a 
character in Type1 font, 
this font driver creates an outline data from a bitmap
(for compatibility). 
Thus, it is very ugly.
If your application software requires outline data, 
you are recommended to use the same font in other font format,
such as TrueType.
Thus, the outline obtained `VF_GetOutline()' function for Type1 font
should be used only when 
the same font in other font format is not available.


Font class name: `type1'


Capabilities for font class default:



`font-directories' (optional)
     --- A list of directories of Type1 font files.
     This driver supports font file search by kpathsea.  To search a
     font file by kpathsea, use `TEXMF' for a directory name.

`afm-directories' (optional)
     --- A list of directories of AFM files.
     Each element of this capability should not be a directory for
     recursive search (ending by //).  This is why AFM files are
     searched by inside of T1Lib, although Type1 font files are
     searched by a file search subsystem of VFlib.

`encoding-vector-directories' (optional)
     --- A list of directories of encoding files.
     Each element of this capability should not be a directory for
     recursive search (ending by //).  This is why encoding vector
     files are searched by inside of T1Lib.

     By default, directories `/usr/local/share/VFlib/X.Y.Z/t1lib/' and
     `/usr/local/share/VFlib/site/t1lib/' are registered.  Optional
     directories can be installed by this capability.

     T1Lib adopts file format for encoding vector file.  When we want
     to use encoding vector files supplied by `dvips', we must convert
     them into T1Lib format.  To automate this, you can use a Unix
     Shell script `mkt1enc.sh' which is in
     `/usr/local/share/VFlib/X.Y.Z/t1lib/' directory.  Encoding vector
     files for `dvips' are converted into T1Lib format and they are
     also installed in this directory.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`aspect-ratio' (optional)

`log-level' (optional)
     --- Select logfile output type of T1Lib.
     The filename of a logfile is `t1lib.log'.  If this capability is
     not given, the logfile is not created.

     `error'
            Only error messages are written to the logfile.
     `warning'
            Warning messages and error messages are written to the
          logfile.
     `statistics'
            Statistics messages and above written to the logfile.
     `debug'
            Any messages useful for debugging and above are written to
          the logfile.
     `none'
            Never use a logfile.

     See users manual of T1Lib for detail.

`properties' (optional)

`variable-values' (optional)


Capabilities for font definition:


`font-class' (essential)
     This value must be "type1".

`font-file' (optional)
     A list of font file names.  Font file is searched in the listed
     order until existing font files is found.

     example: `(font-file "AvantGarde-Book" "a0100131.pfb")'

     By this example, `AvantGarde-Book' is seached first.  If it
     exists, it is opened.  Otherwise, `a0100131.pfb' is seached next.
     If it exists, it is opened.  If it does not exist either, font
     open fails.

`encoding-vector' (optional)
     A file name for encoding vector.  This file must be reside in a
     directoy listed by `encoding-vector-directories' capability for
     type1 font class default.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`magnification' (optional)

`aspect-ratio' (optional)

`slant-factor' (optional)
     --- Slant factor of a font.
     This value is tan(TH), where TH is slant angle of a font.
     Default value is 0, in case of TH is 90 degree.

     example: `(slant-factor 0.2)'


`properties' (optional)






File: VFlib-36.info, Node: Zeit font class, Next: JG font class, Prev: Type1 font class, Up: Writing a vflibcap

Zeit font class
===============

This font class supports "Syotai Kurubu" format; it is a vector font
format for Japanese Kanji characters.

Several free Japanese fonts in this file format are available.

   * Umeda vector fonts
        - `ftp://ftp.web.ad.jp/pub/TeX/akiu/fonts/umeda-vector/mincho.vf1.gz'
        - `ftp://ftp.web.ad.jp/pub/TeX/akiu/fonts/umeda-vector/mincho.vf2.gz'
        - `ftp://ftp.eos.hokudai.ac.jp/pub/TeX/fonts/umeda-vector-font/mincho.vf1.gz'
        - `ftp://ftp.eos.hokudai.ac.jp/pub/TeX/fonts/umeda-vector-font/mincho.vf2.gz'


   * Watanabe vector fonts
        - `ftp://ftp.web.ad.jp/pub/TeX/akiu/fonts/watanabe-vector/mincho.vf1.gz'
        - `ftp://ftp.web.ad.jp/pub/TeX/akiu/fonts/watanabe-vector/mincho.vf2.gz'
        - `ftp://ftp.eos.hokudai.ac.jp/pub/TeX/fonts/watanabe-vector-font/mincho.vf1.gz'
        - `ftp://ftp.eos.hokudai.ac.jp/pub/TeX/fonts/watanabe-vector-font/mincho.vf2.gz'


   * Wadalab fonts
        - `ftp://ftp.web.ad.jp/pub/TeX/akiu/fonts/wadalab-vector/'
        - `ftp://ftp.eos.hokudai.ac.jp/pub/TeX/fonts/wadalab-vector-font/'
        - See also `ftp://ftp.ipl.t.u-tokyo.ac.jp/Font/' for Free
          Japanese Kanji fonts in Type 1 formats.

This font class does not support compressed font files nor implicit fonts.


Font class name: `zeit'


Capabilities for font class default:


`font-directories' (optional)

`filename-extensions' (optional)
     --- Two file files form a font for this font class, e.g., `mincho.vf1'
     and `mincho.vf2'. Extension candidates without digit must be the
     value for this capability.

     example: `(filename-extensions ".vf" ".VF")'

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`aspect-ratio' (optional)

`writing-direction' (optional)
     --- Default writing direction. 
     `Horizontal' or `vertical'; default is `Horizontal'.  This is the
     same as `(vector-to-bbx-upper-left 0.0 0.86)' and
     `(vector-to-next-ref-point 1.0 0.0)' if value of this capability
     is "horizontal".  Otherwise, it is the same as
     `(vector-to-bbx-upper-left -0.5 0.0)' and
     `(vector-to-next-ref-point 0.0 -1.0)'.

`vector-to-bbx-upper-left' (optional)
     --- Default value of a vector from the reference point of a character to
     upper-left bounding box. Right and up are positive directions.

     example: `(vector-to-bbx-upper-left 0 0.86)'

`vector-to-next-ref-point' (optional)
     --- Default value of a vector from the reference
     point to next reference point.

     example: `(vector-to-next-ref-point 1.0 0.0)'

`properties' (optional)

`variable-values' (optional)



Capabilities for font definition:

`font-class' (essential)
     --- A font class name.

`font-name' (optional)
     --- Font file name without extensions.
     Together with vale and extension given by default description,
     font file names are formed.  For example, if `mincho' is given
     for the `font-name' capability and `(".vf")' is given for the
     `filename-extensions' capability, then font files `mincho.vf1'
     and `mincho.vf2' are used.

     example: `(font-name "mincho")'

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`magnification' (optional)

`aspect-ratio' (optional)

`writing-direction' (optional)

`vector-to-bbx-upper-left' (optional)

     example: `(vector-to-bbx-upper-left 0 0.86)'

`vector-to-next-ref-point' (optional)

     example: `(vector-to-next-ref-point 1.0 0.0)'

`properties' (optional)





File: VFlib-36.info, Node: JG font class, Next: eKanji font class, Prev: Zeit font class, Up: Writing a vflibcap

JG font class
=============

JG font format is a vector font format for Japanese character sets
JIS X 0208. JG font driver is based on the work by Hideo Morishita.


Font class name: `jg'


Capabilities for font class default:


`filename-extensions' (optional)
     --- Three files form a font for this font class, e.g., `mincho.fn0',
     `mincho.fn1', and `mincho.fn2'.  Extension candidates without
     digit must be the value for this capability.

     example: `(filename-extensions ".fn" ".FN")'

(Other capabilities are the same as `zeit' font class.)

Capability for font definition:

Capabilities are the same as `zeit' font class.





File: VFlib-36.info, Node: eKanji font class, Next: TeX default and TeX font mapping font class, Prev: JG font class, Up: Writing a vflibcap

eKanji font class
=================

The eKanji font format is a bitmap font format for Kanji characters.
The first character in an eKanji font file has code point 1, and the
second character has code point 2.  That is, characters in an eKanji
font are numbered sequentially starting from 1.  (This encoding scheme
can be changed by setting some capabilities.)

eKanji font files are distributed at the following URL:
`http://www.zinbun.kyoto-u.ac.jp/~ekanji/' The distribution package
contains the following font files.


   * Unicode (`ekan0010.d24')

   * Kyoto University KangXi (`ekan0020.d24')

   * Morohashi DaiKanwa (`ekan0030.d24')

   * JIS X 0208 (`jisx9052.d24')



Font class name: `ekanji'

Capabilities for font class default:

`font-directories' (optional)

`font-dot-size' (optional)
     --- Dot size of characters in the font file.
     Default value is 24.

     example: `(font-dot-size 24)'

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`aspect-ratio' (optional)

`writing-direction' (optional)
     --- Default writing direction. 
     `Horizontal' or `vertical'; default is `Horizontal'.  This is the
     same as `(vector-to-bbx-upper-left 0.0 0.92)' and
     `(vector-to-next-ref-point 1.0 0.0)' if value of this capability
     is "Horizontal".  Otherwise, it is the same as
     `(vector-to-bbx-upper-left -0.5 0.0)' and
     `(vector-to-next-ref-point 0.0 -1.0)'.

`vector-to-bbx-upper-left' (optional)
     --- Default value of a vector from the reference point of a character to
     upper-left bounding box. Right and up are positive directions.

     example: `(vector-to-bbx-upper-left 0 0.90)'

`vector-to-next-ref-point' (optional)
     --- Default value of a vector from the reference
     point to next reference point.

     example: `(vector-to-next-ref-point 1.0 0.0)'

`properties' (optional)

`variable-values' (optional)




Capability for font definition:

`font-class' (essential)
     --- A font class name.

`font-name' (optional)
     --- Font file name with extension.

`font-dot-size' (optional)
     --- Dot size of characters in the font file.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`dpi-x' (optional)

`dpi-y' (optional)

`magnification' (optional)

`aspect-ratio' (optional)

`character-set' (optional)
`encoding' (optional)
`font-character-set' (optional)
`font-encoding' (optional)
     --- Select code conversion.
     If you want to access a eKanji font by ISO-2022 (JIS) encoding
     scheme, define `eKanji' for `character-set', `ISO2022' for
     `encoding', `eKanji' for `font-character-set', and
     `SEQUENTIAL2-1' for `encoding'.  Then the first character in the
     eKanji font is accessed by code point 0x2121.

`mock-font-encoding' (optional)
     --- By this capability, encoding of an eKanji font file is virtually changed.
     This capability requires an argument and parameter.  There are
     three keywords for an argument:


        * `raw' No effect, i.e., font encoding is not changed.

        * `subblocks-94x94' B An eKanji font file is virtually divided
          by 94x94 sub blocks (blocks of 94x94 = 8836 characters) and
          selects B-th block for this font definition.  This implies
          that an eKanji font file with this capability offers only
          8836 (= 94x94) characters among all the characters of an
          eKanji font file.  The first sub block is numbered zero.  (A
          font with B = 0 for this capability selects the first sub
          block.)

          Characters with character code from 8836*B+1 to 8836*B+8836
          in an eKanji font file is accessed by character code from
          0x2121 to 0x7e7e.

        * `subblocks-94x60' B This is similar to the case for
          `subblocks-94x60'.  An eKanji font file is virtually divided
          by 94x60 sub blocks (blocks of 94x60 = 5640 characters) and
          selects B-th block for this font definition.  The first sub
          block is numbered zero.

          Characters with character code from 5640*B+1 to 5640*B+5640
          in an eKanji font file is accessed by character code from
          0x3021 to 0x4e7e (first 30 rows) and from 0x5021 to 0x6e7e
          (another 30 rows).  (This division scheme is the same as
          Mojikyo scheme.)

        * `with-offset' OFFS An offset value OFFS is added to obtain
          character code of a character in an eKanji font file.  When
          OFFS is `-0x4dff', the first character in an eKanji font
          file is accessed by code number 0x4e00, since 0x4e00 +
          (-0x4dff) = 1.


     Theoretically, the same functionality shown above can be
     implemented within the CCV subsystem framework *Note Code
     conversion system::, the eKanji font driver defines this
     capability, since the eKanji font file format adopts curious
     character encoding scheme and it seems to be simpler and cleaner
     to define this capability.

`writing-direction' (optional)

`vector-to-bbx-upper-left' (optional)

     example: `(vector-to-bbx-upper-left 0 0.86)'

`vector-to-next-ref-point' (optional)

     example: `(vector-to-next-ref-point 1.0 0.0)'

`properties' (optional)






File: VFlib-36.info, Node: TeX default and TeX font mapping font class, Next: PK font class, Prev: eKanji font class, Up: Writing a vflibcap

TeX default and TeX font mapping font class
===========================================

This is a special font class to define common default values of
TeX-related font classes.

This font class has a feature to map a requested font to another font.
Thus, this class is also called "TeX font mapping class" or "TeX font
mapper".  TeX-related font classes include the followings: GF, PK,
TFM, VF, ASCII Japanese TeX.

This font class supports only implicit fonts and explicit fonts is not
supported.  Therefore, the driver name of this font class must be
given in `extension-hints' and/or `implicit-font-classes' capabilities
in the `VFlib' default description if you want to use the font mapping
feature of this class.

Mapped font is recursively (recursively) requested to open and
any operations such as obtaining bitmaps on the requested font are
applied on the mapped font.


Font class name: `TeX'


Capabilities for font class default:



`dpi' (optional)
     --- Default device resolution for TeX-related fonts.

`tfm-directories' (optional)
     --- A list of  directories of TFM files. 
     Directories listed by this capability is used for searching TFM
     files.  If a directory name is `TEXMF', kpathsea is invoked to
     search a file.

     example: `(tfm-directories "TEXMF"
     "/usr/local/share/font/tfm//")'

`tfm-filename-extensions' (optional)
     --- A list of extensions of filenames for TFM files.
     This is used to construct a TFM file name, e.g., "cmr10.tfm" for
     a font "cmr10".

     example: `(tfm-filename-extensions "tfm")'

`font-mapping' (optional)
     --- Font mapping rules are described in this capability.
     When a font is requested to open (as an implicit font), the font
     name is mapped to another name and specified font driver is
     requested to open the mapped font.

     Syntax of this capability is as follows:
          (font-mapping
            ((DRIVER-NAME MAPPING-FORMAT FONT-OPEN-OPTIONS) ... 
             FONT-NAME FONT-NAME ...)
            ((DRIVER-NAME MAPPING-FORMAT FONT-OPEN-OPTIONS) ... 
             FONT-NAME FONT-NAME ...)
            ...) 

     Thus, value for this capability is a sequence of items
     `((DRIVER-NAME MAPPING-FORMAT FONT-OPEN-OPTIONS) ...  FONT-NAME
     FONT-NAME ...)', and this forms a mapping rule.  FONT-NAME is a
     font name and this rule applies if requested font name matches
     FONT-NAME.  (FONT-NAME is a name without directory and extension
     parts.  A font name requested to open is compared with FONT-NAME
     by deleting directory and extension parts.)  If FONT-NAME
     contains `*' character, it matches to the rest of requested font
     name.  For example, `cm*' matches `cmr10' and `cmbx10'.  Thus, in
     case FONT-NAME is `*', all fonts matches and thus all fonts
     applies the rule.

     The font name is mapped according to the format MAPPING-FORMAT
     and mapped name is opened by calling a font driver DRIVER-NAME.
     `VF_OpenFont1()' and `VF_OpenFont2()' are not used.  (As a
     special case, when DRIVER-NAME is `*', `VF_OpenFont1()' or
     `VF_OpenFont2()' is used to open a mapped font.)

     The syntax of MAPPING-FORMAT is similar to a format string of
     `printf()' function in C library, but conversion characters and
     semantics are different.  Conversion specification is introduced
     by `%' character.  Non-conversion characters are simply copied
     and conversion specifications are substituted for the following:

     `%%' `%' character `%f' the requested font name without extension
     and directory parts.  `%d' font file resolution part in the
     extension of the requested font name `%e' file format part in the
     extension of the requested font name For instance, let
     `/foo/bar/qwe.300pk' is the requested font name.  Then `%f' is
     `qwe', `%d' is `300', and `%e' is `pk'.  A conversion
     specification will be null string if corresponding substring does
     not exist.

     In general, mapped fonts are opened with the same parameters
     (device resolution, magnification factors, point or pixel size)
     of the requested font.  Such parameters can be changed by
     optional FONT-OPEN-OPTIONS part.  Following descriptions can be
     used for FONT-OPEN-OPTIONS:

     We can specify multiple `(DRIVER-NAME MAPPING-FORMAT
     FONT-OPEN-OPTIONS)' in a rule description.  This is useful if we
     need to write multiple mapping rules for the same set of fonts.

     A font is opened by the following way.
       1. For each rule (from the first one to the last one), the
          requested font name is checked if the rule applies to the
          font.  If the rule does not apply, check next rule.

       2. For each (DRIVER-NAME MAPPING-FORMAT FONT-OPEN-OPTIONS) in
          the rule, the requested font is mapped and font open is
          attempted.  If a mapped font is is successfully opened, it
          is used as a requested font.  Otherwise, next mapping
          (DRIVER-NAME MAPPING-FORMAT FONT-OPEN-OPTIONS) is attempted.
          This is repeated for a mapped font is opened.

       3. If mapped fonts are not opened, next rule is checked.  This
          is repeated for all rules until a mapped font is opened.


     example:
          (font-mapping
           ((ascii-jtex-kanji "%f.jtex")  
            "min*" "goth*" "tmin*" "tgoth*")
           ((type1 "%f.pfb" point-size-from-tfm (magnification-adjustment 1.0)) 
            *)
           ((pk "%f.%dpk") (gf "%f.%dgf") (tfm "%f.tfm")
            *))

     For this example, suppose that `min10.300pk' is requested to
     open.


       1. The first rule applies to the requested font since `min*' is
          in the font list.  The `ascii-jtex-kanji' driver is invoked
          to open a mapped name `min10.jtex'.  If it is opened, font
          open succeeds; `min10.jtex' is used as `min10.300pk' and
          font open finishes.  If the font is not opened, continue to
          the next step.

       2. The second rule applies to the requested font since `*' is
          given in the font list.  The `type1' driver is invoked to
          open a mapped name `min10.pfb'.  If it is opened,
          `min10.jtex' is used as `min10.300pk' and font open
          finishes.  If the font is not opened, continue to the next
          step.

       3. The second rule applies to the reqiested font since `*' is
          given in the font list.
            1. The `pk' driver is invoked to open a mapped name
               `min10.300pk'.  If it is not opened, next mapping is
               attempted.
            2. The `gf' driver is invoked to open a mapped name
               `min10.300gf'.  If it is not opened, next mapping is
               attempted.
            3. The `tfm' driver is invoked to open a mapped name
               `min10.tfm'.

     If everything above fails, font open for `cmr10.300pk' fails.


        * `point-size-from-tfm' (optional)
          --- When a mapped font is opened (in mode 1, high resolution oriented mode),
          point size which is obtained from a TFM file is given.  This
          is necessary when we use TrueType and/or Type1 fonts for
          mapped fonts.  For example, "cmr10.ttf" and "cmr10.pfb" in
          the BaKoMa font set do not have point size information,
          since TrueType and Type1 format fonts cannot have
          information on point size.

        * `(magnification-adjustment MAG)' (optional)
          --- Mapped fonts are opened with magnification factors magnified 
          by MAG.  This can be used to adjust size of mapped fonts.
          But most of the case, this is not necessary.


     As a restriction of fonts of this class, each font must have a
     TFM file.

`resolution-accuracy' (optional)
`resolution-corrections' (optional)
     --- According to arithmetic errors, DPI value for font files and
     computed value (= device resolution times magnification value)
     may be different.  These two capabilities give correct resolution
     values for PK and GF fonts.

     Syntax of these capabilities are as follows: (resolution-accuracy
     ACCURACY) (resolution-corrections (DEVICE-RESOLUTION
     FONT-RESOLION FONT-RESOLION ... ) (DEVICE-RESOLUTION
     FONT-RESOLION FONT-RESOLION ... ) ...)  DEVICE-RESOLUTION is the
     resolution of target device in DPI and FONT-RESOLUTION is a font
     resolution value.

     To find a font file, font resolution is computed by device
     resolution times magnification factor.  Then, this driver finds a
     list `(DEVICE-RESOLUTION FONT-RESOLUTION FONT-RESOLUTION ... )'
     such that DEVICE-RESOLUTION is the same as resolution of target
     device.  (If there is no such list is the capability value, font
     file resolution is not corrected and computed value is used.)

     For each FONT-RESOLUTION in the list, the driver checks if the
     computed font file resolution is in the range from
     FONT-RESOLUTION times (1-ACCURACY) to FONT-RESOLUTION times
     (1+ACCURACY).  If the computed resolution is in the range, font
     file resolution is changed to FONT-RESOLUTION.  Then, a font file
     is searched by the corrected font file resolution.

     example:
          (resolution-accuracy 0.02)
          (resolution-corrections
           (300  ;; cx
            300  329  360  432  518  622  746  896 1075 1290  240 270)
           (600  ;; ljfour
            600  657  720  864 1037 1244 1493 1792 2150 2580  480 540))

     Be careful not to map to the same name!  Otherwise, font open
     will be an infinite loop.  (VFlib restricts the depth of nested
     font open.  Even if the font name is mapped to the same name,
     VFlib will detects an error, anyway.)

`properties' (optional)

`variable-values' (optional)






File: VFlib-36.info, Node: PK font class, Next: GF font class, Prev: TeX default and TeX font mapping font class, Up: Writing a vflibcap

PK font class
=============

PK fonts are bitmap fonts used by TeX system.  PK font driver provides
a logical view of PK fonts when a font is requested to open as an
implicit font; if a given font filename is `cmr10.pk', requested
device resolution is 300 and magnification is 1.2, then PK font driver
looks for a font file `cmr10.360pk'.  Thus, font names (for font open)
should not be the same as font filenames on filesystems.

To search a font file, the kpathsea library can be used.  A special
name `TEXMF' in a list of font directories (capability
`font-directories') is used to search a file by kpathsea.

To enable kpathsea, the value for `use-kpathsea' capability in `VFlib'
class default must be `"Yes"'.

This font class supports compressed font files and implicit fonts.


Font class name: `pk'


Capabilities for font class default:


`font-directories' (optional)
     --- A list of directory names for font files.
     This driver supports font file search by kpathsea.  To search a
     font file by kpathsea, use `TEXMF' for a directory name.

`filename-extensions' (optional)
     --- A list of extensions of filenames for PK fonts.
     This is used to construct a font file name "cmr10.300pk" from
     "cmr10.pk" for 300 dpi fonts.

     example: `(filename-extensions "pk")'

`make-missing-glyph' (optional)
     --- Generate a PK font file from Metafont source file by running METAFONT
         on the fly, if a requested PK font file does not exist.
     example: `(make-missing-glyphs "yes")'

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`properties' (optional)

`variable-values' (optional)



Capabilities for font definition:


`font-class' (essential)
     --- A font class name.

`font-file' (optional)
     --- a font filename.  An extension (e.g., `.300pk') can be omitted.
     In case of this capability is not given, font name is used as
     this capability value.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`properties' (optional)

`magnification' (optional)




File: VFlib-36.info, Node: GF font class, Next: TFM font class, Prev: PK font class, Up: Writing a vflibcap

GF font class
=============


Font class name: `gf'


Other capabilities are the same as ones for `pk' font class.





File: VFlib-36.info, Node: TFM font class, Next: VF font class, Prev: GF font class, Up: Writing a vflibcap

TFM font class
==============

TFM files contains only metric information for typesetting TeX
documents.  This font class provides fonts whose metrics are defined
by TFM font files.  Since TFM files do not have glyph, glyph of a font
of this font class are (black or white) rectangles.  Fonts of this
font class can be used as substitutes of PK, GF, or VF files in case
they are missing.

If the file is not found, it is searched by `font-directories'
capability given in `TFM' font class default description.  Note that
the extension of font files (given by the `filename-extensions'
capability) has no effect for searching by kpathsea library.  The
extension of font files must be ".tfm".  See kpathsea manual for
detail.

This font class supports compressed font files and implicit fonts.


Font class name: `tfm'


Capabilities for font class default:


`font-directories' (optional)
     --- A list of directory names for font files.
     This driver supports font file search by kpathsea.  To search a
     font file by kpathsea, use `TEXMF' for a directory name.

`filename-extensions' (optional)

`glyph-style' (optional)
     --- Defines default glyph style: `empty' or `fill'.
     If `empty' is given, all glyph of a font are white rectangles.
     If `fill' is given, all glyph of a font are black rectangles.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`properties' (optional)

`variable-values' (optional)

Capabilities for font definition:

`font-class' (essential)
      -- A font class name.

`font-file' (optional)

`glyph-style' (optional)
     --- Defines glyph style: `empty' or `fill'.
     If `empty' is given, all glyph of a font are white rectangles.
     If `fill' is given, all glyph of a font are black rectangles.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`magnification' (optional)

`aspect-ratio' (optional)

`properties' (optional)





File: VFlib-36.info, Node: VF font class, Next: ASCII Japanese TeX Kanji font class, Prev: TFM font class, Up: Writing a vflibcap

VF font class
=============

This font class handles Virtual Font files.  A virtual font consists
of a font program and subfonts.  A font program in a vf file is
similar to DVI file formats.  Glyph of a virtual font are constructed
from a box instruction in a font program and glyph taken from
subfonts.  Therefore, this font class requires a font mapping rule to
obtain glyph from subfonts.  You can specify VFlib not to open
subfonts of a virtual font in case of subfonts are unavailable.

Font class name: `vf'

Capabilities for font class default:

`font-directories' (optional)
     --- A list of directory names for font files.
     This driver supports font file search by kpathsea library.  To
     search a font file by kpathsea library, use `TEXMF' for a
     directory name.

`filename-extensions' (optional)
     --- A extension string for virtual font files.

     example: `(filename-extensions "vf")'

`tfm-directories' (optional)

`tfm-filename-extensions' (optional)

`font-mapping' (optional)
     --- A set of rules for mapping for subfonts to open as an VFlib fonts. 
     This is the same as TeX font mapper, i.e., `font-mapping'
     capability for `TeX' font class default description.

     Be careful not to map to the same name!  Otherwise, font open
     will be an infinite loop.  (VFlib restricts the depth of nested
     font open.  Even if the font name is mapped to the same name,
     VFlib will detects an error, anyway.)


`open-style' (optional)
     --- This capability specifies how subfonts are opened.
     `none'
          --- Boxes are used instead of glyph of subfonts.
          Subfonts are not opened.
     `try'
          --- The virtual font driver tries to open each subfont.
          If subfonts are opened, glyph are taken from opened
          subfonts.  If some subfonts are not opened, boxes are used
          instead of glyph of such subfonts.  It is not an error even
          if all subfonts are not opened.
     `require'
          --- The virtual font driver tries to open each subfont.
          It is an error if every subfont is not opened.


`glyph-style' (optional)
     --- In case boxes are used instead of glyph of subfonts,
     this capability controls the looks of boxes.
     `empty'
          --- Boxes are white, i.e., all pixels are value 0.
     `fill'
          --- Boxes are black, i.e., all pixels are value 1.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`properties' (optional)

`variables' (optional)

`debug' (optional)


Capabilities for font definition:

`font-file' (optional)
     --- File name of a virtual font.

`point-size' (optional)

`pixel-size' (optional)

`dpi' (optional)

`magnification' (optional)

`properties' (optional)






File: VFlib-36.info, Node: ASCII Japanese TeX Kanji font class, Next: Japanese comic font class, Prev: VF font class, Up: Writing a vflibcap

ASCII Japanese TeX Kanji font class
===================================

This is for Kanji fonts of Japanese TeX localized by ASCII Co.  This
font driver provides Kanji fonts that can be accessed as if they were
PK fonts by using another VFlib font.  Font metrics of Kanji
characters defined by ASCII jTeX may not match that of a Kanji font to
be used.  This case happens when `jiskan24.pcf' font is used as a
Japanese Kanji font for TeX.  This font driver works as a *filter*
that modifies font metrics of another font.  Change of font metrics is
defined by an external file called `adjustment file'.  See sample
distribution of adjustment files for their syntax.  (Not documented
now...)

Font metrics of a font of this class is defined by a TFM font; a
vector to the next reference point is taken from a TFM file.  A vector
to upper left corner of a bitmap is taken from subfont.  Then, font
metrics is modified according to an adjustment file.

This driver supports vertical writing.  In case fonts for vertical
writing are not available, the driver rotates glyph of some
characters, e,g, parenthesis, to yield (possible) correct glyph.


Font class name: `ascii-jtex'

Capabilities for font class default:


`implicit-font-mapping-suffix' (optional)
     --- A suffix to map a font name for searching an implicit font.
     Suppose a font is requested to open.  Then, font name is mapped
     in such a way that extension is deleted and the suffix given by
     this capability is added. Then, an vflibcap entry of the mapped
     name is searched. If such an entry exists, it is used for the
     implicit font and the font is opened as if it were an explicit
     font.  (Note that a font of the mapped name must exist as an
     explicit font, not as an implicit font.)

     Suppose `min10.400pk' is requested to open as an implicit font
     and the value of this capability is `.jtex'.  Then mapped name is
     `min10.jtex' and it is opened by this font driver internally.

     example: `(implicit-font-mapping-suffix ".jtex")'

`tfm-directories' (optional)

`tfm-filename-extensions' (optional)

`properties' (optional)

`variable-values' (optional)

Capabilities for font definition:

`font-class' (essential)
     --- A font class name.

`kanji-font' (optional)
     --- Font name for a subfont.

`kanji-font-point-size' (optional)
     --- Default point size of subfont.
     If point size is not explicitly given when a font is opened, This
     value is used.
  
`kanji-font-pixel-size' (optional)
     --- Default pixel size of a subfont.
     If pixel size is not explicitly given when a font is opened, This
     value is used.

`kanji-font-magnification' (optional)
     --- magnification factor for subfont.

`tfm-file' (optional)
     --- TFM file that defines font metrics of a font.

     example: `(tfm-file "min10.tfm")'
 
`metric-adjustment-file' (optional)
     --- a file name for font metric adjustment file.

`properties' (optional)




File: VFlib-36.info, Node: Japanese comic font class, Next: Try font class, Prev: ASCII Japanese TeX Kanji font class, Up: Writing a vflibcap

Japanese comic font class
=========================

This font driver composes two Japanese Kanji fonts.  According to code
point (Kana or kanji character), one of two font is selected to obtain
a bitmap or metric.  This font class provides Japanese fonts that
composes Kana and Kanji font.

Font class name: `japanese-comic'

Capabilities for font class default:

`point-size' (optional)
`pixel-size' (optional)
`dpi' (optional)
`properties' (optional)
`variable-values' (optional)

Capabilities for font definition:

`font-class' (essential)
     --- A font class name.

`kanji-font' (optional)
     --- A VFlib font name for Kanji characters.
     For code points for Kanji characters, this font is used to obtain
     bitmaps and metrics.

`kana-font' (optional)
     --- A VFlib font name for Kana font
     (code point: 0x2121 ... 0x287f).  For code points except Kanji
     characters, this font is used to obtain bitmaps and metrics.

`symbol-font' (optional)
     --- A VFlib font name for symbol characters
     (code point: 0x2121 ... 0x227f).  If this capability is not
     given, a font given by `kana-font' is used for symbol characters.

`alpha-numeric-font' (optional)
     --- A VFlib font name for alphabet and numeric characters
     (code point: 0x2321 ... 0x237f).  If this capability is not
     given, a font given by `kana-font' is used for alphabet and
     numeric characters.

`hirakana-font' (optional)
     --- A VFlib font name for Hirakana characters
     (code point: 0x2421 ... 0x247f).  If this capability is not
     given, a font given by `kana-font' is used for Hirakana
     characters.

`katakana-font' (optional)
     --- A VFlib font name for Katakana characters
     (code point: 0x2521 ... 0x257f).  If this capability is not
     given, a font given by `kana-font' is used for Katakana
     characters.

`greek-font' (optional)
     --- A VFlib font name for Greek characters
     (code point: 0x2621 ... 0x267f).  If this capability is not
     given, a font given by `kana-font' is used for Greek characters.

`cyrillic-font' (optional)
     --- A VFlib font name for Cyrillic characters
     (code point: 0x2721 ... 0x277f).  If this capability is not
     given, a font given by `kana-font' is used for Cyrillic
     characters.

`keisen-font' (optional)
     --- A VFlib font name for Keisen characters
     (code point: 0x2821 ... 0x287f).  If this capability is not
     given, a font given by `kana-font' is used for Keisen characters.


`point-size' (optional)
`pixel-size' (optional)
`dpi' (optional)
`magnification' (optional)
`properties' (optional)





File: VFlib-36.info, Node: Try font class, Next: Mojikyo font mapping class, Prev: Japanese comic font class, Up: Writing a vflibcap

Try font class
==============

A font of this font class has a list of *sub-fonts*.  When a font of
this class is requested open, the try font driver tries to open the
sub-fonts one after another until one of them is successfully opened.
If all sub-fonts in the list are not opened, the font is failed to be
opened.  All font operation of the font is applied to an opened
sub-font.


Font class name: `try'

Capabilities for font class default:

`properties' (optional)
`variable-values' (optional)

Capabilities for font definition:

`font-class' (essential)
     --- A font class name. 
     This must be `try'.

`font-list' (optional)
     --- A list of sub-fonts.  
     These fonts are VFlib fonts, not a font file names.

`point-size' (optional)
`pixel-size' (optional)
`dpi' (optional)
`magnification' (optional)
`properties' (optional)





File: VFlib-36.info, Node: Mojikyo font mapping class, Next: Example vflibcap 1, Prev: Try font class, Up: Writing a vflibcap

Mojikyo font mapping class
==========================

This font driver is specific to the Mojikyo font files, which is a
huge collection (more than 80 thousand) of Kanji characters.  (Access
`http://www.mojikyo.gr.jp/' for detail.)  The Mojikyo font is supplied
by a set of font files, since the number of characters is too huge to
contain in a single font file.

The Mojikyo font defines its own character encoding, staring from 1
and each character has its own character code.  (Character codes are
not the codes in a font file.)  The Mojikyo font set is supplied by
both TrueType and Type 1 formats.  A single character space of the
Mojikyo is divided into font file number and character code in a font
file.  This means that we must compute font file among many font files
and code point in a font file to obtain a glyph of Mojikyo characters.
To avoid such complex procedure, this font driver provides a virtual
single font.

Note that this font driver only delegates requested characters to
other font driver (TrueType or Type 1).  Therefore, TrueType and/or
Type 1 font driver must be configured in VFlib and they must be
propopery set up in a vflibcap file.


Font class name: `mojikyo-mapper'

Capabilities for font class default:

`properties' (optional)
`variable-values' (optional)

Capabilities for font definition:

`font-class' (essential)
     --- A font class name. 
     This must be `mojikyo-mapper'.

`division-scheme' (optional)
     Mapping scheme from the Mojikyo character space to real font
     files is different by real font file format (TrueType/Type1).
     This capability defines which mapping scheme is used.

     If `truetype' is given for this capability, underlaying font
     files are in TrueType format.  If `type1' is given for this
     capability, underlaying font files are in Type 1 format.  Default
     value for this capability is `truetype'.

     Aliases of division scheme names are defined as follows: `ttf' is
     an alias of `truetype', and `pfb' is an alias of `type1'.

`subfont-name-format' (optional)
     This capability defines format of font file names.  If `truetype'
     is selected for `division-scheme' capability, `Mojik%d.ttf' is
     assumed for this capability by default.  `%d' in `Mojik%d.ttf' is
     substituted by font number, starting from 101.  If `type1' is
     selected for `division-scheme' capability, `mo%dm%02d.pfb' is
     assumed for this capability by default.  The first `%d' in
     `mo%dm%02d.pfb' is a major font number, starting from 101.  The
     second `%d' in `mo%dm%02d.pfb' is a minor font number, starting
     from 6.

     In case you want to use a font name format other than described
     above, this capability should be defined.  Note that format sting
     should contain exactly one `%d' if you select `truetype' division
     scheme, and exactly two `%d's if you select `type1' division
     scheme.


`truetype-subfont-encoding' (optional)
     This capability has effect only when `truetype' division scheme
     is selected.  This capability selects character encoding scheme
     of underlaying TrueType font files.  If `unicode' is given to
     this capability, underlaying TrueType fonts are encoded in
     Unicode.  If `iso-2022' (as aliases, `iso2022' or `jis' can be
     used) is given to this capability, underlaying TrueType fonts are
     encoded in ISO 2022 (JIS).

     Default value is `unicode', which is the same as the the Mojikyo
     font files in TrueType format.

`properties' (optional)







File: VFlib-36.info, Node: Example vflibcap 1, Next: Example vflibcap 2, Prev: Mojikyo font mapping class, Up: Writing a vflibcap

Example vflibcap 1
==================

This example vflibcap is for general use.

     ;; -----------------------------------------------------------------
     ;;   VFlib Default
     ;; -----------------------------------------------------------------
     (define-default  VFlib
       ;; hint to find font class from font name for fast font open
       (extension-hints  (".bdf" bdf) (".pcf" pcf) (".hbf" hbf)
                         (".ttf" truetype) (".ttc" truetype)
                         (".pfa" type1) (".pfb" type1)
                         ("pk" TeX) ("gf" gf) ("tfm" tfm))
       ;; implicit font classes
       (implicit-font-classes  pcf bdf hbf truetype type1 zeit jg gf tfm)

       ;; uncompression programs
       (uncompression-programs  (".Z" "zcat") (".gz" "gzip -cd"))

       ;; a list of default values of variables
       ;; *Note* "variable-values" must come before variable uses
       (variable-values  (TeX_DPI               "300")
                         (TeX_USE_KPATHSEA      "Yes")
                         (TeX_KPATHSEA_MODE     "cx") 
                         (TeX_KPATHSEA_PROGRAM  "/usr/local/bin/xldvi"))

       ;; kpathsea: enabled/disabled 
       (use-kpathsea           $TeX_USE_KPATHSEA)
       ;; kpathsea mode (e.g., "cx")
       (kpathsea-mode          $TeX_KPATHSEA_MODE)
       ;; kpathsea program name (e.g., "/usr/local/bin/xdvi")
       (kpathsea-program-name  $TeX_KPATHSEA_PROGRAM)

       ;; encoding/charset conversion files
       (code-conversion-files  
        "iso8859-1_unicode.ccv" "iso8859-2_unicode.ccv" "iso8859-3_unicode.ccv"
        "iso8859-4_unicode.ccv" "iso8859-5_unicode.ccv" "iso8859-6_unicode.ccv"
        "iso8859-7_unicode.ccv" "iso8859-8_unicode.ccv" "iso8859-9_unicode.ccv"
        "jisx0201_unicode.ccv" "jisx0208_unicode.ccv" "jisx0212_unicode.ccv"
        "ksc5601_unicode.ccv"
        "gb12345_unicode.ccv" "gb2312_unicode.ccv"
        "big5_unicode.ccv" "cns11643_unicode.ccv"
        "iso8859-5_koi8-r.ccv" "koi8-r_iso8859-5.ccv" "koi8-r_unicode.ccv"))

     ;; -----------------------------------------------------------------
     ;;   BDF Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  bdf
       ;; font directories
       (font-directories  "/usr/local/share/fonts/X11//")
       ;; extensions of compressed font files that this font class supports
       (compression-extensions ".gz" ".Z")
       ;; default values for fonts of this font class
       (variable-values    (VAR1 ("PROP1" "VAL1"))  ; just for debugging...
                           (VAR2 ("PROP2" "VAL2"))
                           (VARX ("PROPX" "VFlib-VALX")) )
       ;; properties for all fonts of this font class
       (properties ("FONT_CLASS" "BDF")) )

     ;; -----------------------------------------------------------------
     ;;   PCF Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  pcf
       ;; font directories
       (font-directories  "/usr/X11R6/lib/X11/fonts//"
                          "/usr/local/X11R6/lib/X11/fonts//"
                          "/usr/openwin/lib/X11/fonts//"
                          "/usr/X386/lib/X11/fonts//"
                          "/usr/XFree86/lib/X11/fonts//"
                          "/usr/X11/lib/X11/fonts//"
                          "/usr/local/lib/X11/fonts//"
                          "/usr/X11R5/lib/X11/fonts//"
                          "/usr/local/X11R5/lib/X11/fonts//"
                          "/usr/local/share/fonts/X11//")
       ;; extensions of compressed font files that this font class supports
       (compression-extensions ".gz" ".Z")
       ;; properties for all fonts of this font class
       (properties ("FONT_CLASS" "PCF"))  )

     ;; -----------------------------------------------------------------
     ;;   HBF Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  hbf
       ;; font directories
       (font-directories  "/usr/local/share/fonts/HBF//")
       ;; extensions of compressed font files that this font class supports
       (compression-extensions ".gz" ".Z")
       ;; properties for all fonts of this font class
       (properties ("FONT_CLASS" "HBF"))  )

     ;; -----------------------------------------------------------------
     ;; TrueType Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  truetype
       ;; font directories
       (font-directories  "TEXMF"  ; - a special name to search by `kpathsea'
                          "/usr/local/share/fonts/bakoma/ttf/"
                          "/usr/local/share/fonts/FontCity2//"
                          "/usr/local/share/fonts/DynaFont-Premium30/win95//"
                          "/usr/local/share/fonts/DynaFont-SpecialPack1/win95//"
                          "/usr/local/share/fonts/TrueTypeWorld-ValueFont141//"
                          "/usr/local/share/fonts/FontAsia//"
                          "/usr/local/share/fonts/FontGarden/ttf//"  )
       ;; debugging flags   ('*' selects all)
       (debug "")
       ;; properties for all fonts of this font class
       (properties ("FONT_CLASS" "TrueType"))  )
  
     ;; -----------------------------------------------------------------
     ;; Type1 Font Class Default
     ;; -----------------------------------------------------------------
     (define-default type1
       ;; font (pfa, pfb) directories
       (font-directories "TEXMF"  ; - a special name to search by `kpathsea'
                         "/usr/local/share/fonts/bakoma/pfb/")
       ;; AFM directories
       (afm-directories "TEXMF"   ; - a special name to search by `kpathsea'
                        "/usr/local/share/fonts/bakoma/afm/")
       ;; T1Lib logfile output level: "none", "error", "warning", "stat", "debug"
       (log-level "none"))

     ;; -----------------------------------------------------------------
     ;;   Syotrai Club Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  zeit
       ;; filename extensions ("vf" for "mincho.vf{1,2}")
       (filename-extensions  ".vf")
       ;; font directories
       (font-directories   "/usr/local/share/fonts/Watanabe//"
                           "/usr/local/share/fonts/WadaLab//")
       ;; properties for all fonts of this font class
       (properties  ("FONT_CLASS" "ZEIT")
                    ("CHARSET_REGISTRY" "jisx0208.1983")
                    ("CHARSET_ENCODING" "0") ))

     ;; -----------------------------------------------------------------
     ;;   JG Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  jg
       ;; filename extensions ("fn" for "zkyo0by.fn{0,1,2}")
       (filename-extensions ".fn")
       ;; font directories
       (font-directories  "/usr/local/share/fonts/JG-Fonts//")
       ;; properties for all fonts of this font class
       (properties  ("FONT_CLASS" "JG")
                    ("CHARSET_REGISTRY" "jisx0208.1983")
                    ("CHARSET_ENCODING" "0")))

     ;; -----------------------------------------------------------------
     ;;   TeX-related Font Class Default and TeX Font Mapper
     ;; -----------------------------------------------------------------
     (define-default  TeX
       ;; TFM file directories
       (tfm-directories  "TEXMF"
                         "/usr/local/share/fonts/bakoma/tfm/")
       ;; possible extensions of TFM files
       (tfm-filename-extensions  ".tfm")
       ;; font name mapping rules
       (font-mapping
        ((ascii-jtex-kanji "%f.jtex")  "min*" "goth*" "tmin*" "tgoth*")
        ((type1 "%f.pfb" point-size-from-tfm (magnification-adjustment 1.0)) 
          *)
        ((pk "%f.%dpk") (gf "%f.%dgf")  *)
        ((tfm "%f.%dtfm")  *))
       ;; accuracy of device resolutions, used with 'resolution-corrections'
       (resolution-accuracy 0.02)
       ;; font resolution values for each device resolutions.
       (resolution-corrections
        (240  ;; sparcptr
         240  263  288  312  346  415  498  597)
        (300  ;; cx
         300  329  360  432  518  622  746  896 1075 1290  240 270)
        (400  ;; sparcptr
         400  438  480  576  691  829  995 1194 1433 1720  320 360)
        (600  ;; ljfour
         600  657  720  864 1037 1244 1493 1792 2150 2580  480 540))
       ;; default device resolution
       (dpi $TeX_DPI))

     ;; -----------------------------------------------------------------
     ;;   TeX GF Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  gf
       ;; font directories
       (font-directories  "TEXMF" 
                          "/usr/local/TeX/gf//")
       ;; properties for all fonts of this font class
       (properties  ("FONT_CLASS" "GF")) )

     ;; -----------------------------------------------------------------
     ;;   TeX PK Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  pk
       ;; font directories
       (font-directories  "TEXMF"
                          "/usr/local/TeX/pk//")
       ;; properties for all fonts of this font class
       (properties  ("FONT_CLASS" "PK")) )

     ;; -----------------------------------------------------------------
     ;;   TeX TFM Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  tfm
       ;; font directories
       (font-directories  "TEXMF"
                          "/usr/local/TeX/tfm//")
       ;; glyph style: "fill" (all pixels black) or "empty" (all pixels white)
       (glyph-style  "fill")
       ;; properties for all fonts of this font class
       (properties  ("FONT_CLASS" "TFM")) )

     ;; -----------------------------------------------------------------
     ;;   ASCII-jTeX Kanji Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  ascii-jtex-kanji
       ;; TFM file directories
       (tfm-directories  "TEXMF")
       ;; possible extensions of TFM files
       (tfm-filename-extensions ".tfm")
       ;; Suffix for name mapping
       ;; (e.g., implicit font "min10.300pk" is mapped to "min10.jtex")
       (implicit-font-mapping-suffix ".jtex"))

     ;; -----------------------------------------------------------------
     ;;   Japanese Comic Font Class Default
     ;; -----------------------------------------------------------------
     (define-default  japanese-comic
       ;; debugging flags   ('*' selects all)
       (debug "f")
       ;; properties for all fonts of this font class
       (properties  ("FONT_CLASS" "JAPANESE-COMIC")
                    ("CHARSET_REGISTRY" "jisx0208.1983")
                    ("CHARSET_ENCODING" "0")))


     ;; -----------------------------------------------------------------
     ;;  sample font definitions for Japanese TeX

     (define-font jtex-min    (font-class pcf) (font-file "jiskan24.pcf"))
     (define-font jtex-goth   (font-class pcf) (font-file "jiskan24.pcf"))
     (define-font jtex-tmin   (font-class pcf) (font-file "jiskan24.pcf"))
     (define-font jtex-tgoth  (font-class pcf) (font-file "jiskan24.pcf"))

     ;; Definitions for "min10" fonts. These fonts are used by
     ;; 'name mapping' feature of ascii-jtex-kanji driver.
     ;; (e.g., "min10.400pk" is mapped to "min10.jtex")
     (define-macro min-common
       (font-class ascii-jtex-kanji) (kanji-font jtex-min)
       (kanji-font-magnification 0.85) (metric-adjustment-file "jiskan24.adj"))
     (define-macro goth-common
       (font-class ascii-jtex-kanji) (kanji-font jtex-goth)
       (kanji-font-magnification 0.85) (metric-adjustment-file "jiskan24.adj"))
     (define-macro tmin-common
       (font-class ascii-jtex-kanji) (kanji-font jtex-tmin)  
       (kanji-font-magnification 0.85) 
       (metric-adjustment-file "jiskan24v.adj"))
     (define-macro tgoth-common
       (font-class ascii-jtex-kanji) (kanji-font jtex-tgoth)
       (kanji-font-magnification 0.85) 
       (metric-adjustment-file "jiskan24v.adj"))
     (define-font min5.jtex     (kanji-font-point-size  5)  min-common)
     (define-font min6.jtex     (kanji-font-point-size  6)  min-common)
     (define-font min7.jtex     (kanji-font-point-size  7)  min-common)
     (define-font min8.jtex     (kanji-font-point-size  8)  min-common)
     (define-font min9.jtex     (kanji-font-point-size  9)  min-common)
     (define-font min10.jtex    (kanji-font-point-size 10)  min-common)
     (define-font goth5.jtex    (kanji-font-point-size  5)  goth-common)
     (define-font goth6.jtex    (kanji-font-point-size  6)  goth-common)
     (define-font goth7.jtex    (kanji-font-point-size  7)  goth-common)
     (define-font goth8.jtex    (kanji-font-point-size  8)  goth-common)
     (define-font goth9.jtex    (kanji-font-point-size  9)  goth-common)
     (define-font goth10.jtex   (kanji-font-point-size 10)  goth-common)
     (define-font tmin5.jtex    (kanji-font-point-size  5)  tmin-common)
     (define-font tmin6.jtex    (kanji-font-point-size  6)  tmin-common)
     (define-font tmin7.jtex    (kanji-font-point-size  7)  tmin-common)
     (define-font tmin8.jtex    (kanji-font-point-size  8)  tmin-common)
     (define-font tmin9.jtex    (kanji-font-point-size  9)  tmin-common)
     (define-font tmin10.jtex   (kanji-font-point-size 10)  tmin-common)
     (define-font tgoth5.jtex   (kanji-font-point-size  5)  tgoth-common)
     (define-font tgoth6.jtex   (kanji-font-point-size  6)  tgoth-common)
     (define-font tgoth7.jtex   (kanji-font-point-size  7)  tgoth-common)
     (define-font tgoth8.jtex   (kanji-font-point-size  8)  tgoth-common)
     (define-font tgoth9.jtex   (kanji-font-point-size  9)  tgoth-common)
     (define-font tgoth10.jtex  (kanji-font-point-size 10)  tgoth-common)

     ;; -----------------------------------------------------------------
     ;; EOF




