游フォントのダブルクォーテーションマークについて

游フォントのダブルクォーテーションマークについて

- KUROKI Yusuke の投稿
返信数: 19
Windows に入っている游フォントおよび platex + dvipdfmx を用いてダブルクォーテーションマークを組むと,全角幅の中に配置されないという事象に出くわしました.JFM の何かがおかしいのでしょうか?

添付ファイルの1ページ目が Windows 10 + TeX Live 2016 での結果,2ページ目が Mac OS + TeX Live 2016 での結果です.「いわゆる」の周りのダブルクォーテーションマークが,1ページ目のほうは詰まってしまっています.

Windows のほうは,8.1 + TL15 でも 10 + TL16 でも同様の結果です.

Windows のほうは
# kanji-config-updmap --sys yu-win10
$ ptex2pdf -l -ot "-kanji=utf8" double-quotation-yuwin-w10TL16.tex
として作りました.

Mac のほうは
$ platex test.tex
$ dvipdfmx -f ptex-yu-win.map test.dvi
として作りました.

% ConTeXt mkiv のような Unicode 多言語が前提の入力の場合,ダブルクォーテーションマークを日本語組版要件で組ませるためには,その範囲が日本語であることを明示しないといけない,というのは体験済みでした(未解決).pTeX 系で遭遇するとは驚きです.
KUROKI Yusuke への返信

Re: 游フォントのダブルクォーテーションマークについて

- aminophen の投稿
Windows の游のほうだけおかしいということですが、同じく TrueType である IPAex だと
正常ですので、TFM (JFM) のほうの問題ではない、と思います。

仮説として
「物理フォント側のダブルクオーテーションのボックスが正方形でない」
というのであれば、dvipdfmx でおかしくなることは説明がつきます。
(詰まった分だけ右端がそろわなくなる → forum:1898

とっかかりになるでしょうか。
aminophen への返信

Re: 游フォントのダブルクォーテーションマークについて

- KUROKI Yusuke の投稿
ありがとうございます.

2012年に海外で話す準備をしていて,将来この手の問題が起こるのではないかと予想はしていたのですが,現実に直面するとは,

% TUG 2013チュートリアルでフォントのことを話してくれる人には,この辺の規定・業界ルールについても話してもらう想定に入れていました.
% 結論としては,フォントを作る側の方もいろいろ試行錯誤しておられるので,組版とのセットで考えないといけないということで,自分の中では理解しています.
KUROKI Yusuke への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
WindowsのWordでやってみても,游だとダブルクォートは半角幅になりますね。InDesignだとどうなるのか,XeTeXやLuaTeX-jaだとどうなるのか,とか,いろいろやってみたいですね。
aminophen への返信

Re: 游フォントのダブルクォーテーションマークについて

- 阿部 紀行 の投稿
> 「物理フォント側のダブルクオーテーションのボックスが正方形でない

手元のエディタで游明朝を選んでみたら半角幅?で表示されたので,なんかそうみたいですね.ヒラギノも同じく半角幅ですが,こちらはdvipdfmxは正しく扱ってくれます.OTFだからかな.

これ,おもしろいですね.こんな感じ↓に“を一行にたくさん配置すると,後続文字がどんどん左にずれていく.しかも途中に欧文文字があるとその前に空きができる.
\documentclass{jsarticle}
\begin{document}
% 右端があわない
あ“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い

% Aの前に大きな空きができる
あ“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“Aい“い“い“い“い
\end{document}
dviの段階で(JFMの情報から)各文字の位置は決まるのだと思っていました.和文文字に関しては左にどんどん詰めていくのはdvipdfmxの仕事ということなんでしょうか?

-----
ところで別件ですが,「問題が再現できる完全なTeXファイル」を提示すべきではなかったのでしょうか.特にJFMがどうこう言うならばどのJFMを使ったのかくらい提示すべきかと.


阿部 紀行 への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
> 和文文字に関しては左にどんどん詰めていくのはdvipdfmxの仕事ということなんでしょうか?

ところが同じdvipdfmxでもuptexなら大丈夫なのがよくわからんです。
奥村 晴彦 への返信

Re: 游フォントのダブルクォーテーションマークについて

- aminophen の投稿
> ところが同じdvipdfmxでもuptexなら大丈夫なのがよくわからんです。

platex と uplatex で比べてみました。

\documentclass{jsarticle}
%\documentclass[uplatex]{jsarticle}
\begin{document}
あ“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い

あ“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“い“Aい“い“い“い“い
\end{document}

どちらも結果は期待はずれであることに変わりありませんが
・platex だとどんどん詰まっていく
・uplatex だと詰まらないがダブルクオートが正方形の左半分に寄る
となります。
ふたつまとめて zip で添付します。この違いの理由は理解できていません。
aminophen への返信

Re: 游フォントのダブルクォーテーションマークについて

- Z. R. の投稿
この違いの理由は理解できていません。

upTeX ではクオート(ダブル・シングル)は「別の JFM」になっているので、そこで「フォントが変わった」ことになるからでしょう。

Z. R. への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
あぁなるほど!

ツイッターで「仮想フォントで…」という天の声を観測しました。
奥村 晴彦 への返信

Re: 游フォントのダブルクォーテーションマークについて

- Z. R. の投稿

もちろん、ソレ専用の「TeXのフォント(JFM+VF)」を用意するのであれば、どうにでもなるのですが。

注意すべきなのは、従来の updmap の枠組、つまり「フォントマップだけ変更する」という方法では、
特定のプリセットのときだけrml/gbmにVFを効かせる
みたいなことはできない、ということです。

Z. R. への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
そりゃあそうですね。

JIS X 4051の「始め括弧類」(CHARTYPE=1)なら文字幅に関係なく全角取りにして右側に寄せる,といった日本語の組版規則をdvipdfmxに教えられればいいのですが…。
奥村 晴彦 への返信

Re: 游フォントのダブルクォーテーションマークについて

- aminophen の投稿
dvipdfmx の挙動からの推測にすぎませんが
「同一の JFM を持つ文字が連続している場合は、一文字ずつ配置していくのではなく、全部まとめて
ひとつの箱を作っておいて、そこに単純に文字を流し込んでいく」
ということなんでしょうか。

> JIS X 4051の「始め括弧類」(CHARTYPE=1)なら文字幅に関係なく全角取りにして右側に寄せる

これだと、今度は逆に hiraprop のような「それ専用に作られたプロポーショナルの JFM/VF セット」の
ときに間違った結果になりそうです。グルーで全角幅より縮んでいる場合もどうなるか想像つきません。
aminophen への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
そうなんです。ですからJIS X 4051を教えられるようなスイッチがあればいいのだろうと思います。
奥村 晴彦 への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
> JIS X 4051の「始め括弧類」(CHARTYPE=1)なら文字幅に関係なく全角取りにして右側に寄せる

よく考えたら違いました。「始め括弧類」はJFMでは半角取りの約物で,約物以外のもの(CHARTYPE=0)のすぐ後に来ると,間に半角のグルーが入るんでした。

そのことと今回の挙動がどう関係しているのか,あまり理解できていません。
奥村 晴彦 への返信

Re: 游フォントのダブルクォーテーションマークについて

- Yamamoto Munehiro "munepi" の投稿
はい、ZRさんのおっしゃるとおりです。

とりあえず、すぐにでもどうしても特有のフォントを使わないといけない場合、何らかしないといけないので、そのフォントに応じた仮想フォント(JFM、VF)を用意するなどやるしかないですね :D
Z. R. への返信

Re: 游フォントのダブルクォーテーションマークについて

- aminophen の投稿
> クオート(ダブル・シングル)は「別の JFM」になっているので、そこで「フォントが変わった」

なるほど。納得です。
でも platex / uplatex いずれにせよ、游の場合は
「クオートだけ調節し、ほかは標準を参照する合成 VF」
を用意するなど処置が必要なわけですね…
阿部 紀行 への返信

Re: 游フォントのダブルクォーテーションマークについて

- Dora TeX の投稿
「dvipdfmx が左からどんどん詰めていく」という仕様は,pTeX, upTeX ともに,次のようなケースでよく見かけます。

hirapropパッケージを用いて,欧文フォントとしてヒラギノ従属欧文を用いるときに,TFMの想定と異なるウエイトのヒラギノフォントを dvipdfmx の map に指定すると,従属欧文はどんどん左に詰められてゆき,和文に復帰するところで大きくズレが出てきます。

また,欧文文字のみで行を組むと,右に空白ができ,行末もガタガタになります。

upLaTeX + dvipdfmx で試したサンプルソースは以下の通りです。添付ファイルは出力結果のPDFです。

%%%% upLaTeX サンプルソース
\documentclass[uplatex]{jsarticle}
\usepackage[uplatex,deluxe]{otf}
\usepackage{hiraprop}
\usepackage{lipsum}

\def\test{あいうえおThe quick brown fox jumps over the lazy dog.です。\par}

%%% ヒラギノ角ゴW6の従属欧文用TFMに,あえてヒラギノ角ゴW3を割り当てる
\AtBeginDvi{\special{pdf:mapline hirakaku-w6-h Identity-H :0:HiraginoSans-W3.ttc}} %%% El Capitan 付属の ヒラギノ角ゴシック W3.ttc へのシンボリックリンク

\begin{document}

\test %%% 和文:ヒラギノ明朝W3,欧文:Computer Modern
{\hmrfamily\test}%%% 和文:ヒラギノ明朝W3,欧文:ヒラギノ明朝W3の従属欧文
{\gtfamily\hsffamily\test}%%% 和文:ヒラギノ角ゴW3,欧文:ヒラギノ角ゴW3の従属欧文
{\gtfamily\hsffamily\bfseries\test}%%% 和文:ヒラギノ角ゴW6,欧文:ヒラギノ角ゴW6用のTFMで組んでdvipdfmxでヒラギノ角ゴW3の従属欧文を埋め込む

{\gtfamily\hsffamily\lipsum[1]}%%% ヒラギノ角ゴW3の従属欧文のみで段落を組む
{\gtfamily\hsffamily\bfseries\lipsum[1]}%%% ヒラギノ角ゴW6用のTFMを用いて段落を組み,dvipdfmxでヒラギノ角ゴW3の従属欧文を埋め込む

\end{document}

阿部 紀行 への返信

Re: 游フォントのダブルクォーテーションマークについて

- Dora TeX の投稿
よりシンプルに,「等幅用JFMにプロポーショナルフォントを割り当てた場合」のサンプルを作ってみました。dvipdfmx が左詰めに和文文字を埋め込む結果,ひどい結果になりますね。

upLaTeX + dvipdfmx + 怨霊フォントの例です。

%%% upLaTeX サンプル
\documentclass[uplatex]{jsarticle}
\AtBeginDvi{\special{pdf:mapline upgbm-h UniJIS-UTF16-H onryou.ttf}} %%% ゴシックを怨霊フォントに割り当て

\begin{document}

明朝体明朝体明朝体明朝体\textgt{ほげほげ,ちょっとチェックしちゃった!}明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体\textgt{ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!ほげほげ,ちょっとチェックしちゃった!}明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体明朝体

\end{document}

阿部 紀行 への返信

Re: 游フォントのダブルクォーテーションマークについて

- KUROKI Yusuke の投稿
あ,ソースファイルを貼るのを忘れてました.私が提示した例は

\documentclass[10pt,a4paper]{jsarticle}
\setlength{\parindent}{0pt}
\begin{document}

ああああああああああああああああああああああああああああああああ
ああああああああああああああああああああああああああああああああ

あああああ“いわゆる”あああああああああああああああああああああ
ああああああああああああああああああああああああああああああああ

\end{document}

のソースで作りました.(つまり,jis でした.)
KUROKI Yusuke への返信

Re: 游フォントのダブルクォーテーションマークについて

- 奥村 晴彦 の投稿
MacにWindows 10のフォントをコピーしてやってみました。
uplatexだと右端が揃って組まれます。
ただ,ご覧のように「“」の位置がおかしくなります。
確かdvioutは文字幅が全角でなくても「“」は右詰めにするといったルールを持っていたような気がしますがdvipdfmxにはそういうルールがないんでしょうね。しかしこれじゃ游はWindowsでは使えないことになってしまい,ショックです。せっかくWindowsでも游+otfパッケージでヒラギノ相当の多書体が使えると思ったのに。
添付 160906a.png