Visual Studio Codeを使って論文を書くに当たって、私の分野の場合には、「旧字体⇔新字体」の変換ができると非常に有難い。pythonで開発された「kyujipy」をVS codeに組み込むことで、これを実現することができる。
pythonとkyujipyをセットアップすれば準備完了。以下のコードを実行すると、あるテキストファイルの文字列を旧漢字に変換し、別のファイルとして出力することができる。
from kyujipy import KyujitaiConverter converter = KyujitaiConverter() in_file = "(入力ファイルへのパス)" out_file = "(出力ファイルへのパス)" try: file = open(in_file, encoding='utf-8') text = file.read() text_kyu = converter.shinjitai_to_kyujitai(text) file2 = open(out_file, 'w', encoding='utf-8') file2.write(text_kyu) except Exception as e: print(e) finally: file.close() file2.close()
なお、このコードは、pythonを学んで一日目の私が書いたへたくそなものなので、多分もっといい方法があると思う。あと、Markdown形式のファイルの「引用文」(「>」で始まる行)だけに対して旧漢字変換を掛けて、他の文はそのままにする、という処理も多分可能だと思うんだけど、まだ勉強中で書き方がよく分からない。残念。
「旧字体⇔新字体」の変換サービスやソフトは色々あるが、この方法のよいところは、どの字を変換するか自分でカスタマイズできるところにある。kyujipyのdataファイルの中のコードを自分で書き換えると、どの字を変換するか調整することができる。また、熟語の組み合わせ次第で変換する、みたいな処理も可能だ*1。
(棋客)
*1:追加メモ。私は基本UD体を使って論文を印刷したいのだけど、一部の旧字体にはUD体が存在しない。純粋に美観の問題から、以下の変換はオフにしている。["説", "說"], ["歳", "歲"], ["内", "內"], ["彦", "彥"], ["連", "連"], ["廉", "廉"], ["旅", "旅"], ["税", "稅"], ["絶", "絕"], ["尚", "尙"], ["産", "產"], ["告", "吿"], ["戸", "戶"], ["呉", "吳"], ["娯", "娛"], ["契", "契"], ["閲", "閱"], ["脱", "脫"], ["鋭", "銳"], ["悦", "悅"]