Windows 10 Home 64bit
TeX Live 2019 を texlive2019.iso 内の install-tl-windows.bat でインストールしました.
以下の tex ファイルを C:\Users\(ユーザー名)\Desktop\Python\textest_0 に template.tex という名前で保存しました.
===== template.tex =====
\documentclass[uplatex]{standalone}
\begin{document}
YourTextHere
\end{document}
======================
エンコーディングは UTF-8 です.
それを uplatex で dvi に変換後,
さらに dvisvgm で dvi を svg に変換する以下の Python プログラム (mktexsvg.py) を実行しました.
===== mktexsvg.py =====
import os
import subprocess
TEX_DIR = os.path.join(THIS_DIR, "tex") # 作成した tex ファイルの出力先.
TEMPLATE_TEX_PATH = os.path.join(THIS_DIR, "template.tex") # テンプレート (template.tex) へのファイルパス.
TEX_TEXT_TO_REPLACE = "YourTextHere" # テンプレート (template.tex) 内の書き換え用 TeX テキスト.
# C:\Users\(ユーザー名)\Desktop\Python\textest_0 (=THIS_DIR) にある
# テンプレート (template.tex) の書き換え用 TeX テキスト (TEX_TEXT_TO_REPLACE)
# を expr に書き換え.
# 書き換えた tex ファイルを expr から mkname() にて作成した
# ファイル名 (name) で name.tex として UTF-8 で
# C:\Users\(ユーザー名)\Desktop\Python\textest_0\tex (=TEX_DIR) に保存.
name = mkname(expr)
tex_path = os.path.join(
TEX_DIR,
name
) + ".tex"
if os.path.exists(tex_path):
return tex_path
with open(TEMPLATE_TEX_PATH, 'r', encoding='utf-8') as template_tex:
body = template_tex.read()
body = body.replace(TEX_TEXT_TO_REPLACE, expr)
with open(tex_path, 'w', encoding='utf-8') as tex:
tex.write(body)
return tex_path
# expr (TeX テキスト) からファイル名 (name) を作成.
name = expr
to_delete = ['/', '\\', '{', '}', ' ', '~', '\'', '\"', '^']
to_replace = {<br /> '<': 'lessthan',<br /> '>': 'greaterthan',<br /> '?': 'questionmark',<br /> '.': 'point',<br /> ':': 'colon',<br /> '%': 'percent',<br /> '|': 'vbar'<br /> }
for char in name:
if char in to_delete:
name = name.replace(char, "")
for char in name:
if char in to_replace.keys():
name = name.replace(char, to_replace[char])
return name
# tex_path にある tex ファイルを uplatex にて dvi に変換.
dvi_path = tex_path.replace(".tex", ".dvi")
if os.path.exists(dvi_path):
return dvi_path
commands = [
"uplatex",
"-kanji=utf8",
"-no-guess-input-enc",
"-interaction=batchmode",
"-halt-on-error",
"-output-directory=" + TEX_DIR,
tex_path
]
subprocess.run(commands)
return dvi_path
# dvi_path にある dvi ファイルを dvisvgm にて svg に変換.
svg_path = dvi_path.replace(".dvi", ".svg")
if os.path.exists(svg_path):
return svg_path
commands = [
"dvisvgm",
dvi_path,
"-n",
"-v",
"3",
"-o",
svg_path
]
subprocess.run(commands)
return svg_path
tex_path = mktex(expr)
dvi_path = texdvi(tex_path)
svg_path = dvisvg(dvi_path)
return svg_path
expr = "あいうえお"
mktexsvg(expr=expr)
========================
========================
This is e-upTeX, Version 3.14159265-p3.8.2-u1.24-190131-2.6 (utf8.uptex) (TeX Live 2019/W32TeX) (preloaded format=uplatex)
restricted \write18 enabled.
entering extended mode
WARNING: font file 'uprml-h.mf' not found
WARNING: font file 'uprml-hq.mf' not found
WARNING: can't embed font 'uprml-h'
========================
これはどのようにして解決すればよいでしょうか?