級数での文字サイズ指定

級数での文字サイズ指定

- 土屋 勝 の投稿
返信数: 8
jsbookを使い,\fontsize{12Q}{20H}\selectfontと文字サイズを12Qに指定したのですが,出力結果は11Q相当になってしまいました。
8pt,8.5ptでも小さく,9ptにしてほぼ12Qになりました。本来9ptは13Qのはずです。
プリアンブル部では文字サイズの指定は行っていません。
級数で指定した通りの文字サイズにするには,どうすれば良いのでしょうか。

\documentclass[tombow]{jsbook}

\setlength{\parindent}{1zw}

\setlength{\baselineskip}{22H}

\setlength{\textheight}{34\baselineskip}

\setlength{\textwidth}{38zw}

\begin{document}\section*{まずは無指定}

日本国民は、恒久の平和を念願し、人間相互の関係を支配する崇高な理想を深く自覚するのであって、平和を愛する諸国民の公正と信義に信頼して、われらの安全と生存を保持しようと決意した。

\section*{ここから12Q}

{\fontsize{12Q}{20H}\selectfont

日本国民は、恒久の平和を念願し、人間相互の関係を支配する崇高な理想を深く自覚するのであって、平和を愛する諸国民の公正と信義に信頼して、われらの安全と生存を保持しようと決意した。

}

(略)

\par

\section*{ここから9pt}

{\fontsize{9pt}{20H}\selectfont

日本国民は、恒久の平和を念願し、人間相互の関係を支配する崇高な理想を深く自覚するのであって、平和を愛する諸国民の公正と信義に信頼して、われらの安全と生存を保持しようと決意した。

}
\end{document}

土屋 勝 への返信

Re: 級数での文字サイズ指定

- TONE Kozaburo の投稿
jsbook クラス・jsarticle クラスには,デフォルトで 12Q と 14Q オプションがありますが,それをお使いにならないのでしょうか。
TONE Kozaburo への返信

Re: 級数での文字サイズ指定

- 土屋 勝 の投稿
本文中で場所によって12Q,13Q,14Qなどと大きさと字送りをを変えなければいけないので,オプション指定ではダメなんです。
土屋 勝 への返信

Re: 級数での文字サイズ指定

- 奥村 晴彦 の投稿
> 9ptにしてほぼ12Qになりました。本来9ptは13Qのはずです。

ヒント:jsbookやjsarticleでは欧文10ptに和文13Qを合わせています。
土屋 勝 への返信

Re: 級数での文字サイズ指定

- Z. R. の投稿

一般に和欧混植の際には欧文を少し拡大するとバランスが良くなるとされてますが、pLaTeX では処理の都合で「和文を少し縮小して」います。つまり、\fontsize{10}{...} とした時に、欧文フォントは(公称)10pt になるのに対し、和文はそれより小さいサイズになります。この縮小率は文書クラスごとにより異なるものですが、先の奥村先生の回答にあるように)jsbook では 10pt の指定の時に 13Q になるように約 92 %に設定されています。

フォントサイズを「和文規準で」簡単に指定するトリックとして以下のようなものが知られています。

  • 以下のように長さ命令 \bQ を定義する。

    \newlength{\bQ}
    \setlength{\bQ}{1.081444Q}

    ここで「1.081444」は先述の「縮小率」の逆数。(1 ÷ 0.962216 ÷ 0.961 として計算。)

  • 「和文が 11Q になるようにフォントサイズを変更したい」場合、以下のようにする。

    \fontsize{11\bQ}{16H}\selectfont

    (もちろんこの場合欧文は 11Q より少し大きくなる。行送りは「縮小」の影響を受けないので細工せずにそのまま 16H(或いは 16trueH)等とする。)

土屋 勝 への返信

Re: 級数での文字サイズ指定

- 本田 知亮 の投稿
ご同業なので老婆心ながら.

jsclassesのフォントの割り当てはpTeXオリジナルの割り当てに加えて
10ptに13Qを割り当てているのでそれを逆手にとって級数を指定しなければいけません.

ここら辺の計算は混乱するのですが,
デフォルトでは,欧文10ptに対して9.62216ptの和文が対応します.ですので,
DeclareFontShapeでたとえば,1.0391倍すると
9.62216 * 1.0391 = 9.9983
という計算で欧文10ptに対して10ptの和文とできます
#jfmを作り直してサイズを調整するのもありです

さて・・・TeXでは1pt=0.3514mm(1pt=1/72.27inch=2.54cm/72.27=0.3514mm)ですので,
これを考慮すると13Q=9.25ptというところです.

これを考えると10pt欧文に13Q(=9.25pt)和文を割り当てようとすると9.25/9.62216=0.961倍してあげればよいわけです.
これがjsclassesの比率です.

この状態で単純に12Qを指定すると和文は12Q*0.962216*0.961=11.10Qです.

そこで13Q=9.25ptを逆手に取ります.
新しい単位\JQを13\JQ=10ptとなるように作成します
13\JQ=10*13Q/9.25
\JQ=(10/9.25)Q
\JQ=1.081Q
です.つまり,
\newdimen\JQ
\JQ=1.081Q
としてあげると
12\JQ
=1.081*12Q
=1.081*12*(9.25/13)pt=9.23ptです.
いま,10pt欧文に13級和文なので,9.23pt欧文には,13*0.923=11.999級の和文が対応します.
これは12級といってもいいでしょう.

この\JQを使うと和文主体のサイズ指定ができます.
jsclassesでは和文主体のサイズ指定ではなく
欧文主体でのサイズ指定だと考える方がいいでしょう

ちなみに私は,ばっさり和文,欧文比を1:1にすることも多いです.
これでバランスが悪ければ実は欧文の方を調整するほうが現実的です.
#helveticaなんかは大きめに見えますし
#一方timesなんかは比較的小さく見えます.
#和文でも新ゴとかジュンは大き目なので
#実際のフォントをみないと調整は無理ですけど.

ot1cmr.fdなどのデフォルトでは「飛び飛びのサイズ指定」なのでサイズの代替がなされますが,
私はそれがいやなので,実際はtype1cm.styのように
すべて書き換えることが多く,すでにテンプレート化されているので実際の作業的にはそう大変ではありません.
#個人的にはcmr5なんかは
#もう扁平すぎてNGじゃないかとも思うので
#ここらも調整の余地があるのかなとかも思います

本田 知亮 への返信

Re: 級数での文字サイズ指定

- 土屋 勝 の投稿
ZRさん、本田 知亮さん アドバイスありがとうございます。
お二人から教えていただきましたように、Q×1.081とすることで級数指定が写植割付スケールの通りできるようになりました。

ただ、これはちょっと残念ですね。
級で文字サイズを指定するのは和文主体だと思うので、最初から1.081倍した大きさをQ数としておいた方が良かったのではないでしょうか。

土屋 勝 への返信

Re: 級数での文字サイズ指定

- 本田 知亮 の投稿
>最初から1.081倍した大きさをQ数としておいた方が良かったのではないでしょうか

いいえ,間違いなく余計な混乱を招きます.
「10Q空き」とかはどうしますか?

この問題は,本質的には和文と欧文の
「バランスのよい大きさと何か」
ということに原因があって,
単位系の問題ではありません.

欧文10ptに対して,和文9.62216ptというのは
ある和文フォントとコンピュータモダンを比較して
見栄えの大きさとして設定されたものだそうです.

したがって,原理主義的には
和文とそれに合わせる欧文によって
主観的に最適と思える比率に
調整することになるのでしょう
#そんなこと・・・つらくてやってられないですが
#場合によってはいじらざるを得ません.