iwonaを読み込むと和文で\textbfできない

iwonaを読み込むと和文で\textbfできない

- ひとみ さん の投稿
返信数: 10
当方macOS High Sierra (10.13.4)で、TeX Live 2018を使っています。

Iwonaフォントを使おうとしていろいろ試してみましたが、

下のhoge.texをuplatex+dvipdfmxで処理すると、
「太字」と「ならない」がゴシック体で出力されることが
期待されるのに対し、実際の出力では明朝体で出力されます。

実際、
LaTeX Font Warning: Font shape `JY2/mc/b/n' undefined
(Font) using `JY2/mc/m/n' instead on input line 4.
とログにも表示されます。また、\usepackage{iwona}しなければ
期待通りの出力になることも確認しています。

この問題を回避する方法はありますでしょうか。

===== hoge.tex ====================

\documentclass[uplatex]{jsarticle}
\usepackage{iwona}
\begin{document}
\textbackslash textbfしても \textbf{太字(bold)にならない}。
\end{document}
ひとみ さん への返信

Re: iwonaを読み込むと和文で\textbfできない

- 本田 知亮 の投稿
iwona.styで

\renewcommand{\bfdefault}{b}

となってるのが原因でしょうね

・\textbfは\bfseriesを呼び出す
・\bfseriesは書体を\bfdefaultに変える
・LaTeXのデフォルトの\bfdefaultはbx
・pLaTeXはbxをゴシックに割り当てる

ということで,iwonaを読むと

\textbf
-> b の書体が呼ばれる
-> JY2/mc/b/n が呼ばれる(ここが本来は JY2/mc/bx/n)
-> JY2/mc/b/nは未定義なのでJY2/mc/m/nが呼ばれる
-> 明朝になる

となるのでしょう.ということで
JY2/mc/b/nがJY2/mc/bx/nもしくはそれの本体の
JY2/gt/m/nになればいいので
以下のような感じでどうでしょう.

\documentclass[uplatex]{jsarticle}
\usepackage{iwona}
\DeclareFontShape{JY2}{mc}{b}{n}{<->ssub * gt/m/n}{}

\begin{document}
\textbackslash textbfしても \textbf{太字(bold)にならない}。
\end{document}
本田 知亮 への返信

Re: iwonaを読み込むと和文で\textbfできない

- 本田 知亮 の投稿
\DeclareFontShape{JY2}{mc}{b}{n}{ssub * gt/m/n}{}

NG

\DeclareFontShape{JY2}{mc}{b}{n}{<-> ssub * gt/m/n}{}

OK

です.

munepiさん:
fdまで見てなかったですが,

>OT1 や OML など fd には、bx の定義から ssub で b にしちゃっているから、

あら・・なら単純に bx にもどしても平気なのかも
ひとみ さん への返信

Re: iwonaを読み込むと和文で\textbfできない

- Yamamoto Munehiro "munepi" の投稿
下記のように、とりあえず、iwonaパッケージを読み込んだ直後に
\renewcommand{\bfdefault}{bx}
を記述してください
(たぶん、普通に本文書体を OT1 で iwona regular を使うだけだったら、これでOKなはず;後述)。

\documentclass[uplatex]{jsarticle}
\usepackage{iwona}\renewcommand{\bfdefault}{bx}%%reset \bfdefault
\begin{document}
\textbackslash textbfしても \textbf{太字(bold)にならない}。
\end{document}

この現象がおこる理由は、iwonaパッケージが \bfdefault を b に上書きしちゃったことです。

(でも、OT1 や OML など fd には、bx の定義から ssub で b にしちゃっているから、
なんで iwona.sty でわざわざ \bfdefault を b にしちゃうのか、パッと見でその意図が不明です。
iwonaパッケージのドキュメントとかに何か書いてあるかもです(知りませんが…)。)
Yamamoto Munehiro "munepi" への返信

Re: iwonaを読み込むと和文で\textbfできない

- ひとみ さん の投稿
お二方から返信があったのでどちらも試してみました。

\renewcommand{\bfdefault}{bx}
とすれば意図したとおりの出力が得られました。

\DeclareFontShape{JY2}{mc}{b}{n}{<->ssub*mc/bx/n}{}
としても(‘<->’が抜けていたようなので補いました)
意図したとおりの出力が得られましたが、otf.styを
読み込むと、
{\gtfamily{\mdseries 中字}{\bfseries 太字}}
で同じ太さの文字が表示されました。

ということで、
\renewcommand{\bfdefault}{bx}
を使うことにします。
お二方とも返信ありがとうございました。
ひとみ さん への返信

Re: iwonaを読み込むと和文で\textbfできない

- 奥村 晴彦 の投稿
これ美文書p.229でも書いたのですが,iwonaでもそうでしたか。

逆に日本語をbでも太字にするというのでもよさそうですね。
奥村 晴彦 への返信

Re: iwonaを読み込むと和文で\textbfできない

- aminophen の投稿
jarticle 系 (platex),ujarticle 系 (uplatex),jsclasses,OTF パッケージについて,bx だけでなく b も太字にして
良いのではないかと思うので,issue を立ててみました。
https://github.com/texjporg/platex/issues/74
aminophen への返信

Re: iwonaを読み込むと和文で\textbfできない

- 前田 一貴 の投稿
ただ興味があって疑問を書くだけなのですが,なぜ

> 「欧文 LaTeX で通常 \bfdefault は bx である」

のように bold は b ではなくて bx (bold extended) が bold の「標準」なのでしょうか.
何か歴史的な理由などあるのでしょうか.
前田 一貴 への返信

Re: iwonaを読み込むと和文で\textbfできない

- 前田 一貴 の投稿
と思ったら,既に書いてありましたね.
https://twitter.com/zr_tex8r/status/1004973706236473344

(extended の意味がわかっていなかった.)
前田 一貴 への返信

Re: iwonaを読み込むと和文で\textbfできない

- aminophen の投稿
> 「欧文 LaTeX で通常 \bfdefault は bx である」
という設計になっている理由は,あくまで個人的推測ですが,
Knuth の Computer Modern の METAFONT ソースが
・b → cmb10.mf
・bx → cmbx{5,6,7,8,9,10,12}.mf
と,bx の方が充実しているからなんじゃないかと思っています。
https://ctan.org/tex-archive/fonts/cm/mf

ここの README にも(本人が書いたものだと私は思います)

> The bold fonts cmbx5--cmbx12 have similar vertical dimensions
> [中略]
> they use bolder pen strokes, of course, and they are rather more extended.
> Font cmb10 is like cmbx10 except not extended

のように,b よりも bx の方がメインに扱われていますし。
aminophen への返信

Re: iwonaを読み込むと和文で\textbfできない

- 前田 一貴 の投稿
単に私が無知だっただけなのですが,ありがとうございます.
それが欧文フォントとして普通なのかはまだよくわかっていませんが,
CM では bold extended がデフォルトというわけですね.