otfパッケージがpLaTeXで使えない

otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
返信数: 13
実現したいこと
・otfパッケージを使えるようになること

使用環境
Windows10/64bit版
TeXLive2021(インターネットインストーラを使用しました)
Visual Studio Code上でLaTeX Workshopという拡張機能を用いて書いています

問題・エラーコード
プリアンブルで\usepackage{otf}を含めた文書をビルドしようとするとエラーとなり、
Transcript written on Untitled-3.log. (guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: ISO-2022-JP = jis)name = hminr-h, rootname = hminr-h, pointsize = mktexmf: empty or non-existent rootfile! kpathsea: Running mktexmf hminr-h.mf The command name is C:\texlive\2021\bin\win32\mktexmf Cannot find hminr-h.mf . I try ps2pk --> gsftopk --> ttf2pk --> hbf2gf. Current font seems to be a Japanese one. I give up to create a PK font. Untitled-3.dvi -> Untitled-3.pdf [1 kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+359/600 --dpi 959 hminr-h The command name is C:\texlive\2021\bin\win32\mktexpk kpathsea: Appending font creation commands to missfont.log. dvipdfmx:warning: Could not locate a virtual/physical font for TFM "hminr-h". dvipdfmx:warning: >> There are no valid font mapping entry for this font. dvipdfmx:warning: >> Font file name "hminr-h" was assumed but failed to locate that font. dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output... No output PDF file written. ptex2pdf processing of c:/Users/UT/Downloads/LaTeX/Untitled-3 failed.
とでます。
上のエラーコードを確認する限り、フォント関連のファイルに問題があると思われるのですが、
hminr-h.mfについてどのような処置を施せばいいのかがわかりません。(既存のファイルの書き換えか、新たにファイルをとりこむのか、という話です)
ご教授ください。
森 辰 への返信

Re: otfパッケージがpLaTeXで使えない

- 和田 勇 の投稿

もう少し情報を提供してください。

  • 以下のどちらかの方法でソースとログファイルの情報を添付ファイルでアップしてください

    • ソース /Users/UT/Downloads/LaTeX/Untitled-3.tex と/Users/UT/Downloads/LaTeX/Untitled-3.log を zip でまとめたもの
    • https://texwiki.texjp.org/?OTF のページに掲載されているどの例で行ったなどの情報と共にその時作成されるログファイル
  • VS code で拡張子た設定内容も合わせて提示してください。

和田 勇 への返信

Re: otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
情報不足失礼いたしました。添付ファイルにtex文書とlogを載せました。
settings.jsonは

{
// 設定: LaTeX Workshop
"latex-workshop.latex.tools":[
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "Step 1: ptex2pdf"
},
{
"command": "pbibtex",
"args": ["%DOCFILE%", "-kanji=utf8"],
"name": "Step 2: pbibtex"
},
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "Step 3: ptex2pdf"
},
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "Step 4: ptex2pdf"
},
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "ptex2pdf"
},
{
"name":"ptex2pdf (uplatex)",
"command": "ptex2pdf",
"args": ["-l","-u","-ot","-kanji=utf8 -synctex=1","%DOC%"]
},
{
"name": "bibtex",
"command": "bibtex",
"args": ["%DOCFILE%"],
}
],
"latex-workshop.latex.recipes": [
{
"name": "pt2p-pt2p",
"tools": [
"ptex2pdf",//タイプセットに使うtoolの名前
"ptex2pdf"
]
},
{
"name": "pt2p-bib-pt2p-pt2p",
"tools": [
"Step 1: ptex2pdf",
"Step 2: pbibtex",
"Step 3: ptex2pdf",
"Step 4: ptex2pdf"
]
}
],
"latex-workshop.latex.clean.fileTypes": [
"*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk", "*.synctex.gz",
// for Beamer files
"_minted*", "*.nav", "*.snm", "*.vrb",
],
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.clean.enabled": true, //上とぶつからないかな?auxiliaryファイル削除
"latex-workshop.latex.autoBuild.run": "never",
"security.workspace.trust.untrustedFiles": "open",
}
で.latexmkrcファイルの設定は

!/usr/bin/env perl if ($^O eq 'MSWin32')
{ $latex = 'platex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %S'; $pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B'; $makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf.exe %O %S %D';
$pdf_mode = 3; if (-f 'C:/Program Files/SumatraPDF/SumatraPDF.exe') { $pdf_previewer = '"C:/Program Files/SumatraPDF/SumatraPDF.exe" -reuse-instance'; }
elsif (-f 'C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe')
{ $pdf_previewer = '"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance'; }
else { $pdf_previewer = 'texworks'; } }
else { $latex = 'uplatex %O -synctex=1 -interaction=nonstopmode %S'; $pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf %O %S %D';
$pdf_mode = 3; if ($^O eq 'darwin') { $pvc_view_file_via_temporary = 0; $pdf_previewer = 'open -ga /Applications/Skim.app'; }
else { $pdf_previewer = 'xdg-open'; } }

です。
森 辰 への返信

Re: otfパッケージがpLaTeXで使えない

- 和田 勇 の投稿
  • texlive インストールは正常に終了しましたか?
    • ネットワークインストールの場合、時々一部のパッケージのダウンロードに失敗することがあります
    • その際には終了時、インストール再開の手順などが表示されるのでそれに従うことでインストールできます
  • texlive インストール後に拡張子 .map のファイルを編集したり updmap-sys.exe とか updmap-user.exe に関わる操作はしませんでしたか?
    • 通常は hminr-h.tfm と表示されるのが hminr-h.mf となっていたので、これに関する文字列は kanji.map にあるのでそれを編集されたか確認をしたいです
  • 提示された settings.json で動きますか?

    • json フォーマットに必要な 「{」「}」「:」「,」 が提示された setting.json にはありません。投稿することによって消えたのかな?
    • ちょっとはしょたり冗長的なところを統合したりしてありますが、以下のように書き換えて動作することを確認しました
        {
            "latex-workshop.latex.tools": [
                {
                    "name":    "ptex2pdf",
                    "command": "ptex2pdf",
                    "args": [  "-l", "-ot", "-synctex=1", "%DOC%" ],
                    "env": {}
                },
                {
                    "name":    "pbibtex",
                    "command": "pbibtex",
                    "args": [  "-kanji=utf8", "%DOC%" ],
                    "env": {}
                }
            ],
            "latex-workshop.latex.recipes": [
                {
                    "name": "pt2p-pt2p",
                    "tools": [
                        "ptex2pdf", "ptex2pdf"
                    ]
                },
                {
                    "name": "pt2p-bib-pt2p-pt2p",
                    "tools": [
                        "ptex2pdf", "pbibtex", "ptex2pdf", "ptex2pdf"
                    ]
                }
            ]
        }
    
  • vscode を利用するのではなく cmd プロンプトや powershell ・ vscode のコンソールでまず texlive で OTF が使えるか試すため以下の コマンドラインで実行してください。

        cd c:\Users\UT\Downloads\LaTeX
        ptex2pdf -l Untitled-3
    
  • 上記でエラーになるのであれば、texlive インストール時の問題の可能性がありますので以下のコマンドの結果をファイルにリダイレクトして添付してください。(量が多いので、貼り付けには適していないので)
        updmap-sys.exe
    
  • pdf が作成された場合は、おそらく settings.json の記述の問題と思いますので以下を参考に再検討してください

    • https://texwiki.texjp.org/?Visual%20Studio%20Code%2FLaTeX
  • 提示された .latexmkrc ですが、コピーする際の最初の「#」が選択範囲に入れ忘れたのでしょうか?

    • 今回は latexmk を使わないのですが、今後利用されるのなら「!」で始めるのではなく「#!」とした方が良いでしょう
  • ログファイルの先頭部分が欠損しているように思いますが、今回は再送は不要です。また.latexmkrc などインデントされているファイルは、コピペで貼り付けるより、添付ファイルにしていただけると助かります。

和田 勇 への返信

Re: otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
丁寧なご返信ありがとうございます。プログラミングやコンピュータについての知識が乏しく、TeXについても詳しくは理解していないが故のお見苦しい点があったことをお詫びします。

texliveについては、正常にインストールが完了したと思われます。

以前pLaTeXで文書を作成していた際、と
The command name is C:\texlive\2021\bin\win32\mktexmf
Cannot find rml.mf . I try ps2pk --> gsftopk --> ttf2pk --> hbf2gf.
Current font seems to be a Japanese one.
I give up to create a PK font. dvipdfmx:warning: Couldn't open font map file "pdftex.map".
dvipdfmx:warning: Couldn't open font map file "kanjix.map". sample.dvi -> sample.pdf

といったエラーコードが出てしまい日本語を含む文書がコンパイルできませんでした。この時、
C:\texlive\2021\texmf-dist\dvipdfmx
のdvipdfmx.cfgのコード内で添付ファイルのdvipdfmx_changed.txtに書かれているように書き換えを行いました。確か、pdftex.mapとkanjix.mapの行頭に%を加えてコメントアウトしたと思います。これで(理由はよくわかっていないのですが)日本語文書をコンパイルできるようになりました。

settings.jsonの欠陥はペースト時の問題だと思われます。申し訳ありません。正常に動きます。

 cd c:\Users\UT\Downloads\LaTeX ptex2pdf -l Untitled-3 
森 辰 への返信

Re: otfパッケージがpLaTeXで使えない

- 和田 勇 の投稿
- >texliveについては、正常にインストールが完了したと思われます。

  - いくつか設定を変えているようなので、うまくいかないようであれば 
      texlive の uninstall して改めて install した方が早い解決になるかと
      思います。
  - 再インストールの際は作業中のダウンロード失敗に巻き込まれなくす
    るためには ISO イメージからの作業も検討してください。
    昨今のハードウェア環境では 30 分から 1 時間程度で終了します。
    その後 tlmgr update --self --all でネットワークインストールと同じ
    になります。

- 提供情報 updmap-sys-1.txt にある frenchtab.map のエラーを見
  ると以下のような操作行っていませんか?

        updmap-user -enable Map frenchtab.map
        あるいは
        updmap-sys  -enable Map frenchtab.map


 これが原因の一つかもしれません。この frenchtab.map は

    https://www.ctan.org/pkg/musixtex の
    https://mirrors.ctan.org/macros/musixtex.zip に含まれている
    ものセットアップしたと思いますが、エラーのメッセージの最後に
  「Did you run mktexlsr?」と書かれていますが 「mktexlsr」を
    実施しましたか?

  これを実施後「 kpsewhich frenchtab.map」でパスが表示される
  ことを確認の上「updmap-sys.exe」を実行してみてください

- dvipdfmx.cfg の変更しても日本語が出力できるのならそれで良い
  のですが、texlive 2021 インストール後、追加インストールしたも
  のや設定変更を行なった作業は思い出せますか?その作業の中に何
  か原因があるのかもしれません。
  時間がかかるようでしたら、冒頭にも書きましたがさインストール
  も検討してください。
和田 勇 への返信

Re: otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
ありがとうございます!
和田様の言われたとおりにターミナルに書き込むと、添付ファイルのような返答がありました。
森 辰 への返信

Re: otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
すみません、この後何をすればよいのかわかっておりません。
森 辰 への返信

Re: otfパッケージがpLaTeXで使えない

- 和田 勇 の投稿
- dvipdfmx.cfg を森さんと同じようにして 問題の Untitle-3 を
  コンパイルしたのですが、エラーなど発生しませんでした
  → 他にもどこかを変更していると想定しています

      --- C:\texlive\2021\texmf-dist\dvipdfmx\dvipdfmx.cfg.backup 2021-07-28 21:10:21.
      +++ C:\texlive\2021\texmf-dist\dvipdfmx\dvipdfmx.cfg 2021-07-29 16:25:42
      @@ -206,7 +206,7 @@
      %% Font Map Files
      %%
      %% teTeX 2.x and TeX Live using updmap (pdfTeX format)
      -f  pdftex.map
      +%% f  pdftex.map
     
      %% teTeX 2.x and TeX Live using updmap (DVIPDFM format)
      %f dvipdfm.map
      @@ -216,11 +216,11 @@
      %f psfonts.map
     
      %% Put additional fontmap files here (usually for Type0 fonts)
      -%f  cid-x.map
      +f  cid-x.map
     
      % the following file is generated by updmap(-sys) from the
      % KanjiMap entries in the updmap.cfg file.
      -f kanjix.map
      +%% f kanjix.map
      % minimal example for Chinese and Korean users
      % improvements please to tex-live@tug.org
      f ckx.map

- > この後何をすれば

  書いたつもりですが、伝わらなかったようなので追加も含めて ...

  1. texlive 2021 インストール後に frenchtab.map などを配置など
      追加変更の洗い出しとやり直し
      - 変更したファイルや操作
      - 参考にした 書籍やURL などの情報も必要になる場合もあります
      - なぜ kanjix.map をコメントして cid-x.map を活かしたかの理由 ... のようなこと
      - ...

  2. 1. が困難であれば、一旦texlive2021を再インストール(早期解決ならこっちをお勧め)
    - 変更するファイルは必ずバックアップを取る
    - frenchtab.map のように追加する場合は各種情報を記録しておく
        - 入手URL情報
        - インストール・配置の手順
        - ....
和田 勇 への返信

Re: otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
お手数をおかけしすみません。多分、TeXの仕組みなどを理解せずにいろいろいじくってファイルの書き換えなどをやったせいでおかしくなっているのかもしれません。一旦今のTeXLiveを削除したのち、ISOイメージで再インストールしてみます。ありがとうございます。

森 辰 への返信

Re: otfパッケージがpLaTeXで使えない

- 和田 勇 の投稿
そのほうが早いと思います。

お節介な情報ですがオープンソースなものを扱うとき
git というものを最近よく聞くと思います。
これを利用すると、どこを修正したとか、削除したファイルや追加した
ファイルなどの情報が後から容易に取得できます。

なお latex / texlive とは直接は関係ないのでスルーしていただいて結構です。

初期手順

    0. git のインストールはインターネット検索で調べてください

    1. 管理者権限付きで cmd か powershell 起動
    2. cd C:\texlive\2021
    3. git init
    4. git add .
    5. git commit -am 'はじめの一歩'

    以上の操作で mail address や名前に関する設定をしろという警告は
    とりあえず無視して良いです

これで変更情報を調べる準備終了

いろいろ修正したら次の「 git status」「git diff 」で変更内容を確認
することができます。(いちいちバックアップを取得する必要ありません)

  cd C:\texlive/2021
      git status    変更されたファイルや削除・追加された情報が表示される
                            mktexlsr や updump-sys などで自動生成されるものも修正と表示されます

      git diff   変更された差分情報の表示

ちょっと便利なところ

      修正されたものは 「git checkout ファイルパス」とすることで
    簡単にもとに戻せます。

後始末

    C:\texlive\2021 に .git という隠しディレクトリが作成されています。
    容量も相当数あるので、設定がうまくできたら削除してください
和田 勇 への返信

Re: otfパッケージがpLaTeXで使えない

- 森 辰 の投稿
ISOイメージでインストールしたところ、otfパッケージが使えるようになりました。インストール時間もインターネットインストーラーよりも格段に速く、大変助かりました。ありがとうございます。
また、和田様の紹介してくださったgitもインストールしました。名前は聞いたことがあったのですが、実際どのようなものなのかは知らなかったのでこちらもありがたいです。
多大なお時間をお取りして回答してくださり、本当に感謝します。ありがとうございました。
和田 勇 への返信

Re: otfパッケージがpLaTeXで使えない

- 和田 勇 の投稿
  • クローズしたのですが、git 利用に関して他のスレッド対応で判明したので備忘録として

  • 今回、VMware Fusion 環境で c:\texlive\2021 以下をgit 管理して調べようとしました。(ホストは macOS です)

  • texlive の多くのファイルが CRLF の問題で警告を都度表示するので実用的な時間では処理できないとの判断をしました。

  • 原因の一つは仮想環境もあるのですが、紹介した git を利用した方法は texlive 以下に収められているファイルの変更情報を把握するのには適さない ので取り下げします。 :-(

  • 勿論対処方法はあるらしいのですが、手軽に利用できないことも取り下げの理由です。

  • みなさんが作成される latex のソース履歴管理には問題ないとは思います.