THE DVIPDFMx PROJECT

The DVIPDFMx (formerly dvipdfm-cjk) project provides an eXtended version of the dvipdfm, a DVI to PDF translator developed by Mark A. Wicks. The primary goal of this project is to support multi-byte character encodings and large character sets for East Asian languages by CID-keyed font technology. The secondary goal is to support as many features as pdfTeX developed by Han The Thanh. This project is a combined work of the dvipdfm-jpn project by Shunsaku Hirata and its modified one, dvipdfm-kor, by Jin-Hwan Cho.

What's New

From ChangeLog:

Obtaining DVIPDFMx

The DVIPDFMx project does not offer pre-compiled binary packages. See, section "Binary Distributions" below for obtaining binary packages for each platforms.

Source Code

You can download current snapshot from http://project.ktug.or.kr/dvipdfmx/snapshot/.

An anonymous access to the CVS Repository is also available. You can update your local copy of DVIPDFMx source code with the following commands:

cvs -d:pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot login
cvs -d:pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot co dvipdfmx

When prompted for a password for anonymous, simply press the Enter key.

To compile DVIPDFMx, you need, at least, the kpathsea library. Using kpathsea library version heigher than 3.3 is recommended. Please specify kpathsea installation directory via configure option:

--with-kpathsea=DIR

In addition to that, the zlib library is required for compression support. Both zlib and libpng library is required for PNG image inclusion. You can use options for configure to specify the location of include header files and libraries:

--with-png=DIR
--with-zlib=DIR

After successful installation, please edit DVIPDFMx configuration file and fontmap file installed in $TEXMF/dvipdfm/config.

Binary Distributions

FreeBSD and Linux

DVIPDFMx is available from the FreeBSD ports/package collection (print/dvipdfmx).

Microsoft Windows

MacOS X

See, pTeX package for MacOSX (in Japanese) for Japanese environment.

Features

Most features/enhancement added to dvipdfm in DVIPDFMx is related to multi-byte encoding/font support, especially CJK.

Compatible TeX Variants

In addtion to TeX/LaTeX, the following TeX variants and TeX/LaTeX packages are supported:

The ConTeXt driver file spec-dpx.tex for DVIPDFMx is contained in the beta vertion of ConTeXt since December 4, 2002. To generate a DVI file to be converted to PDF by DVIPDFMx, either use the following command line:

texexec --output=dvipdfmx foo

or give the following command in the top of your ConTeXt file.

\setupoutput [dvipdfmx]

Font/Encoding Support

The following font formats are supported (in addition to the original dvipdfm):

For CID-Keyed fonts, dvipdfmx uses CIDs to identify each glyphs internally, hence if you want to embed TrueType font as CIDFontType 2 CID-Keyed font, you must install CID-to-code mapping CMap file for each TrueType fonts. (see, README for details)

As a convenience, DVIPDFMx recognizes following fonts: MHei-Medium (CNS1), MSung-Light (CNS1), STSong-Light (GB1), HeiseiMin-W3 (Japan1), HeiseiKakuGo-W5 (Japan1), Ryumin-Light (Japan1), GothicBBB-Medium (Japan1), HYGoThic-Medium (Korea1), HYSMyeongJo-Medium (Korea1). Those fonts can be used in the fontmap file without having font itself.

Optional stylistic variant, ,Bold, ,Italic, and ,BoldItalic available for some PDF viewers are also supported, but this feature is highly dependent of PDF viewers.

DVIPDFMx have a build-in code-conversion engine which relies on external CMap PostScript resource files to create code-conversion table for multi-byte character code conversion. Adobe Glyph List (plain text, 74.6K bytes) file is used for conversion from PostScript glypn names to the corresponding Unicode values. Installation of this file is recommended if you want to embed TrueType font as a single-byte font. ToUnicode CMap support (available for OpenType and TrueType) also uses this file. See, README for details.

You can tell DVIPDFMx to do conversion of PDF strings appears inside the DVI \special{ pdf: } command. (contributed by Akira Kakuto) For this feature a new PDF special command "pdf:tounicode" was implemented. After this command, every characters in PDF outlines (bookmarks), annotations, and document information (conversion is not applied to file specification and text inside the content command, etc.) will be converted according to the given CMap file. To do that, put one of the following code in the preamble of your LaTeX document source:

\AtBeginDvi{\special{pdf:tounicode GBK-EUC-UCS2}}   % GBK    -> Unicode
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}       % EUC-JP -> Unicode
\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}} % SJIS   -> Unicode
\AtBeginDvi{\special{pdf:tounicode KSCms-UHC-UCS2}} % EUC-KR -> Unicode

In this examples, PDF strings are converted from CJK encodings to UCS-2. This feature is useful for including CJK characters in PDF outlines, annotations, and document information.

Typographic Features

OpenType Layout Featrue table is not fully supported. Vertical variants of glyphs are automatically selected accroding to the description of the vert/vert2 feature GSUB subtables in the case of OpenType font with TrueType outline. This substitution will be applied all fonts that uses -V (WMode 2) CMaps.

PDF Encryption

Encrypted PDF files can be generated if the -S option is given. Key bits (40-128 bits) and Permission flag are adjusted in the configuration file dvipdfmx.cfg or with command line options -K (Key bits) and -P (Permission flag).

Graphics Support

Changes from the original dvipdfm:

Examples

Some of example PDF presented in this section contains embedded CJK TrueType fonts. So, you need PDF viewers that support PDF-1.3. For examples, AFPL Ghostscript 7.x or 8.x, GNU Ghstscript 6.x or 7.x, Adobe Acrobat Reader 4, 5, or 6, or Xpdf 2.x.

ConTeXt

Most of examples are contributed by Lei Wang.

Omega/Lambda

CJK-LaTeX Package

ASCII pTeX

HLaTeX Package

Resources

This section contains documents related to DVIPDFMx, some useful information for typesetting CJK text with TeX, and a small list of freely available fonts, etc...

DVIPDFMx Documents

There are no HTML/PDF manulas for DVIPDFMx.

CJK and TeX Information

The CJK.INF by Ken Lunde provide detailed information on CJK (Chinese, Japanese, and Korean) character sets and encodings. CJK Quick Start contains shareware/freeware information for reading/writing CJK text in English Windows.

If you want to consult others about typesetting CJK text with TeX, please visit

There is a mailing list for CJK package users which can be found at http://cjk.ffii.org.

CJK/Unicode Font

Many CJK/Unicode fonts are freely available in various formats and in a variety of qualities.

Luc Devroye's "On snot and fonts" contains many links to font related things.

Specifications

Useful documents and resources for developers.

DVI standard is available from CTAN:dviware/driv-standard.