**pdflatexによる出力結果 [#j7b550c7]
[[AsciiDocインストール]]でとりあえず日本語のDocBookをPDFにすることができるようになったが、Cyberbitフォントがイマイチだ。半角英数と混じるとひどい見栄えだ。ちょっとしたマニュアルを作るのに使うだけなので、約物の詰めだとか禁則処理だとか細かい組版のクオリティには目を瞑るにしても、グリフの字形がしっくり来ないのは、組版に詳しくない素人目にもアレ?と思われるので、そういうのは避けたい。そこで他のフォントを使うことを検討したが、なかなかややこしそうだ。悠長にTeXの勉強をしてる暇は今は無いので、DblatexのバックエンドとしてXeTeXを試してみる。XeTeXはシステムにインストールされてるフォントをそのまま使うことができる。

まず元になるDocBookはこれ。エンコーディングはUTF-8。~
jptest.xml
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
 <?asciidoc-toc?>
 <?asciidoc-numbered?>
 
 <book lang="ja">
 <bookinfo>
     <title>国外での特許取得方法について</title>
 </bookinfo>
 <chapter id="_pct">
 <title>PCTルート</title>
 <simpara>特許協力条約(PCT : Patent Cooperation Treaty)に基づく国際出願とは、
 ひとつの出願願書を条約に従って提出することによって、PCT加盟国である
 すべての国に同時に出願したことと同じ効果を与える出願制度です。</simpara>
 </chapter>
 <chapter id="_">
 <title>パリルート</title>
 <simpara>パリルートとはPCTを経由せずに直接各国へ出願する場合をいいます。なお、
 PCTが整備されたことにより、パリルートで出願するメリットはほとんど
 ありません。</simpara>
 </chapter>
 </book>
その結果のPDFのスクリーンショット↓~
#ref(result_pdflatex.png,nolink)~
少なくともタイトルのセリフ系フォントと日本語の明朝系フォントが混じるのはやめさせたい・・・。


**xetexをバックエンドにしてみる [#uc997421]
dblatexでxetexを使うのは簡単である。-bオプションでバックエンドをxetexにするだけである。
 python C:/Python26/Scripts/dblatex -b xetex -t pdf \
   -p C:\bin\asciidoc\dblatex\asciidoc-dblatex.xsl \
   -s C:\bin\asciidoc\dblatex\asciidoc-dblatex.sty \
   C:\bin\asciidoc\jptest.xml
他にMiKTeXのmpmで''metalogo''パッケージをインストールしておく必要がある。そして、dblatexを改造しておく。修正するファイルは
C:/Python26/share/dblatex/xsl
 --- lang.xsl.orig       Sun Aug 23 08:13:19 2009
 +++ lang.xsl    Sat Jan 30 23:31:40 2010
 @@ -7,11 +7,11 @@
 
  <xsl:param name="latex.encoding">latin1</xsl:param>
  <xsl:param name="korean.package">CJK</xsl:param>
 -<xsl:param name="cjk.font">cyberbit</xsl:param>
 +<xsl:param name="cjk.font">song</xsl:param>
  <xsl:param name="xetex.font">
 -  <xsl:text>\setmainfont{DejaVu Serif}&#10;</xsl:text>
 -  <xsl:text>\setsansfont{DejaVu Sans}&#10;</xsl:text>
 -  <xsl:text>\setmonofont{DejaVu Sans Mono}&#10;</xsl:text>
 +  <xsl:text>\setmainfont{MS PMincho}&#10;</xsl:text>
 +  <xsl:text>\setsansfont{Meiryo}&#10;</xsl:text>
 +  <xsl:text>\setmonofont{MS Gothic}&#10;</xsl:text>
  </xsl:param>
 
 
 @@ -203,6 +203,7 @@
    <xsl:text>\ifxetex&#10;</xsl:text>
    <xsl:text>\usepackage{fontspec}&#10;</xsl:text>
    <xsl:text>\usepackage{xltxtra}&#10;</xsl:text>
 +  <xsl:text>\XeTeXlinebreaklocale "ja_JP"&#10;</xsl:text>
    <xsl:value-of select="$xetex.font"/>
    <xsl:text>\else&#10;</xsl:text>

''cjk.font''をsongに変えたのは、前にやったpdflatexでcyberbitフォントを使えるようにしたときの残骸なので今回はまあ無視してよい。ここで''setmaifont'', ''setsansfont'', ''setmonofont''でそれぞれMSP明朝、メイリオ、MSゴシックを指定した。''setmainfont'', ''setsansfont''にMS明朝、MSゴシックを指定すると文字化けしたが、プロポーショナルフォントのMSP明朝を指定すると文字化けを回避できた。また、章のタイトルにはMSPゴシックではなんか安っぽい感じになってしまったので、メイリオを使うことにした。また、''XeTeXlinebreaklocale''で''ja_JP''を指定しないとワードラップが利かないみたいなのでこのオプションは必須。~
#ref(result_xetex.png,nolink)~
まあまあである。というわけで、これからはdblatexのバックエンドはxetexを使うことにした。
**asciidocのオプション指定 [#u04a3ae5]
a2xから使うには、色々オプションを追加して、次のようになる。
 python a2x.py  -d book -a lang=ja --dblatex-opts="-b xetex" -f pdf jptest.txt

#htmlinsert(adBigRect)

**コメントをどーぞ [#a6a2f12e]
#comment
----
[[CategoryTex]] [[CategoryAsciiDoc]]


HTML convert time: 0.004 sec.