実行環境
OS:Windows 10 Home 64bit
TeX 環境:TeX Live 2019 win64 版
※ さらに mutool をインストール.
こんにちは.
私は TeX を利用したとあるプログラムを開発中なのですが, そこでもし (u)pLaTeX で生成した dvi ファイルの時点からグリフの unicode を得ることができたら良いなと思っています.
ちなみに ptex2pdf・dvipdfmx 等によって得た pdf ファイルからグリフの unicode を得る方法の一つとして, mutool を利用する方法があることには気づきました.
たとえば, 以下の utf8 で保存した test.tex から以下のコマンド
「ptex2pdf -l -u test.tex」
で text.pdf を得たとします.
========== test.tex ==========
\documentclass{standalone}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}
\begin{document}
Hテスト
\end{document}
============================
ここで以下のようなコマンド
「mutool trace test.pdf」
で mutool を使うと, 標準出力で test.pdf 中のグリフの unicode を確認できます.
========== 標準出力 ==========
<document filename="test.pdf">
<page number="1" mediabox="0 0 38.63 9.59">
<set_default_colorspaces gray="DeviceGray" rgb="DeviceRGB" cmyk="DeviceCMYK" oi="None"/>
<fill_text colorspace="DeviceGray" color="0" transform="1 0 0 -1 72 72.004">
<span font="SQJXDC+CMR10" wmode="0" bidi="0" trm="9.9626 0 0 9.9626">
<g unicode="H" glyph="H" x="-72" y="63.564" />
</span>
<span font="JFXBKN+IPAexMincho" wmode="0" bidi="0" trm="9.5862 0 0 9.5862">
<g unicode="U+30c6" glyph="962" x="-62.131" y="63.564" />
<g unicode="U+30b9" glyph="949" x="-52.5448" y="63.564" />
<g unicode="U+30c8" glyph="964" x="-42.9586" y="63.564" />
</span>
</fill_text>
</page>
</document>
<page number="1" mediabox="0 0 38.63 9.59">
<set_default_colorspaces gray="DeviceGray" rgb="DeviceRGB" cmyk="DeviceCMYK" oi="None"/>
<fill_text colorspace="DeviceGray" color="0" transform="1 0 0 -1 72 72.004">
<span font="SQJXDC+CMR10" wmode="0" bidi="0" trm="9.9626 0 0 9.9626">
<g unicode="H" glyph="H" x="-72" y="63.564" />
</span>
<span font="JFXBKN+IPAexMincho" wmode="0" bidi="0" trm="9.5862 0 0 9.5862">
<g unicode="U+30c6" glyph="962" x="-62.131" y="63.564" />
<g unicode="U+30b9" glyph="949" x="-52.5448" y="63.564" />
<g unicode="U+30c8" glyph="964" x="-42.9586" y="63.564" />
</span>
</fill_text>
</page>
</document>
===========================
ほかにも, 得られた dvi ファイルを dvisvgm で svg に変換する際にテキストデータを保持するように設定し(オプション -n, --no-fonts を使わなければ), svg ファイルの中身を見ればグリフの unicode を発見することもできました.
ただ, dvi の時点でグリフの unicode を得る方法があるのか?そもそも不可能なのか?わかりません.
無いのであれば上記の方法でいいのですが, もし有るのであればご教示いただけると助かります.
よろしくお願いします.