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: vflx11, Next: vfldisol, Prev: vfltest, Up: Sample programs

vflx11
======


`vflx11' displays glyph of a given font in a window.  It requires
X11R5 or X11R6.

Usage: vflx11 [ OPTIONS... ] FONT_NAME

Options:

-mode1
     A font is opened in mode 1 (high resolution device oriented
     mode).

-ol
     Bitmaps are obtained by `VF_GetOutline()' and then
     `VF_OutlineToBitmap()'.  This is effective when a font is opened
     in mode 1.

-mode2
     A font is opened in mode 2 (low resolution device oriented mode).

-v VFLIBCAP
     A file name of vflibcap to be used. If this option is not given,
     default vflibcap file is used. (Possibly, default vflibcap is
     `/usr/local/share/VFlib/3.6.14/vflibcap'.)
  
-p POINT or -p PIXEL
     Specify point or pixel size of characters.  If this option is not
     given, size of characters are original size of a font.

-m MAG
     Specify vertical and horizontal magnification factor.  If this
     option is not given, magnification factor is 1.0.

-mx MAG_H
     Specify horizontal magnification factor.  If this option is not
     given, horizontal magnification factor is 1.0.

-my MAG_V
     Specify vertical magnification factor.  If this option is not
     given, vertical magnification factor is 1.0.

--help
     Print command line arguments and key operations on a window.


Following operations are defined on a `vflx11' window.


q
     Finish `vflx11'

b
     Go to previous page.

SPC
     Go to next page.

[
     Go to previous 4 page.

]
     Go to next 4 page.

{
     Go to previous 16 page.

}
     Go to next 16 page.

+
     Enlarge the window.

-
     Shrink the window.

<
     Go to the first page.

>
     Go to the last page.

m
     Mark the current page.

g
     Goto the marked page.






File: VFlib-36.info, Node: vfldisol, Next: ctext2pgm, Prev: vflx11, Up: Sample programs

vfldisol
========

`vfldisol' displays `disassembled lists' of vector data of a given
font and code points.

Usage: vfldisol [ OPTIONS... ] FONT_NAME CODE ...

Options:


-v VFLIBCAP
     A file name of vflibcap to be used. If this option is not given,
     default vflibcap file is used. (Possibly, default vflibcap is
     `/usr/local/share/VFlib/3.6.14/vflibcap'.)

-d DPI
     Resolution of device in dpi.  If this option is not given,
     default resolution of a font is used.

-p POINT
     Point size of characters.  If this option is not given, default
     point size of a font is used.

-x
     Print hexadecimal dump of outline data instead of disassembled
     list.





File: VFlib-36.info, Node: ctext2pgm, Prev: vfldisol, Up: Sample programs

ctext2pgm
=========

`ctext2pgm' creates an image file in PGM or PBM format from a
multilingual text file encoded by compound text format.  It also
supports various text encodings such as Chinese, Japanese, Korean EUCs
and Shift-JIS.  PGM and PBM formats are portable formats, image files
can be easily converted to another image format such as GIF, TIFF.

It supports various character sets and left-to-right and right-to-left
directionalities.


ISO 8859-1,2,3,4,5,7,8,9
     --- Latin character sets, 
     including Hebrew which is written from right to left.

Mule Arabic
     --- An Arabic script, written from right to left. 
     This character set is used by the multilingual editor Mule.

JIS X 0201, JIS X 0208, JIS X 0212
     --- Japanese character sets.

GB 2312
     --- A Chinese character set.

CNS 11641-1, CNS 11641-2
     --- Chinese character sets.

KSC 5601
     --- A Hangle character set.




Running ctext2pgm
-----------------

Usage: ctext2pgm [ OPTIONS... ] [ FILE ]

--- `ctext2pgm' reads FILE (if not given, reads standard input)
and prints image file to standard output.

Example: % ctext2pgm -pgm -ctext -16 -times DOC-10.txt > IMAGE.pgm
(Never forget to redirect the output.)


Options for VFlib:

-v F
     --- a vflibcap file to be used by `ctext2pgm'.
     Default value is `vflibcap-ctext2pgm'.


Options for input encoding and script:

-ctext
     --- Assume that an encoding of input file. 
     (This is the default input encoding.)  Default writing
     directionality is set to left-to-right.

     By this encoding, multiple character set can be used in an input
     text by escape sequences.  Mixture of scripts of left-to-right
     and right-to-left directionalities is also supported.

-iso-8859-1 or -latin-1
     --- Assume that input file is encoded by iso-8859-1.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-iso-8859-2 or -latin-2
     --- Assume that input file is encoded by iso-8859-2.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-iso-8859-3 or -latin-3
     --- Assume that input file is encoded by iso-8859-3.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-iso-8859-4 or -latin-4
     --- Assume that input file is encoded by iso-8859-4.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-iso-8859-5, -cyrillic or -russian
     --- Assume that input file is encoded by iso-8859-5.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-iso-8859-7 or -greek
     --- Assume that input file is encoded by iso-8859-7.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-iso-8859-8 or -hebrew
     --- Assume that input file is encoded by iso-8859-7.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to right-to-left.

-iso-8859-9 or -latin-5
     --- Assume that input file is encoded by iso-8859-9.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

-euc-jp or -euc-jp1
     --- Assume that input file is encoded by Japanese EUC.
     Default writing directionality is set to left-to-right.

     JIS X 0201 Roman character set is used for code set 0, JIS X 0208
     is used for code set 1, JIS X 0201 Kana is used for code set 2,
     and JIS X 0212 is used for code set 3.

-euc-jp2
     --- Same as -euc-jp1 except 
     ASCII character set is used for code set 0.

-euc-kr
     --- Assume that input file is encoded by Korean EUC.
     Default writing directionality is set to left-to-right.

     ASCII character set is used for code set 0 and KSC 5601 is used
     for code set 1.

-euc-cn or -euc-gb
     --- Assume that input file is encoded by Chinese EUC by simplified Hanzi.
     Default writing directionality is set to left-to-right.

     ASCII character set is used for code set 0, and GB 2312 is used
     for code set 1.

-euc-cns
     --- Assume that input file is encoded by Chinese EUC by traditional Hanzi.
     Default writing directionality is set to left-to-right.

     ASCII character set is used for code set 0, CNS 11643-1 is used
     for code set 1, and CNS 11643-2 is used for code set 3.

-sjis
     --- Assume that input file is encoded by Shift-JIS.
     Escape sequence is not allowed in input file.  Default writing
     directionality is set to left-to-right.

     ASCII character set is used for code set 0, JIS X 0208 is used
     for code set 1, and



Options for directionality:

-l2r
     --- Select left-to-right directionality for typesetting.
-r2l
     --- Select right-to-left directionality for typesetting.


Options for font selection:


-fixed, -times, -helv or -cour
     --- Select a font family: Fixed, Times, Helvetia, or Courier, respectively.
     Default font family is Times.

-bold or -italic
     --- Select a font face: bold or italic (or oblique), respectively.
     Default face is normal.

-14, -16, -18 or -24
     --- Select a font set of 14-, 16-, 18-, or 24-dot, respectively.
     Default font size if 16.

-scale N
     --- Select a scalable font set and scales the font to n dot.

-m M
     --- Specify vertical and horizontal magnification factors.
     Default value is 1.

-mx M
     --- Specify horizontal magnification factor.

-my M
     --- Specify vertical magnification factor.

-font-list
     --- Print all installed character sets and font names. Then exit the program.



Options for typesetting:

-b S
     --- Specify factor of baseline skip. 
     Baseline of a text is moved this value times dot-size of a
     selected font set.  Default value is 1.2.

-center-line
     --- Each line is centered.
     Output image is vertically and horizontally centered.

-flush-left
     --- Each line is flushed left.
     This is default mode if writing directionality is left-to-right.
     Output image is flushed left.

-left-line
     --- Each line is flushed left, but image is not flushed left.

-flush-right
     --- Each line is flushed to right.
     This is the default mode if writing directionality is
     right-to-left.  (Note that options `-flush-right' and
     `-r2l' are different
     --- consider an English text including Arabic words in the same line.)
     Output image is flushed right.

-right-line
     --- Each line is flushed right, but image is not flushed right.


It is important to notice that the difference of `-flush-left' and
`-left-line' options (and `-flush-right' and `-right-line' options).
By `-flush-left' option, input text is typeset to flush each line left
and typeset result is placed in the left of an output image.  By
`-left-line' option, input text is typeset to flush each line left and
does not specify how to put the typeset result in an output image.
The difference appears when the horizontal size of output image is
explicitly given by `-pw' option.



Options for output:


-pgm or -pgm-raw
     --- Select binary PGM format for image output.

-pgm-ascii
     --- Select ascii PGM format for image output.
     This is the default output mode.

-pbm or -pbm-ascii
     --- Select ascii PBM format for output an image.

-ascii-art or -ascii-art-v
     --- An image is printed as an ASCII art. (Vertical mode)
     Baseline is vertical; thus this mode is similar to the `banner'
     command on Unix.

-ascii-art-h
     --- An image is printed as an ASCII art. (Horizontal mode)
     Baseline is horizontal.

-eps
     --- Select EPS format for image output.
     By default, 16-dot font is printed by 12-point in EPS file.  To
     change the point size, use the -eps-ptsize option described
     below.

-eps-ptsize PT
     --- Select point size of characters for EPS output.
     If this option is given, point size of each character is scaled
     to PT point regardless dot size of fonts.

-none
     --- An image is not shipped out.

-r
     --- Reverse the black and white of output image.
     (This option does not have effect when EPS is selected for image
     output format.)

-s N
     --- Shrink factor for anti-aliased output.
     N by N pixels are shrinked together and forms one pixel in an
     output image.  This option has effect when output format is PGM
     and EPS.  Default value is 1.

-pw W
     --- Specify width of output image (in pixels).
     If this option is not given, the width of output image is the
     smallest width to contain the glyph of all characters.

-ph
     --- Specify height of output image (in pixels).
     If this option is not given, the height of output image is the
     smallest height to contain the glyph of all characters.

-g
     --- Specify horizontal and vertical margins of output image (in pixels).
     Default margin is zero pixel.

-gx
     --- Specify horizontal margin of output image (in pixels).
     Default margin is zero pixel.

-gy
     --- Specify vertical margin of output image (in pixels).
     Default margin is zero pixel.

-center-image
     --- An image of typeset text is horizontaly and vertically centered.

-h-center-image
     --- An image of typeset text is horizontaly centered.

-v-center-image
     --- An image of typeset text is vertically centered.

-left-image
     --- An image of typeset text is flushed left.

-right-image
     --- An image of typeset text is flushed right.

-top-image
     --- An image of typeset text is flushed top.

-bottom-image
     --- An image of typeset text is flushed bottom.





Making input files for ctext2pgm
--------------------------------

Any text editor can be used to prepare input files for `ctext2pgm'.
Input files are plain texts.  If you want to create an image
containing multiple character sets, save the files by *compound text*
encoding.  If you want to make images of Arabic text, use the `Mule'
editor.  (`Mule' is an extension of `GNU Emacs' for multilingual text
processing.)  For making images of Arabic script, `ctext2pgm' only
supports a text created by Mule, ISO-8859-6 is not supported.

Unlike TeX and HTML, newlines of input files are *not* ignored and a
newline character in input text breaks line.  Thus, input text is
typeset like `verbatim' environment of LaTeX or `<PRE> ... </PRE>' tag
of HTML.



Commands in input text
----------------------

Several commands can be embedded in text files such as font switch.
Command sequence starts by a backslash (`\') followed by one character
which represents command name.  If you want to display a backslash
character itself, use double backslashes `\\'.

Following commands are defined:


`\f', `\t', `\h', `\c'
     --- Change of font families. 
     Current font family is changed to fixed, times, Helvetia,
     courier, respectively.

`\d'
     --- Current font family is changed to the default font family.
     The default font family can be specified by a command line
     option.

`\N', `\B', `\I'
     --- Change of font faces. 
     Current font face is changed to normal, bold, italic,
     respectively.

`\D'
     --- Current font face is changed to the default font face.
     The default font face can be specified by a command line option.

`\.'
     --- Same as `\d' followed by `\D'.

`\('
     --- Black and white of glyph of following characters are reversed.
     This command is recommended *only* for fixed-width fonts.  (For
     the reason of current implementation, resulting bitmap is ugly
     for proportional fonts and you cannot read the text in an image.)

     Nesting of `\(' has no effect.

`\)'
     --- End of reversing black and white.

`\\'
     --- Print backslash itself.




Trouble shooting
----------------

In case you failed to obtain a desired image output, the following
command line options for debugging may be useful.  (Debugging messages
are printed to standard output.  The `-none' option is useful to
suppress printing binary image to your terminal. Otherwise, debugging
message and image file are printed together on your terminal!)

-ds
     --- Print the state transition of the parser for compound text.
-dr2l
     --- Print the state transition of bi-directionality handling.
-df
     --- Print font name to be opened.
-dbc
     --- Print each character glyph in ascii-art form.
-dbl
     --- Print each line image by in ascii-art form.
-dbp
     --- Print entire page image in ascii-art form.
-dall
     --- Selects all debugging options above.





File: VFlib-36.info, Node: Difference between VFlib version 3.6 and 2, Next: Concept index, Prev: Sample programs, Up: Top

Difference between VFlib version 3.6 and 2
******************************************

VFlib version 3.6 and version 2 are quite different and you should
forget about VFlib version 2.


VFlib 2 was designed only for Japanese Kanji fonts
        VFlib 3.6 can handle fonts for multilingual text printing.

Font metric is introduced in VFlib 3.6
        VFlib 2 does not concepts on font metrics since it assumes all
     characters are the same metrics.  Font metrics is introduced in
     VFlib 3.6 and proportional fonts can be used.

Syntax of vflibcap file
        Syntax of vflibcap file is quite different.  VFlib 2 adopted
     termcap-like notation, but now VFlib 3.6 adopts lisp-like
     notation.

Arguments and return values of function are changed
        In VFlib 2, bitmaps of characters are written in a frame
     buffer which is given by argument.  But in VFlib 3.6, a bitmap
     object is returned.






File: VFlib-36.info, Node: Acknowledgments, Next: Concept index, Prev: Difference between VFlib version 3.6 and 2, Up: Top

Acknowledgments
***************

Since I released VFlib version 1, so many people helped me to improve
VFlib.  I am grateful for all of them.  Special gratitude is due to
Satoru Tomura, Ken'ichi Handa, Werner Lemberg, and Ichiro Matsuda.





File: VFlib-36.info, Node: Concept index, Next: Data type index, Prev: Acknowledgments, Up: Top

Concept index
*************


* Menu:

* Arabic:                       ctext2pgm.              20.
* ASCII Japanese TeX Kanji font class: ASCII Japanese TeX Kanji font class.  4.
* BDF font class:               BDF font class.         12.
* CCV:                          Code conversion system.  5.
* Chinese EUC:                  ctext2pgm.              10.
* CNS 11641:                    ctext2pgm.              33.
* code conversion system:       Code conversion system.  5.
* code-conversion-files:        Code conversion system.  5.
* compound text:                ctext2pgm.              335.
* Copyright:                    Copyright.              5.
* Cyrillic:                     ctext2pgm.              15.
* eKanji font class:            eKanji font class.      4.
* Emacs:                        ctext2pgm.              338.
* EUC:                          ctext2pgm.              10.
* explicit fonts:               Explicit and implicit fonts.  4.
* font class:                   Introduction.           57.
* font driver:                  Introduction.           57.
* FreeType:                     Installing VFlib.       46.
* FreeType:                     TrueType font class.    7.
* GB 2312:                      ctext2pgm.              29.
* GF font class:                GF font class.          4.
* GNU Emacs:                    ctext2pgm.              338.
* GNU Library General Public License: Copyright.        5.
* HBF font class:               HBF font class.         4.
* Hebrew:                       ctext2pgm.              15.
* High resolution oriented mode: Introduction.          125.
* implicit fonts:               Explicit and implicit fonts.  4.
* Installing VFlib:             Installing VFlib.       4.
* ISO 8859:                     ctext2pgm.              15.
* Japanese comic font class:    Japanese comic font class.  4.
* Japanese EUC:                 ctext2pgm.              10.
* JG font class:                JG font class.          4.
* JIS X 0201:                   ctext2pgm.              25.
* JIS X 0208:                   ctext2pgm.              25.
* JIS X 0212:                   ctext2pgm.              25.
* KangXi:                       eKanji font class.      21.
* Korean EUC:                   ctext2pgm.              10.
* kpathsea:                     Installing VFlib.       46.
* KSC 5601:                     ctext2pgm.              37.
* left-to-right directionality: ctext2pgm.              13.
* LGPL:                         Copyright.              5.
* libVFlib.a:                   Installing VFlib.       188.
* libVFlib.a:                   Introduction.           35.
* libVFlib.so:                  Installing VFlib.       188.
* libVFlib.so:                  Introduction.           35.
* Low resolution oriented mode: Introduction.           134.
* Mojikyo font mapping class:   Mojikyo font mapping class.  4.
* Morohashi DaiKanwa:           eKanji font class.      24.
* Mule:                         ctext2pgm.              20.
* Mule:                         ctext2pgm.              338.
* PBM:                          ctext2pgm.              5.
* PCF font class:               PCF font class.         4.
* PGM:                          ctext2pgm.              5.
* PK font class:                PK font class.          4.
* right-to-left directionality: ctext2pgm.              13.
* Shift JIS:                    ctext2pgm.              155.
* T1Lib:                        Installing VFlib.       46.
* T1Lib:                        Type1 font class.       8.
* TeX default and TeX font mapping font class: TeX default and TeX font mapping font class.  4.
* TFM font class:               TFM font class.         4.
* TrueType font class:          TrueType font class.    4.
* Try font class:               Try font class.         4.
* Type1 font class:             Type1 font class.       4.
* Unicode:                      eKanji font class.      18.
* variables:                    Variables in vflibcap.  4.
* VF font class:                VF font class.          4.
* VFlib-3_6.h:                  Building an application software with VFlib.  7.
* vflibcap:                     Installing VFlib.       194.
* vflibcap:                     Introduction.           47.
* VFLIBCAP_PARAM_var:           Variables in vflibcap.  14.
* VFlib.fdb:                    Fast font file search.  5.
* VFlib.fdb:                    vflmkfdb.               17.
* Virtual Font library:         Introduction.           72.
* web2c:                        Installing VFlib.       46.
* Zeit font class:              Zeit font class.        4.




File: VFlib-36.info, Node: Data type index, Next: Function index, Prev: Concept index, Up: Top

Data type index
***************


* Menu:

* struct vf_s_bitmap:           bitmap type.            15.
* struct vf_s_metric1:          metric1 type.           13.
* struct vf_s_metric2:          metric2 type.           13.
* VF_BITMAP:                    bitmap type.            15.
* VF_METRIC1:                   metric1 type.           13.
* VF_METRIC2:                   metric2 type.           13.
* VF_OUTLINE:                   outline type.           29.
* VF_OUTLINE_ELEM:              outline type.           29.




File: VFlib-36.info, Node: Function index, Next: Program index, Prev: Data type index, Up: Top

Function index
**************


* Menu:

* VF_ClearError:                VF_ClearError().        4.
* VF_CloseFont:                 VF_CloseFont().         4.
* VF_CopyBitmap:                VF_CopyBitmap().        4.
* VF_DumpBitmap:                VF_DumpBitmap().        4.
* vf_error:                     vf_error.               4.
* VF_FreeBitmap:                VF_FreeBitmap().        4.
* VF_FreeMetric1:               VF_FreeMetric1().       4.
* VF_FreeMetric2:               VF_FreeMetric2().       4.
* VF_GetBitmap1:                VF_GetBitmap1().        4.
* VF_GetBitmap2:                VF_GetBitmap2().        4.
* VF_GetFontBoundingBox1:       VF_GetFontBoundingBox1().  4.
* VF_GetFontBoundingBox2:       VF_GetFontBoundingBox2().  4.
* VF_GetMetric1:                VF_GetMetric1().        4.
* VF_GetMetric2:                VF_GetMetric2().        4.
* VF_GetOutline:                VF_GetOutline().        4.
* VF_GetProp:                   VF_GetProp().           4.
* VF_ImageOut_ASCIIArt:         VF_ImageOut_ASCIIArt().  4.
* VF_ImageOut_ASCIIArtV:        VF_ImageOut_ASCIIArtV().  4.
* VF_ImageOut_EPS:              VF_ImageOut_EPS().      4.
* VF_ImageOut_PBMAscii:         VF_ImageOut_PBMAscii().  4.
* VF_ImageOut_PGMAscii:         VF_ImageOut_PGMAscii().  4.
* VF_ImageOut_PGMRaw:           VF_ImageOut_PGMRaw().   4.
* VF_Init:                      VF_Init().              6.
* VF_InstallFontDriver:         VF_InstallFontDriver().  4.
* VF_MakeScaledBitmap:          VF_MakeScaledBitmap().  4.
* VF_OpenFont1:                 VF_OpenFont1().         4.
* VF_OpenFont2:                 VF_OpenFont2().         4.
* VF_OutlineToBitmap:           VF_OutlineToBitmap().   4.
* VF_ReflectedBitmap:           VF_ReflectedBitmap().   4.
* VF_RotatedBitmap:             VF_RotatedBitmap().     4.




File: VFlib-36.info, Node: Program index, Next: Acknowledgments, Prev: Function index, Up: Top

Program index
*************

* Menu:

* ctext2pgm:                    ctext2pgm.              5.
* vflbanner:                    A simple example.       5.
* vfldisol:                     vfldisol.               5.
* vfldrvs:                      vfldrvs.                5.
* VFlib3-config:                A simple example.       146.
* vflmkcaptex:                  vflmkcaptex.            5.
* vflmkfdb:                     vflmkfdb.               5.
* vflpp:                        vflpp.                  4.
* vflserver:                    vflserver.              5.
* vfltest:                      vfltest.                5.
* vflx11:                       vflx11.                 5.





