戻る

新・漢文エディタについて

2026.5.8

PDFへの書き出し機能を加えたほか、ヘルプ機能をステータスバーに持たせ、テキストエリアの右クリックでコピー・貼り付け等を行えるようにし、他に読み仮名入力を簡素化したりと細かいところの使い勝手を改善した。

PDF書き出しは、Wordを起動してPDFでの保存を行う過程を自動実行するだけのものらしいが、ファイル容量はずいぶん増えてしまった。Wordへの保存は、Wordを起動せずにファイルだけを作るのでここで普通に入力する程度の文章の変換は1秒だが、PDFは数秒程度かかるようだ。プログラムコード自体は、アイコンファイルを含めても全体で100KBにすらならないが、変換のためのライブラリを満載したプログラムは47MBもある。河原で一杯やるだけの目的でアメリカ流にキャンピング・カーに家財まで載せて出かけるようなものだ。あらかじめ河原に道具をセットしておく必要のないのがせめてもの取り柄か。今回はPDF変換のためだけで、こうも増えたのだろうと思う。その代わり、他のWordを介した操作も同じライブラリでできるならいいが。

次はExcelの操作も、できれば起動なしでファイルを作成・操作するなど工夫したいが、本丸の「書き下し文作成」も、前回書いた学習アプリにお株をとられないうちに旧版からPythonに移植したいものだ。

ヘルプは主要なボタンやテキストウィジェットの上にマウスを当てれば、本体下のステータスバーにその役割が表示される。バルーンヘルプより簡単でよい。もともと、それほどのヘルプも必要ないシンプルなツールかと思う。

2026.5.7

  Wordへの書き出し機能を加えた。表示は、MS-OfficeネイティブのVBAで出力した旧・漢文エディタのものと比べて遜色は無いと思う。Wordに書き出すのは、〔本文〕とその右下の〔注記(ノート)〕の欄に入力した文章だけである(左下の欄は変換結果テキスト表示用のもので、現在は編集不可にしていないが、これはあくまでも作業経過を眺めるだけのものと見なしていただきたい)。Wordでは訓読漢文らしい体裁で出力できる。これについてPython-TKinterベースで同様の出力を工夫するのは自力では困難だったので、Geminiに骨格を作ってもらってそれを自分好みにカスタマイズする方法で形にしたが、それでも根本的に3度、4度と書き換えが必要で、なおかつ思い通りの出力はなかなか得られなかった。意外にもVBAの時のような中間タグをやめて、素朴に変換する方式に改めたところでようやく安定した出力が得られた。ただし、ToolTipライブラリとの相性が悪く、ツールチップヘルプを生かそうとすると本体が起動しなくなるため、便利なバルーンヘルプ機能だが取り除かざるを得なかった。そのためか、20枚のDOS/Vフロッピー分にJyDivideで分割していたのが、今回は12枚分で済んだ。

WordデータもまたJSONデータやテキストデータと同じフォルダに自動で保存する。もっとも、テキストとJSONは同時に出力するが、Wordは専用のラベルボタンを押さないと生成しない。Word本体を立ち上げてから書き込む方法ではなく、Wordファイルだけを先に作るというもので、変換はWordを起動しないので数秒でできる。プレビュー画面も作れるらしいが、すでにHTML出力機能を備えているし、結局似たものになるので無駄な機能は付けない方がファイル容量を抑えられるはずである。

Wordへの出力が確保できると、これを介してPDFやEPUBへの変換も同時にできるらしい。もしこの機能を備えるようになったら、Word変換と同時に行う形にするつもりである。PDFやEPUBなどは、これを使わない人には余分な機能かもしれないが、Word同様、訓読漢文らしい体裁を保ったままデータ交換ができるのはかえって直感的でよいのではないか。不要な場合はファイルを削除するだけのことである。

「書き下し機能」(まだ新・漢文エディタには備えていない。)は、VBA版「漢文エディタ」のウリだったが、時代が進むとこんな面倒な機能も実装できるようになったのか、数研の「鴻(ひしくい)」という高等学校用サービスソフトにいつの間にか付属しているらしい。自然言語処理の進歩によるものなのかもしれない。私が「書き下し」機能をなんとかサマになるまでVBAで一から作り上げるのには、本当に何年かの長い時間がかかったものだ。動作確認は数え切れないほど行った。おかげで正規表現には多少慣れっこになった。今回のWord出力でもずっと正規表現をいじってみたのだが、いつ書いても間違える。本文が丸カッコ付きのふりがなだけになって思わず自分で笑ってしまったりした。

〔簡易ヘルプ〕
なお、過去の記録はこの記事の左上「これまでの状況」のリンクを参照。下の参考図に具体的な表記の例を挙げてみた。画像の切り取りが下手だったため、左端の枠が少し欠けてしまった。ちなみに、下図のように通常の現代文を混在させてもいいが、右下の〔ノート〕欄は変化がないのに対して、上の〔本文〕瀾のひらがな交じり文はカタカナ交じり文になってしまうので、後でWordやエディタ等から変換していただくことになる。(この辺も改善の余地あり。)

新・漢文エディタ ver.0.9の画面 KanbunEditor_v0.9

2026.5.2

「登録」ラベルボタンを付けたら、一気に14MBから20MBになってしまった。できることは、現時点で次の通り。 Taiju製「漢文エディタ」の最大の特徴の一つは、入力データを蓄積して継続的に利用できることである。もう一つの大きな特徴は「書き下し文」への自動変換なのだが、これはまだ「新・漢文エディタ」には無い。ただし、VBAではなくPython+TKinterで作っているので、Excelなしでも単独で動き、JSON(ジェイソン)形式への保存とテキストへの保存を同時に行う。これにより他のアプリケーションで利用できる可能性がある。JSON形式は、keyとvalueの組み合せによって最小のタグでデータを保存できる。また、読むことも容易だ。見出し項目と説明から成る辞書データに似た構成だが、入れ子にすることも可能であり、より複雑なデータ形式も可読性を保ったまま保存することができる。テキストベースの柔軟な構造データであり、簡易データベース(といっても数万件でもOKらしいが)のデータ容器に打って付けの形ともいえる。ただし、keyは一意でなければいけないので、保存の日時(分秒まで記載)をkeyとしてデータを保存する仕様にしている。テキストへの書き出しも同時に行っているので、こちらで見る方が簡単かもしれない。それでも、JSON形式を介して過去のデータにアクセスすることもできるようなので、それは可能なら工夫してみたいと思う。

「新・漢文エディタ」Ver.0.8では、既定のdata.jsonとdata.txtをプログラムファイルと同じフォルダにdataフォルダを作り、その中に同時に保存する。フォルダ構成をいじらなければ、次回起動したときも「登録」作業だけで追記が可能だ。また、他のフォルダに置いた過去のJSONファイルがあれば、それを読み込んで追記をすることもできる。「登録」ボタンは2つあり、どちらの形式も選べる。ただし、既定のdata.jsonはそれが無い状態でも一から作成するが、他のフォルダにある.jsonファイルは一度作ったものでないと読み込めない。その代わり、ファイル名は自由に変更できる。また、文字コードの基本はユニコード(のUTF-8)なので、シフトJISなどだと文字化けしてしまうかと思う。

一昨日のVer.0.7がすでに14MB、Ver.0.8は20MBある。新機能を入れるたびに、ファイル容量が大きく増えるのは困るが、現代のPC環境ではまだ苦になるほどではないだろう。ただし、今使っているNinja HPのファイル転送容量制限は10MBなので、JyDivideで1.44MB単位に分割するため、今回は15個のファイルに分割することになった。「自己復元型」なので、糊刷毛アイコンの付いた最初のファイルをダブルクリックすると自動的にもとのファイルを作成する。一つダウンロードするのに1秒程度かと思うので、ダウンロードの手間を惜しまないでいただけるとありがたいです。

新・漢文エディタ v.0.8の画面

2026.4.30

 身辺の事情で5年以上更新が止まっていたが、この春からPython(パイソン)とTKinter(ティー・ケー・インター)を使って、単独のEXE形式で旧来の機能の再現を始めた。まだ肝心の「書き下し文」への変換機能を付けていないが、白文やHTMLへの書き出しまでは実装した。(フォルダ構成等、工夫の余地は残っているが。)また、オマケ機能で「日記」(本文のみ出力)としても使えるようにプルダウン式のメニューを付け加えた。過去の漢文エディタについて「使い方が分からない。」という評価もあったので(もっとも、「漢文エディタの試み」という、現役時代に紀要に載せた紹介記事をアップしてはいたのだけれど)、いずれ簡単なヘルプなどもこのプルダウンメニューの方に入れるつもりでいる。基本的に、訓読漢文の《表記順》に「渡[|][二]渉す大河を[一]。」([|]は竪点(たててん)。ハイフンなんていう変な読み慣わしが通行している。)の要領でラベルボタンを活用しながら入力する。これにより各種変換が可能になる。返り点変換の後、HTMLに出力すると、やや訓読漢文らしい体裁で縦書き表示になるのが分かるかと思う。本文の左下には変換結果を表示(編集不可)、右下には書誌事項や注記、感想等を書き込める本文同様の複数行対応テキストボックスを配置した。本文への注記ボタン等は、今後加える予定。今のところヘルプはないが、画面を一枚だけにし、必要なことはバルーンヘルプ(見た感じが少々うるさいが)やステータスバーに表示する。

 Pythonの自由度は相当なものである。高校の「情報Ⅰ」の教科書になっていたりするようでそれも読んだが、基本的にVBAと似ていてさらにずっと簡便な作りだ。それにもかかわらず、できることの範囲が非常に広い。今年初めて触ってみて、これならもしかしたら自立型「漢文エディタ」が作れるかも、と思ったことだった。VBAで作っていたころは、もとがMicrosoftのアプリケーションを運用するための簡易言語だったから、MS Excelと切り離すことができなかった。そもそもがExcelを前提として作っていた。データの保存や活用には便利だが(だから今でも現役だ)、ある時Microsoftがセキュリティ面からマクロの実行を基本的に許可しない仕様に変更したりしたこともあり(今でもそのための準備が少し面倒だし、現役のとき少なくとも職場ではマクロが認められなかった。)、配布に支障が出たのもこのためだ。家主が手前勝手にあれこれ変更する構造的制約のためである。そんなこんなでがっかりしてしばらく怠けていると、今度は過去の本体ファイルを探すのが面倒だったりと、継続利用には多少不便な面もあった。Visual Basicを学んで独立ファイルを作りたいと思ったこともあったが、自分のような文系人間にはExcelやWordの操作ができるほど熟達できそうにも思えず、確かに洗練度は高いにしても、Microsoftベッタリのあり方、営利の対象の地位に置かれるのが何より好もしくなかった。

 今回は、Excelとの連携は二の次とし、テキストファイルで書き出す形でデータを保管する。フォルダとファイル名は基本的に選択、書き込みできるようにした。(ただし、「登録」ボタンが欠けているので、これはなるべく早く加える。)
 VBA版「漢文エディタ」は2020.6.26版が現在最終形だが、まだ十分実用に役立っている(WordやHTMLへの書き出しなど。もちろん書き下し文作成機能も)。ただ、細かいところの修正は不十分なままになってしまった。それに比べて、Python版はなんといっても既存の市販ソフト(アプリ)を必要としないのがウリで、EXEファイル一つで用が足りる。しかもWebページ(これが大流行らしいが、まだあまり興味は出てこない。)やExcel等の操作も可能らしい。Python自身はコンソールで操作する言語だが、標凖装備のTKinterをかぶせることにより、Windowsライクなインターフェイスでアプリ化できるのがありがたい。統合開発環境としてはPyScripterを使った。これもよく出来たツールで、シンプルで分かりやすいインターフェイスがとてもよく、間違えたところはPython InterpreterのウィンドウにPythonが指摘してくれるので、それを参考にしながら、流行のGoogleのGeminiを強力なTutorにしてどんどん出来上がってきた。ただし、もとのpyファイルを役割ごとに分割した方が作る際の見通しがよいかわりに、ファイル間の連携や変数のスコープと字下げの関係など、慣れれば自然に克服できるのだろうけれども、出来たつもりで動かすとすぐにエラーを出してくる気難しいところもPythonにはあり、理解につまずくこと頻りだった。それらについてはAIの恩恵を多々蒙っている。比較的シンプルで素直な短いコードによって複雑そうな機能を実装できたりすると、なんとなく賢くなった気さえしてくる。

 その代わりコンパイルしたファイルの容量が必要なライブラリを取り込んで現時点で14MB以上あるため、過去の(無料に近い)ホームページサービスで10MB以上のファイル転送を許しているところが手近に見当たらず、そもそもアップロードでつまずいた。(今はHPはとんと下火のようだ。)しかたなく、昔懐かしいJyDivideというソフトで10ほどのファイル(1つ大体1.44MB、この仕様は昔のDOS/Vのフロッピーディスク1枚分の容量による。これよりもうちょっと大きな分割単位はなく、これまた過去の遺物のMOの230MBになってしまう。極力ファイル数が減るようにしたつもりだが、現時点で10個になってしまうのがため息だ。もっとも、現在の通信環境なら個々のファイルは秒単位でダウンロードできるだろう。これは優れもののツールなのだが、分割・結合〔復元〕ソフトはその後あまり新手が出ていないようだ。)に分割したが、このソフトは「自己解凍形式」で分割できるので、ダウンロードは10ほどもあって少々面倒でも、全部同じ場所に並べておいて、一番最初の「.exe」になっているものをダブルクリックして実行すれば、元のファイルが復元されるという仕組みで、JyDivideそれ自体すら必要ない。面倒でも、ダウンロードの手間を惜しまず、まずは試していただければと思う。作業記録もまた「日記」機能によって日時と一緖に半自動的に残すことができる。

新・漢文エディタの画面