和文中の英数字を和文フォントにしたい

和文中の英数字を和文フォントにしたい

- t t の投稿
返信数: 4
https://okumuralab.org/tex/mod/forum/discuss.php?d=1111 以上のようなディスカッションがありました。 ところが、現状moripropパッケージがありません。 用途としては、和文をUDデジタル教科書体N-R \setminchofont[0]{UDDigiKyokashoN-R.ttc} としているが、和文中にアルファベットが出てくると、別の欧文フォントになってしまうことに困っています。 別の対処法で、和文中の英数字を和文フォントで表示する方法はありませんでしょうか? 環境はTeXLive2021, upLaTeX、jsarticleです
t t への返信

Re: 和文中の英数字を和文フォントにしたい

- ut の投稿
(1)moriprop パッケージについて

> 以上のようなディスカッションがありました。 ところが、現状
> moripropパッケージがありません。

とのことですが、お示しのディスカッショントピックでも指摘され
ていますように、「サポートは終了しましたが,ダウンロードは出
来るようにしておきます.」となっていますので、今でも入手は可
能です。

ただ、moriprop パッケージは、その名のとおり、「モリサワの従
属欧文を使うためのTFM, VFのセットです.………当然ながらOpen
Typeのモリサワフォントを持っていないと使えません.」というも
のですから、任意の和文フォントの従属欧文に流用することはでき
ないのではないでしょうか。


(2)LuaTeX の場合なら

私は LuaTeX を使ったことがないのですけれど、LuaTeX だったら
できるみたいです:

 ・『美文書作成入門』(第 8 版・2020 年)252 ~ 253 ページ:
  「例えば本文用に和文・欧文ともに UD デジタル教科書体を使い
   たいならば、………とします。」

 ・ フリーフォントの設定について
  2021年 07月 17日(土曜日) 13:24
  https://okumuralab.org/tex/mod/forum/discuss.php?d=3164


(3)upLaTeX の場合なら

TeX Wiki の:

 ・ TeX とフォント
  https://texwiki.texjp.org/?TeX%E3%81%A8%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88

というページの「従属欧文を使う(1)」という部分で説明されて
いるような方法で tfm を作れば、upLaTeX でも、和文フォントの
従属欧文を使うことができるのではないかと思います。


# 「用途としては、和文をUDデジタル教科書体N-R \setminchofont[0]
# {UDDigiKyokashoN-R.ttc} としているが、…」とのことですが、
# これは pxchfon パッケージの設定のことかなと思うのですが、ご
# 質問では pxchfon パッケージを使ってらっしゃることには触れら
# れていないような気がするのですけれど…。
ut への返信

Re: 和文中の英数字を和文フォントにしたい

- ut の投稿
すいません、今朝:

>「従属欧文を使う(1)」という部分で説明されて
> いるような方法で tfm を作れば、upLaTeX でも、和文フォントの
> 従属欧文を使うことができるのではないかと思います。

と書きましたが、そのページにも:

>(一部 ttc があり、otftotfm がそのまま使えませんが)

と書かれていますように、ttc のフォントには、otftotfm は使えな
いのかも知れません。よく確認もせずに適当なことを言って申し訳
ありませんでした。
ut への返信

Re: 和文中の英数字を和文フォントにしたい

- ut の投稿
しつこくてすいません…。

月 9 を横目で見ながら検索をしてみましたら、CTAN に fontools と
いうユーティリティがあって、それに含まれている splitttc という
perl スクリプトを使ってみましたら、ttc を ttf に分割することが
出来ました。

それで:

  prompt> splitttc UDDigiKyokashoN-R.ttc

としましたら:

  UDDigiKyokashoNK-R.ttf
  UDDigiKyokashoNP-R.ttf
  UDDigiKyokashoN-R.ttf

が出来ましたので、このうちの UDDigiKyokashoN-R.ttf を使って
みましたら、otftotfm で tfm を作ることができたように思います。

添付 UDDigiKyokashoN-R.jpg
ut への返信

Re: 和文中の英数字を和文フォントにしたい

- t t の投稿
いろいろとありがとうございます。
一番最初の返信のみ拝見して、色々試しておりました。
結果として、upLaTeXのままでやる方法は何をやればいいか調べてもわからなかった(ターミナルとかを使うのだろう、とは予測つくが、調べても詳細が出てこない)ため、LuaLaTeXを使う方向に舵を切りました。
結構大変でしたが、次のようにして「和文中のアルファベットはUD教科書体に、数式中のアルファベットはデフォルトのものに」できました
\usepackage{luatexja-fontspec}
\usepackage{lmodern}
\setmainjfont{UDDigiKyokashoNP-R}[BoldFont=UDDigiKyokashoNP-B] %和文フォントをUDデジタル教科書体に
\setmainfont{UDDigiKyokashoNP-R}[BoldFont=UDDigiKyokashoNP-B] %欧文フォントを和文フォントであるUDデジタル教科書体の従属欧文に
このような感じです。
lmodernパッケージは一番最初に読み込まないと、\operatorname などのコマンドでUD教科書体が使われてしまう事象が発生しました。
最初に読み込めば一応この事象は解決できるようです。(lmodernパッケージを読み込まない場合も同様の事象が発生する。数式フォント中まで欧文フォントが影響を及ぼしているらしい)

また、最初にご指摘があったpxchfon パッケージですが、これを前提にした記述であることをわかっておりませんでした。申し訳ありません。