upLaTeXでのOTFパッケージとPXBabelの併用

upLaTeXでのOTFパッケージとPXBabelの併用

- Aikawa Takuya の投稿
返信数: 6
はじめまして。TeX Live 2014を使っています。
日本語と韓国語での文書作成が主ですが、ここ数年で一気に便利になり、
感激しております。開発に携わっていらっしゃる方々に感謝いたします。

ところで、表題の件についてご質問(ご報告?)です。
以下のようなTeXソースをupLaTeX+dvipdfmxで処理したところ、
次のような問題が発生しています。

・\textgtなど書体変更コマンドが効かない

・疑問符や感嘆符のあとのグルーが入らない

・クオーテーション・マークをノノカギに変換、JIS2004字体など、
OTFパッケージの機能が働かない

\documentclass[a4j]{utarticle}
%\documentclass[a4j]{tarticle}

\usepackage[bxutf8]{inputenc}
\usepackage[uplatex,expert,jis2004]{otf}
%\usepackage[uplatex,noreplace]{otf}
%\usepackage[multi,jis2004]{otf}
%\input{otf-hangul.dfu}
\usepackage[english]{babel}
\usepackage[main=japanese]{pxbabel}
\usepackage{furikana}

\begin{document}

\kana{寒}{さむ}さ\kana{来}{き}たり\kana{暑}{あつ}さ\kana{往}{ゆ}き、\textgt{\kana{秋}{あき}\kana{収}{をさ}めて\kana{冬}{ふゆ}\kana{蔵}{ざう}す。}

\Kana{閏,余}{じゅん,よ}もて\kana{歳}{とし}を\kana{成}{な}し、\textgt{\Kana{律,呂}{りつ,りょ}は\kana{陽}{やう}を\kana{調}{ととの}ふ}

\selectlanguage{korean}
찰 寒 올 來 더울 暑 갈 往 \textgt{가을 秋 거둘 收 겨울 冬 감출 藏}

윤달 閏 남을 餘 이룰 成 해 歲 \textgt{가락 律 음률 呂 고를 調 별 陽}

\selectlanguage{schinese}
寒来暑往 \textgt{秋收冬藏}

闰馀成岁 \textgt{律吕调阳}

\selectlanguage{tchinese}
寒來暑往 \textgt{秋收冬藏}

閏餘成歲 \textgt{律呂調陽}

\selectlanguage{japanese}
“疑問?感嘆!平叙。”辻芦飴煎鄭

\end{document}

なお、自分なりに次のことは少し試してみたので、お知らせいたします。

・OTFパッケージのオプションを[uplatex,noreplace]にすると、
\textgtは作動するが、疑問符などの後ろのグルーは入らない

・uplatexではなくplatexで処理するようにすると、中韓の漢字書体以外は
狙った通りの組版結果になる(BXfltsrcは、ややハードルが高そうでテストしておりません……)

・また、pxbabelを読み込まず、中間の部分をコメントアウトしてuplatexで処理すると、
"mktextfm uprubygothrn-v"というのが2行並んだmissfont.logが生成され、コンパイル不可能

以上です。utf82texを使うなど(以前は使っていました)、迂回策はあるのでしょうが、
ぜひともOTFパッケージとPXBabelを併用したいと思っております。

こうした動作が仕様なのかどうか、改善策があるかどうか、
ご教示願えれば幸いです。よろしくお願いいたします。
Aikawa Takuya への返信

Re: upLaTeXでのOTFパッケージとPXBabelの併用

- t tk の投稿
話を伺った範囲で思いつく点を述べます。
裏はとれておりませんが、調査のとっかかりになれば、と思います。

・\textgtなど書体変更コマンドが効かない
よく分かりません。OTFパッケージのuplatex拡張は、書体の種類については、齋藤さんオリジナルのotfbetaと同等にしてあったと思います。

・疑問符や感嘆符のあとのグルーが入らない
kcatcodeの設定でどうにかならないでしょうか?

・クオーテーション・マークをノノカギに変換、JIS2004字体など、
OTFパッケージの機能が働かない
これは、OTFパッケージのうちの一部の機能について、私の作ったuplatex拡張部分が追い付いていない、ということのような気がします。
私がよく理解できない機能や関心の低い機能は、載せきれていない、というのは事実です。
t tk への返信

Re: upLaTeXでのOTFパッケージとPXBabelの併用

- Akira Kakuto の投稿
例をそのままテストしたものでは,otf のフォントは使用されて
いなくて,uptex の標準フォントだけのようです。(updvitype による)。
そこで,いっそのこと
\usepackage[uplatex,expert,jis2004]{otf}
を消すと,望んでおられるものに近づくような気がします。

> また、pxbabelを読み込まず、中間の部分をコメントアウトして

一点だけ。全く理解していませんが,
(up)rubygothbn-h, (up)rubygothbn-v, (up)rubygothrn-h, (up)rubygothrn-v
は用意してないようなので,以下ではないでしょうか

--- otf.sty.save Fri Feb 06 23:18:58 2015
+++ otf.sty Fri Feb 06 23:21:24 2015
@@ -345,13 +345,13 @@
\if@bold
\DeclareFontShape{\otf@JYn}{hgt}{m}{n}{<-> s * [\utf@sc@le] \otf@pfx@ \brsg@pfx@ expgothb\nlck@sfx@-h}{}
\DeclareFontShape{\otf@JTn}{hgt}{m}{n}{<-> s * [\utf@sc@le] \otf@pfx@ \brsg@pfx@ expgothb\nlck@sfx@-v}{}
- \DeclareFontShape{\otf@JYn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothb\nlck@sfx@-h}{}
- \DeclareFontShape{\otf@JTn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothb\nlck@sfx@-v}{}
+ \DeclareFontShape{\otf@JYn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothb-h}{}
+ \DeclareFontShape{\otf@JTn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothb-v}{}
\else
\DeclareFontShape{\otf@JYn}{hgt}{m}{n}{<-> s * [\utf@sc@le] \otf@pfx@ \brsg@pfx@ expgothr\nlck@sfx@-h}{}
\DeclareFontShape{\otf@JTn}{hgt}{m}{n}{<-> s * [\utf@sc@le] \otf@pfx@ \brsg@pfx@ expgothr\nlck@sfx@-v}{}
- \DeclareFontShape{\otf@JYn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothr\nlck@sfx@-h}{}
- \DeclareFontShape{\otf@JTn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothr\nlck@sfx@-v}{}
+ \DeclareFontShape{\otf@JYn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothr-h}{}
+ \DeclareFontShape{\otf@JTn}{ruby}{bx}{n}{<-> s * [\utf@sc@le] \otf@pfx@ rubygothr-v}{}
\fi
\else
\if@bold
Akira Kakuto への返信

Re: upLaTeXでのOTFパッケージとPXBabelの併用

- Akira Kakuto の投稿
> (up)rubygothbn-h, (up)rubygothbn-v,
> (up)rubygothrn-h, (up)rubygothrn-v
> は用意してないようなので,以下ではないでしょうか

参考:

%
% A MWE:
% platex test.tex
%
\documentclass{jsarticle}
\usepackage[expert,jis2004]{otf}
\usepackage{furikana}
\begin{document}
\textbf{\kana{漢字}{かんじ}}
\end{document}


! Font JT1/ruby/bx/n/10=rubygothrn-v at 9.24683pt not loadable: Metric (TFM) fi
le not found.
<to be read again>
                  relax
l.5 \textbf{\kana{漢字}{かんじ}}
                               
?
Akira Kakuto への返信

Re: upLaTeXでのOTFパッケージとPXBabelの併用

- t tk の投稿
ご無沙汰しております。

ご指摘していただいた点を修正し、upTeXのページ にて
otfbeta v1.7b6のupLaTeX拡張 (Ver.0.17)
として公開しました。

CTAN, TeX Liveリポジトリは、順次対応していく予定です。

Aikawa Takuya への返信

Re: upLaTeXでのOTFパッケージとPXBabelの併用

- Z. R. の投稿
・また、pxbabelを読み込まず、中間の部分をコメントアウトしてuplatexで処理すると、"mktextfm uprubygothrn-v"というのが2行並んだmissfont.logが生成され、コンパイル不可能

これについては Kakuto さんの投稿にある通りで、otf.sty の改変が必要です。
(他のルビ用フォントの設定の記述と対照する限りでは、これはバグであるように思えます。)

それ以外の件については、要するに、「upLaTeX では pxbabel と otf パッケージの設定が衝突している」ということです。(恐らく、pxbabel を作った頃には、まだ otf パッケージが upLaTeX に対応していなかったのでしょう。)

取りあえず、応急処置を行うパッケージを用意してみました。

これを otf と pxbabel より後に読み込めば、「日本語は otf パッケージでの設定通りになり、中国語・韓国語は(pxbabel 単体の設定の通り)upLaTeX の標準のフォントが使われる」状態になるはずです。

Z. R. への返信

Re: upLaTeXでのOTFパッケージとPXBabelの併用

- Aikawa Takuya の投稿
皆様、素早いレスポンスをどうもありがとうございました。
私だけでは手に負えない部分について調査してくださり、感謝いたします。

Z. R. さんの作ってくださったpxbabel-up-otf.styを使用してみたところ、
望み通りの組版結果が得られました。

OTFパッケージでゴシック体ルビのフォントが定義されていない問題(こうした理解で合っているでしょうか)についても、
githubで同梱してくださったサンプルを見て対処できました。

需要が少なく、かつわがままな要望に応えていただき、重ね重ねありがたく思います。
少しでも開発のお役に立てていれば、と思います。

また何かありましたら、よろしくお願いいたします。