libpaper: Please support JIS B series paper sizes

libpaper (current version: 1.1.24) が JIS B 系版型に対応していないので、例えば dvipdfmx で -p b5 として PDF を生成しても ISO 規格の B5 サイズになってしまう問題があります。

$ dvipdfmx -p b5 hoge

wikipedia:紙の寸法

しかしながら、dvipdfmx はすでに libpaper に対応しており、src/dpxconf.c には接頭語 "jis" を付けて JIS B 系版型に対応済みです。また、ptex の立場からすると dvips の config.ps にもすでに接頭語 "jis" を付けて対応されています。

/* Alias for JIS and ISO */
 {"jisb6",   364.25,  515.91},
 {"jisb5",   515.91,  728.50},
 {"jisb4",   728.50, 1031.81},
 {"jisb3",  1031.81, 1457.00},
 {"isob6",   354.331,  498.898},
 {"isob5",   498.898,  708.661},
 {"isob4",   708.661, 1000.630},
 {"isob3",  1000.630, 1417.320},
 /* -- */

そこで、libpaper の paperspecs に jisb0, jisb1, ... jisb10 を以下のように追加したパッチを作成して、libpaper 開発者に送付しておきました。

diff -up libpaper-1.1.24/lib/paperspecs.orig libpaper-1.1.24/lib/paperspecs
--- libpaper-1.1.24/lib/paperspecs.orig	2011-01-08 12:17:06.428174879 +0900
+++ libpaper-1.1.24/lib/paperspecs	2011-01-08 12:33:49.072674647 +0900
@@ -53,3 +53,14 @@ flse 612 936
 csheet 1224 1584
 dsheet 1584 2448
 esheet 2448 3168
+jisb0 1030 1456 mm
+jisb1 728 1030 mm
+jisb2 515 728 mm
+jisb3 364 515 mm
+jisb4 257 364 mm
+jisb5 182 257 mm
+jisb6 128 182 mm
+jisb7 91 128 mm
+jisb8 64 91 mm
+jisb9 45 64 mm
+jisb10 32 45 mm

Diff finished.  Sat Jan  8 12:35:04 2011

上記パッチを適応させた libpaper で libpaper に対応した dvipdfmx では、以下のようにして JIS B5 版の PDF を生成できます。

$ dvipdfmx -p jisb5 hoge

本件は、Vine Linux 5 において libpaper の errata を発行して、JIS B 系の版型に対応させる予定です。

Vine Linux BTS:1096: [proposed-updates] libpaper http://bts.vinelinux.org/guest.cgi?action=view_report&id=1096&project=VineLinux

Vine Linux 5 の dvipdfmx について

今後、二つの dvipdfmx が Vine Linux 5 に登場するので、JIS B 系版型の指定方法を簡単に掲載しておきます。

tetex-3.0 + dvipdfmx-20090522

従来どおり -p b5 で JIS B 系版型が出力されます。

$ dvipdfmx -p b5 hoge
texlive-2009 + dvipdfmx-20090708

今月中に put を予定している VinePlus/5 の texlive-2009 の dvipdfmx-20090708 では、libpaper に対応させておりますので、-p jisb5 で JIS B 系版型が出力されます。

$ dvipdfmx -p jisb5 hoge