THE DVIPDFMx PROJECT

The DVIPDFMx project provides an eXtended version of the dvipdfm, a DVI format 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 Hàn Thê Thành. This project is a combined work of the dvipdfm-jpn project by Shunsaku Hirata and its modified one, dvipdfm-kor by Jin-Hwan Cho.

Choosing stylesheet Screen will show side-menu and select sans-serif font at smaller size, and stylesheet Plain will hide side-menu and select serif font at medium size.

What's New

Obtaining Dvipdfmx

The DVIPDFMx project basically does not offer pre-compiled binary packages. See, the section Binary Packages for obtaining binary packages for each platforms.

Source Code

You can obtain the latest 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 via 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 account, just press the Enter key. You can browse CVS repositories through browser interface at http://cvs.ktug.or.kr/viewcvs/dvipdfmx/.

To compile dvipdfmx, you need at least the kpathsea library which is used for finding location of various resource files, and dvipdfmx won't work without this library properly installed. Kpathsea library version heigher than 3.3 is recommended. In addition to this, the zlib data-compression library is required for compression support. Both zlib and libpng library is required for reading PNG format image files. Dvipdfmx optionally support libpaper library for handling paper sizes. Please read README file for more details.

Default search path for various resource files required by dvipdfmx, namely SFD, CMap, and OpenType font files, may be different in recent installation of TeX, and dvipdfmx may fail to find those files if you update kpathsea library and dvipdfmx without adjusting existing texmf directory structure. In this case, please follow the instruction described in the section TeX Directory Structure (TDS) of README file.

Binary Packages

DVIPDFMx in the MiKTeX 2.4 distribution does not work smoothly due to several reasons. We encourage users to update as follows:

  1. Download the latest version of dvipdfmx program executable dvipdfmx.exe, an update for MiKTeX 2.4 configuration file miktex.ini for dvipdfmx, and an archive file ttf2pk.zip (a collection of various SFD files) from snapshot/miktex/2.4/ directory of the dvipdfmx project site. And obtain Adobe Glyph List 2.0 from the Adobe's Developers site (rename it as glyphlist.txt if file name is different).

  2. Replace dvipdfmx program executable C:\texmf\miktex\bin\dvipdfmx.exe with the one downloaded above.

  3. Update your MiKTeX configuration file C:\texmf\miktex\config\miktex.ini by replacing it with the one obtained above, or modify that manually as appropriate if you have your own settings (i.e., the configuration is different from the initial installation). The required changes are search path sections of ttf2pk and ttf2tfm programs.

  4. Extract the archive file ttf2pk.zip into the directory C:\texmf (or in other adequate places).

  5. Place glyphlist.txt file under the dvipdfmx application data directory, e.g., C:\texmf\dvipdfm.

Features

Most features and enhancement added to dvipdfm is related to multi-byte encoding and font support, especially for supporting CJK languages.

Font and Encoding

Dvipdfmx supports various encodings in rather unintuitive way (due to various reasons). For 8-bits encodings, it supports .enc format glyph encoding file (used by dvips program) with few extensions undocumented here and remapping of a set of 8-bit encoded TeX fonts to a single double-byte font with SFD file support. And it can also support various multibyte encodings (excluding state-full encoding) by loading PostScript CMap resource. Not all encodings are supported depending on format of font to be used.

The following font formats are supported:

PDF Encryption

Encrypted PDF files can be generated if the -S option is given. The key bits (40-128 bits) and the permission flags are specified either in the configuration file dvipdfmx.cfg or with command line options -K (for key bits) and -P (for permission flags).

Graphics Support

All graphics format supported in dvipdfm is also supported in dvipdfmx with few improvement: A little enhancement on PDF inclusion (can handle dvipdfm output PDF). Improved PNG support; alpha channel and tRNS chunk is fully supported. Indexed-color image is no longer converted to 24-bit RGB color image. Experimental embedded ICC profile support for JPEG and PNG format images. Windows BMP format is also supported in dvipdfmx.

Nearly arbitrary graphics format can be supported with the help of external program as long as they can be translated into single page PDF image (like dvipdfm). There are few improvement on interpreting and translating PostScript code inserted with \special command or read from MetaPost output PostScript files. But there are still many limitations and restrictions.

Examples

Sample outputs of dvipdfmx is available from the sample/ directory of the dvipdfmx project site.

Some of examples presented in this section contains embedded CJK TrueType fonts. You need a PDF viewer supporting at least PDF version 1.3. For printing with PostScript printers, you may need CID-keyed font supporting printer, depending on how PDF files are converted to PostScript format.

ConTeXt

Most of examples are contributed by Lei Wang.

CJK-LaTeX Package

A testsuite for testing CJK-LaTeX compatibility is available: testsuite_cjk-latex.tar.gz containing cjkmix2 for testing various CJK encodings and TrueType font support with CJK-LaTeX package + dvipdfmx.

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 nor PDF manulas for dvipdfmx available yet, however, as dvipdfmx is an extended version of dvipdfm, basic usage is not different from the original one. Please refer The Dvipdfm User's Manual and other documents contained in dvipdfm distribution. The README file may contain brief instruction for installation, short description of additional resources, and summary of extension made in dvipdfmx. There are few documents related to dvipdfmx available from the doc/ section of the dvipdfmx project site: DVIPDFMx, an eXtension of DVIPDFM, PDF version of presentation given at the TUG 2003 conference.

TeX Related, LaTeX Packages, and Extended TeX

CJK or Unicode Font

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

Specifications

Useful documents and resources for developers.

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