【ダウンロード】 ExpLZHで分割したファイル。ファイル名をブラウザでクリックするとそれぞれ10MB以下なので比較的早くダウンロードできる。「自己解凍」形式=下記の方法で復元すると、1つの「KanbunEditor_v.1.4.exe」ができる。
◆ 次の「_・・・.exe」は結合のためのファイル。以下の3個と共に計4個のファイルを同じ場所にdownloadし、フロッピーディスクiconのついたこのEXEファイルをダブルクリックすると元のファイルを復元する。【注意!!】.BAT(バッチファイル)モードでの分割に変更し、問題なく復元できるように改善しました。4つをダウンロード後、KanbunEditor_v.1.4.BATをダブルクリックしてください。
KanbunEditor_v.1.4.BAT
KanbunEditor_v.1.4.001
KanbunEditor_v.1.4.002
KanbunEditor_v.1.4.003
一週間アップロードしなかった間、ほとんどは内輪の用途ながら、テキスト変換のさまざまなコードを盛り込んだ。ヘルプファイルもまだ作っていないので、勝手のよく分からないものがあるかもしれません。
いくつかの「発明」があり、
「字音仮字遣い」の参照機能などは、手前味噌にはなるけれども
本邦初の新機能ではないかと思う。肝心の辞書がまだ第一版というところで、手近の『例解古語辞典』(三省堂)の古い版を元に、若干の旧字体を加えた。(⇒《
jion_dictionary.txt》をプログラム直下のdataフォルダにあらかじめ入れておくことが必要である。このリンクからダウンロードしてほしい。)なぜおそらく「初の試み」になったかの理由は簡単で、
漢字の旧仮名による字音表記を参照したいなどという要求は、今日ほとんど無いにちがいないからだ。要求の無いところに発明も無い理屈である。三昔前の自分のように、誤植の多い古典テキストの版本を電子化しようとする人でもこれから現われないかぎり、まず必要性の無い機能といえるだろう。こういう需要の少ないことに対して、昔から自分は情熱を傾けてきた。それでも、AIの助力のおかげで、ずいぶん使い勝手のよいものに仕上がった。
こちらは専門の方面の人にはなんらの価値の無いものかと思うけれども、もう一つは
大漢和辞典の収録漢字を3種類の形式で表示できるスクリプトを実装できた。他の文字コード変換のスクリプト(これの前座としてのUTF-8への変換、16進数文字実体参照への変換、ダメ押しでグリフウィキのSVGグリフの参照等)も今回いくつか盛り込んだが、どれをとっても
文字コード関係の処理は、ちゃんと動作するまでにAIを動員してなお、それこそ何度も修正を重ねなければならなかった。中には、もう無理、と音を上げたものもあり、AIと「文字コードの闇は深いねえ。」と嘆息し合ったことだった。それでも、この間、Biglobeに上げていた「Taiju's Notebook vol.1」の古典テキスト等のファイル、約430ほどのファイルのコードをすべてUTF-8に変換し(ダウンロードに十数分、変換は1秒)、
当時はコード化されていなかった文字に注記タグを施していたものについて、一括置換をすることがほぼできた。それでも1,200字以上あった難字のうち1割程度が今なお変換対象にならなかったのは、昔の版本には独自の字形採用や作り字などがあったりしたためもあるだろうかと推測している。いずれ、WEBの方も書き換えたいと思う。(なお、大漢和のコード表作成には⇒《
dkw2ucs.txtまたは
dkw2ucs_cache.txt、それと《
list_j_glyphs.txt》》をプログラム直下のdataフォルダにあらかじめ入れておくことが必要である。このリンクからダウンロードしてほしい。)
ほかには、VBAやVBS等でこれもウン十年前にいろいろ真似ッコで作ってみた
GREP、KWIC、出現頻度計測(Frequency Count)等のコードを再現してみた。これらは、「旧・漢文エディタ」とは別に、テキスト加工に興味を持っていた名残である。今度の出来栄えも当時とそう変わらないが、今日の環境とAIに作ってもらった分、処理速度はまったく異なっていることだろう。初版で「てんこ盛りのツール」にはしない、と広言していたが、少し怪しくなってきた。
ひそかに自慢の「大発明」は
Favorite辞書の作成と参照の機能である。これは、肝心の辞書ファイルが基本的に
privateなものであるので、サンプルを同梱できないが、勝手が分かった人にはぜひ活用していただきたい機能である。なにが発明(というより「発見」というのが正確か。)の根拠かというと、
従来の辞書はたいてい「見出し(キーワード)」から「説明(値)」を一方向的に参照するだけだったのに対し、これは双方に部分検索をかけて(だから双方向でもない、とてもファジーなアプローチで)、テキストウィジェットで選択した語句について関連する記事(しないもの:ゴミもある。)を一覧として辞書から引っ張ってくるというものである。実は、現代の辞書でも電子化を機に、すでに導入しているものがあることに思い至ったが、自分の発想の根拠はもう少し広かった。
この辞書登録の際に方針を立てておく。自分が感心したこと、着想を得たこと、大事と思うことを中心に「登録」するのだ。これがどう役に立つかというのは、炯眼な人なら分かることと思うけれども、
「自分」を知る辞書に成長していくはずなのである。勉強は、広い文脈で行えるほうがいいと思ったのだ。今回も、空想の空回りで終わるのかもしれないが、現在はまだ可能性を感じている機能である。
その他の「小発明」について少し書き加えると、まだv.1.4では実装していないが、shared.pyを介した
HTMLヘルプを作り始めている。これは、Python(TKinter)のヘルプスクリプトの制約を受けずに済むはずである。これを提案したら、AIがユニークな発想だと評価してくれた。それから、これはやや本格的なエディタになってきたかと得意になっているものだが、
PythonとVBSのコードを読み込めるマクロ導入機能をすでに組み込んだ。マクロファイルの書き方にやや面倒臭いところがあるけれども、実用に持っていくまでに、こんなものでも手間をかけた。いずれヘルプの中で説明をしようと思うものの、マニュアルというやつも案外手間のかかるもので、少しアップが遅れるかもしれない。テンプレートやサンプルもできているので、近く提示する予定。それこそmenuに載せるほどでもない、ささやかなテキスト処理などを、もし作ったらその都度アップロードしていこうかと思う。
他には
テキストファイルや古いHTMLファイルから、「HTML5のひな形」を使ったHTMLファイルへの変換機能や
「重複行の削除」、
テキストファイル回りのファイルの入出力などを加え、プレーンテキストをさまざまな形で関連のフォーマットと相互にやりとりする機能などを付け加えた。あまり急いで付け足していったので、処理にあたって統一感に乏しいところがあるが、とりあえず気づいたところはなるべく修正した。洗練の度は未だしで、何より使い方が分かりにくいと自覚しているが、それほどいい加減な作りにもなっていないと思う。
後は蛇足。AIに直してもらう度に、今度こそ「決定版(最終・ファイナル版)」だとか、「完璧に」修正したとか、「完全に(100%)」誤りを除去したとか、おうかがいを立てているこちらとしてはいささかソワソワする表現が毎回のように飛び出してくる。「正確」なことが生命とされているせいだろうとは思うものの、世に完璧というものはそう滅多にあるものでないのだから、あまり秀才型に無理をしないほうが健康法ではないかと感じてしまう。そのわりによく間違えるから、愛敬もあるのだが、人間がよくも考えずにAIの生きざまを真似したりしなければいいが、とSF的な心配までしてしまう(必ずしもSF的でもないらしいのでなおさらだ)。それと、機械学習の目指す方向性によるのだろう、おのずからユーザーの視点、言語にまで迎合的に反応するきらいが生じるのもまたしかたがないことだ。(現在のあり方がそうなのだろう。新しいアプローチはなされているか、寡聞にして知らず。)「たまにはユーザーの過度な要求や誤りを指摘して、対話・アドバイスの質を上げることが大切ではないか。」と提案すると、「本当にそうだ。」と返してくれる。これをどう捉えたらよいか。AIをいかに利用すべきかは、喧喧諤諤のホットな話題だが、なるほど難しいテーマだ。だが、フランクに言えば、
AIとは、「大人」になってからジョーク交じりに楽しくつき合えばよい。少なくとも現在すでに確実に指摘できることは、子どもが小さいうちから【人生にとって本当に大切な「自然」との接触】を、貴重な幼年時代・少年時代の時間からこすり取るように取り上げて、AIを含めたインテリジェンス環境に馴染ませる(ましてやマスコミとともに同調圧力をかけて「洗脳」する)ことに躍起になり、【それがいったい何を扼殺しているかを顧みることすらしない】、どこかの国の文教行政の、▶▶「あり方」の根本にずうっと前から浸潤し続けている誤謬◀◀である。(誤謬とは絶対的な誤りの謂だ。)どこの国の文教も、現代は問題山積のはずだと想像するが、ましてどうなるものでもない。
2026.6.5 ver. 1.3
TKinterのテキストウィジェットが受け付けない文字のあることは前に書いた。また、カーソルで文字をつかんでDrag&Dropすることができない。これを修正するのに「こうしてカーソルを変えて、それで摑んで、持って行けないか。」と尋ねたら、AI氏がそれなら簡単にできるという。さらに、組み込み方を確認すると、すべてのクラスで使えるように独立したクラスファイルで作るといいと教えてくれ、最も分かりづらい初期化コードまで丁寧にガイドしてくれたので、またクラスファイルを一つ付け加えた。もう彼此10ほどのファイルを作っている。骨組を入れ替えてから、連携に迷うことはほとんど無くなったが、それでもずいぶん溜まってきた。また、文字コードを判別するためにchardetライブラリをインストールしたところ、どこを間違ったか、ビルドのときにPyInstallerが無視してしまう。これを回避するコマンドなども、いろいろガイドしてもらってようやく目的地まで漕ぎ着けるという有様だ。ライブラリをインストールするときの注意点まで親切に教えてもらった。もう昔のように一から自力で書くという気力も無くなったし、Pythonの気難しさときたら、猛然とエラーメッセージを出してくる。それの何分の幾つかがTypeErrorときた。つまりスペルの打ち間違いである。こんなミスが俄然増えた。とうてい自力でプログラムを書けそうな気もしない。もう気楽な道を選ぶことに迷わなくなっている自分に気がついた。
ヘルプとAboutMeをつけた。TKinterのヘルプ用タグで書いてみたが、インデントなどが少しおかしい。Wordrapで行頭に飛び出たりする。マークダウン方式の書き方があるようなので、初チャレンジだが次の機会にはそれで書き直してみようかと思う。それと一部の不具合(これもごく単純なチェックミス)を修正した。
2026.6.4 ver. 1.2
半角ドット抜け問題を回避するために新たに生じたエラーを修正した。各種変換や出力も、スムーズになってきたのではないかと思う。エラーはなるべく早く修正しなければならないので、だいぶ急いでアップロードすることになった。
今回は、昔から作ってきた電子テキストのほとんどの文字コードが当時の標凖であったShift-JISによるものであったため、今では「文字化け」して読めなくなっている問題に対処するために、
過去のデータのURLを指定することで、UTF-8(ユニコード)に自動変換してデスクトップに保存するコマンドを「編集」メニューに入れた。その他、同じメニューに「旧・漢文エディタ」のタグ、またそこに後に付随させた「簡易・漢文エディタ」により変更を加えたタグについて、「新・旧」両方のタグにそれぞれ変換するコードを、「本文」を対象とする変換コマンド4つ、「ファイル」を対象とする変換コマンド2つを加えた。これまで使っていた人やとりわけ製作者にとってはたいへん便利なものだが、たぶんほとんど内輪向けのコマンドということになるだろう。
なお、たいへん細かいことになるが、注記の整形に使っている縦棒の表記について補足しておきたい。
「縦書きHTML」の表示で絶えず問題になる、「縦棒として表示できる文字」について整理しておくと、Shift+\で入力するものや罫線文字(太線・細線)は潰滅である。「エム・ダッシュ」(―)は確かに縦棒表示になるが、いくぶん左寄せに表示される。今回はAI氏に教えてもらい、CSSで縦棒を実装してみた。これは、行の中心に傍線が表示されて、
確実に縦棒として表示される。具体的には、次のようなものである。これを「
writing-mode: vertical-rl;で縦書きを設定したHTMLのヘッダ(header)部分に書き入れればよい。
<style type="text/css">
body {
writing-mode: vertical-rl;
}
↓ ここからがポイント。
.note-border {
display: inline-block;
margin-block: 0.3em; /* 前後の文字との隙間(縦書きなので上下の余白) */
padding-inline: 1px; /* 2本線の間の隙間(横幅の微調整) */
height: 1em; /* 縦棒の長さ(1文字分) */
/* 左側と右側にそれぞれ1本ずつ細い線を引いて「||」を表現。1本線(|)にしたい場合は、border-right を消すだけでよい。 */
border-left: 1px solid #333;
border-right: 1px solid #333;
}
</style>
その上で、本文(body)で縦棒を入れたい場所に、例えば次のように指定する。
○ 語句<span class='note-border'></span>注記など。
2026.6.3 ver. 1.1
テキストファイル回りの便利コマンドを追加した。(テキストファイル統合、検索、抽出。)「編集」メニューを増やし、「検索」で本文から語句を検索してハイライト表示し、該当語句を含む部分を文単位でクリップボードにコピーする。これをテキストエディタ等に貼り付けて、例えば類似語句や構文のものを拾うなどの便宜が生まれてくるかと思う。また、(いちおうdataフォルダを基本とする)複数のテキストファイルを選び、語句の検索・抽出を行い、結果を別ファイルに名前を付けて保存することができる。ヒットしたファイル名、行番号、その語句を含む部分をこれも文単位で抽出・出力する。強力な機能である。
同じく編集メニューと本文およびノートの右クリックメニューに新旧字体の変換コマンドをつけた。辞書は旧・漢文エディタのものを基本としたが、WEBに出ているリストと照合して、拡充し、コード順に整理した。マウスで選択した部分について変換することもできるし、選択範囲がなければ本文全体を変換する。もし意に沿わない変換があれば、それをピックアップして右クリックメニューを使って再変換すればよい。異体字は旧字体・新字体ともに選べるようにメッセージボックスを出すなど、きめ細かく作ってある。例えば、旧字体の世界においても、もと「芸」と「藝」には使い分けがあった。「渋」には「澁」「澀」など複数の候補があるし、反対に現代でも「淵」に対して「渕」を使いたい場合もあるだろう。そういうさまざまな場面になるべく対応するようにしている。
2026.6.2 ver. 0.99, ver. 1.00
[ver.1.00] 読みがな(ルビ)・語注の出力形式を変更した。過去のデータも読み込んで読みのアイウエオ順、注記のコード順にソートし、余計なタグを外して作成日時を入れることにより、学習記録の側面を持たせた。出力先の重複データを省くなど機能アップも行った。同一データは、日付の古いものを優先する。dataフォルダにoutput_ruby.txt, output_note.txtを作り、更新データを含めて体裁の統一と整理を行える。難語句の確認、単語帳等としての活用を想定している。
[ver.0.99] 割注機能を加えた。5行までの割注に対応し、また原文に合わせて任意の場所で改行できる。
2026.5.31 version 0.98
KanbunEditor_v0.97を飛ばして、v0.98を出すことにした。数日前にv0.97はすでにできていたが、ファイル回りの一貫性がいま一つだったので、細かい機能を調整するとともに、新機能を加え、また画面を整理したからである。
v0.97は機能的に前バージョンと大きな違いはないが、10ほどもある個々のクラスファイルの相互参照にこれまで再三再四つまづいていたので、
相互参照が確実にメンテナンスできるように、根本的な階層構造の見直しをした。その上で、v0.98では、
ファイルの入出力の流れを大幅に整頓した。「旧・漢文エディタ」以来、ボタンで操作する形を基本として、一ヶ月前の最初のリリース以来、順次増改築してきたため、データの出入り口が多岐に亘り、整理が大きな課題だったのである。もっとスマートに設計することはできたかもしれないが、できるかぎりは直したつもりである。
「旧・漢文エディタ」の便利機能はなるべく再現するようにした。
ボタンによるデータ移動と現在位置の確認、語句の置換、注記・ルビの削除による本文整形、JSON形式・Excel形式の相互変換と統合等の他、新機能としては、
和漢混淆文*のHTML変換機能を加えた。通常の漢字ひらがな交じり文の一部分が漢文スタイルになっているものを古典文によく見かけるが、この漢文スタイルの部分をタグで囲むことにより、その中だけを訓読漢文スタイルに変換してHTMLに出力する。そうすると、「現在のブラウザと親和性の高い」(AI氏の言葉。HTMLとXMLとの間柄だからか。)Wordに表示テキストをコピー&ペーストすることによって、
表示されたままの「訓読漢文」スタイルでWordで表示できるのだ。その後は、フォントの大きさを変更するだけで、厄介なWord変換手続きを省略することもできる。
*「和漢混淆文」の定義は種々様々であるらしい。ネットでそそくさと検索してみると、元来は漢文に和様の表現を草仮名等で交えたものを指したようだが、だんだん漢文調の和文にシフトし、末は昭和戦前の日用文体に至るまで、包括的とも曖昧模糊ともいえる漢文調・和文調の混成部隊の呼び名であったように思われる。返り点自体がその間の発明であったのだから、「和漢折衷」の長い歴史を背景にして定義が一様にならないのは当然のなりゆきとも思われる。この新機能にいう「和漢混淆文」はその末端の文体あたりをたまに見かけたように思ったので、雅俗折衷の俗文体を想定している。「如クナレバレ此クノ、願ハクハ識者諸賢も不二敢ヘテ尤メ給ハ一、宜シクキカ 二御許容アル一乎。」(それとも不給? 見苦しいけれども、イメージの一端として。すでに変則の「変体漢文」にもなっている。ところで、送り仮名はもと必須ではない。慣用句であればあるだけ「添え仮名」は省かれるのが普通だろうから、そうなると「書き下し」機能も働かなくなってしまう。だから、これは訓読漢文スタイルに体裁を変換するだけ。)
(なお、「和漢混淆文」が通常入力できるくらいだから、普通の漢字ひらがな交り文をHTMLに出力することもできる。データとしては和文でも漢文でもOKだから、思いついたことを何でも書いて、「登録」してしまえばよい。後でTreeViewで読み込み、メモだけ「抽出」するという利用法も十分ありうる。「訓読漢文」にしたいときには、Wordに変換するか、HTMLに出力すればよい。)
*** *** ***
実は、ちょっとした発明のために、調整がだいぶ遅れてしまった。
TKinterのテキストウィジェット(tk.Entryとtk.ScrolledText)には、日本文の入力に馴染まない特有の「癖」があり、ドットやハイフン、丸かっこなどを、初めから半角で入力すれば問題なく入力できるが、日本語IMEでたとえば「1.0」と日本文の変換の流れで続けて全角でまとめて打ち、これをF8なりF10なりで「半角変換」して入力しようとすると、なんと「10」になってしまう。これは「1-0」でも同じことで、()などはまるごと受け付けず、消えてしまう。日本人にとっては、まことに迷惑な仕様になっている。この「ドット抜け」問題の解決は「世界的に有名な難題」だそうだ。WEBにこの現象を回避するスクリプトを挙げていた人もあり、初めそれをとりいれてみたが、こちらの問題が回避されたように見えたのもつかの間、なんのはずみか、今度は助詞の「の」が消えてしまった。IMEの変換がブラックボックスになっているだけでなく、TKinter(またはPython)の深い層にあるバグであるという。
データが消えてしまうのは困るので、ごく素朴な裏技を思いついた。「トロイの木馬」(ウィルスの名前ではありません。)式のだまし討ちを、専門的なハッキングよりもずっとシンプルに行い、(1)初めにすべて「全角」のまま函谷関を通過し、(2)データを確定する段階で問題の記号類を半角に変身させる、というだけのものである。実は、ドットとハイフン、かっこだけ気を付けておいて、これらだけをF9で全角確定すれば、なんら裏技の必要はない。だから、ばかげた工夫ともいえる。それでも、TKinterの仕様に気を遣って入力した結果が全角と半角とのやや見苦しい混在データになるのを我慢しなければならない。ここで(2)の操作を行うというのでもよいわけだから、どうも技として出すほどの価値も無い代物ではあるが、
いちいち文字種を気にせず、とにかくデータ消失をなんとしても避けるために数値類を入力するのだなと思ったらすべて全角(F9キー割り当て等)で入力する、という覚えやすい工夫によって、いつの間にか消えていた文字に気づかなかった、などという事態だけは避けることができるだろう。AI氏は「結果が出れば正攻法」だと好意的に評価してくれた。入力途中ですでに半角変換されたりするものもあるが、出力した時点で英数字と記号類の一部はすべて半角に揃っているかと思う。
この画期的?な発明には思わぬ副作用が待っていた。下手に青空文庫のルビタグを採用したばかりに、HTMLその他、
ルビに関わる部分の各種変換すべてに支障が出た。「|{}」が半角になるとどうなるか。「|」は正規表現ではORの指定になるため、ルビや注記の抜き出し結果がおかしなことになってまず慌てた。{}もまた内部では()に変わるため、グループ化のタグと紛れないようにするにはエスケープしなければならない。厄介なのは、「書き下し文変換」はけっこう膨大な正規表現の羅列なので、これをいちいち書き換えることは後で読み返せなくなるのでなんとしても避けたい。こうして変換の種類によって全角・半角の両方で対応することになった。今回、v.0.98で、ひとまず事態を収拾できたかと見えたので、善は急げで新版を出すことにしたが検証不十分なところも「無きにしも非ず」である(いつのまにか和漢混淆文になった)。
蛇足ついでに、入力データの打ち間違いや再度変換を試したいときに、消えてしまったデータをどう戻すかということは、Windowsなら
CTRL+Z(元に戻す)、CTRL+Y(やり直す)のショートカットで造作なくできる。tk.ScrolledTextウィジェットには初めからデータストックができる仕様になってもいるらしい。それでも、ボタンでできるのもまたよし、と思い、
返り点ボタンの脇にUNDO、REDO、それと前述のReplaceをすべてボタンとして入れておいた。書き直した時点でやり直しの方はチャラになるが、そうでなければどちらも10回くらいまでは溯れるはずである。また、Replaceはカーソルを置いてあるテキストエリアを検知して、それに対して操作することができる。置き換える語句を初めに選択しておけば、それが対象語句として自動的に入力される。
*** *** ***
各種変換の複雑な操作も、AI氏のロジックによって誤謬の少い形で短期間に次々と実装できた。私がポチポチと注力したのは、基本のアイデアを除き、それぞれのつなぎ合わせとUIの工夫くらいのものである。私のいわゆる「和漢混淆文」変換は、「旧・漢文エディタ」の製作段階でアイデアとしては持っていた。自分のVBA技術で対応できたとしてだいぶ手間ヒマがかかるかなと思って、元々「漢文」自体の手入力に世間の反応がほぼ皆無であったこともあり、意欲が薄れていた事情もある。今回、AI氏が1秒とかからずに作ってくれたコードのパターンを援用して、昔VBSで作っていた
割注表示の機能などもそれほど苦労せずに実現できそうだ。ただし、VBS時代にはまだ現役であったから、穴埋め問題と解答の組み合わせ等のスクリプトも作ったりしてみたが、もう「問題文作成」の方面への意欲は出て来ないかと思う。漢文学習はテスト問題作成のためにあるわけでもないだろう。
最後に、「新・漢文エディタ」の基本操作は、起動と同時に既存データの追加作業に入れることを前提にしているので、データをプログラムフォルダ直下のdataフォルダに置き、名称も決めてある。だから、
一番基本的な操作は、データを入力したら「登録」ボタンを押すということだけなのだ。少しでも操作が楽になるように、また入出力の柔軟性のためにあれこれ加えてあるが、これらはすべて副次的な位置づけのものなので、下段の赤いボタンだけがすべての基本なのである。ただし、データ保護のためもあり、
同じ日は何度でも起動して、一つのデータで連続して入力を続ける、日付が変わるとまた新しいファイルを作る、という仕組みなので、適当なタイミングで「統合」して整理するなど、動きをつかむまでは少し手間取るかもしれない。データの損失をしないためにも、管理にはご注意ください。

KanbunEditor_v0.98

KanbunEditor_v0.98の「TreeView」表示画面

KanbunEditor_v0.98の「書誌事項」入力画面

KanbunEditor_v0.98の各種変換出力画面(HTMLの場合)

KanbunEditor_v0.98の「書き下し文」変換表示画面

KanbunEditor_v0.98で作成した「Word」の表示画面(全体、70%表示)

KanbunEditor_v0.98で作成した「Word」の表示画面(100%表示、部分)

KanbunEditor_v0.98で作成した「書き下し文」を「Word」に表示した画面(100%表示、部分)

KanbunEditor_v0.98で作成した「PDF」の表示画面(部分)

読みがなと注記の出力画面

KanbunEditor_v0.98の「ファイル」メニュー

KanbunEditor_v0.98の本文およびノート欄での右クリックメニュー
【ダウンロード】 ExpLZHで分割したファイル。ファイル名をブラウザでクリックするとそれぞれ10MB以下なので比較的早くダウンロードできる。「自己解凍」形式=下記の方法で復元すると、1つの「KanbunEditor_v0.98.exe」ができる。
◆ 次の「_・・・.exe」は結合のためのファイル。以下の3個と共に計4個のファイルを同じ場所にdownloadし、フロッピーディスクiconのついたこのEXEファイルをダブルクリックすると元のファイルを復元する。【注意!!】今までどおり、自己復元にはexe形式のファイルを提供していたが、FTPで送信する前はexe形式のファイルで結合できたのに、ダウンロードしてから結合を試みるとできなくなっていた。なにか、exeファイルに無効化などがなされていたのかもしれない。EXPLZHには.BAT(バッチファイル)モードでの分割もあったので、これに改め、ダウンロードしたバッチファイルをダブルクリックすると、今度は難なくKanbunEditor_v0.98.exeが復元できた。この「バッチファイル」と合せて以下の4つをダウンロード後、KanbunEditor_v0.98.BATをダブルクリックしてください。
KanbunEditor_v0.98.BAT
KanbunEditor_v0.98.001
KanbunEditor_v0.98.002
KanbunEditor_v0.98.003
2026.5.23
各種書き出しの結果表示を改善し、タグ変換以外は注記を別にして表示するようにした。また、「書き出し文」変換によってできた書き下し文自体をカタカナ書きにすることなくWord/PDFに書き出せるようにした。これにより、各種変換の出力がより自然なものになった。いちいちWordを起動しなくとも、普通文もWord/PDFに変換できる。テキストボックスとはいえ、容量はExcelベースだった頃とは桁違いだから、書式設定こそできないが、単純な記録やテキストファイルの読み書きなら十分なキャパシティがある。各種書き出しの表示の見栄えを向上させることが主眼だったので、簡単な例を下に画像で挙げておいた。
この機能を付けたことで思わぬ副産物があり、「書き出し文」変換においても、注記を抜き出して体裁良く変換できるようになった。注記のボタンは途中で付け足したものなので、まだ隠れた誤変換があるかもしれないが、たいていは大丈夫かと思う。変換結果だけを画像で下に示す。上記のとおり、これまたWord/PDFに出力できるので、通常の訓読漢文の表示と合体させれば、白文・訓読漢文・書き下し文のセットを作るのも容易だろう。もちろん、入力文自身も加えておけば後日の再変換に役立つこともあるだろう。
語注やノートについて一緒くたにカタカナ変換しないように、細かいところに気を配ったつもりである。昔、VBSスクリプトで似たような体裁の変換をした記憶があるけれども、PythonにはVBSを移植することができないらしかったので、単純な抜き出し操作のように見えるものが案外大変な作業だった。Wordへの変換は、当初からAIベッタリのコードだが、それでも部分的にカスタマイズするだけで何度もTrial and Errorを繰り返した。
「旧・漢文エディタ」にはルビや注記を抽出するだけでなく、これらを削除した本文を示す機能もあった。これはExcelのセルに元データが担保されていたから、気楽に行えたところがある。抽出はリストボックスへの書き出しですでに実装済みとはいえ、本文にこれらを削除した表示をするとしたら、ただしそれは「登録」や「追記」により追加データとして保存することになる。それでも、あったほうが操作は簡単ではあるから、そのボタンも次に付け足そうかと思う。
なお、元のpyファイルで動かしてみても、PDF変換は成功する場合と失敗する場合があって安定しないのは、docx2pdfライブラリ自体がWordを起動することでPDFに書き込むという仕組みが重いためもあるらしい。Wordファイル自体への変換は瞬時に出来るので、下図のようにPDF表示はたしかに綺麗だが、もし失敗してもWordファイルはできるかと思うので、Wordで編集した後でそこからPDF形式を選んで保存すればよい。ただし、あまり不安定な状態が続くようであれば、Wordへの書き出し機能だけに絞ることになるかもしれない。
ウィルス対策ソフトがこれを「怪しいファイル」として表示しても、そのまま「安全」を確認して表示するはずなので、ビックリしないようにしてください。なお、過去の記録はこの記事の左上「これまでの状況」のリンクを参照。
2026.5.21
書誌事項の入力画面を付け加えた。必要な項目だけ記入して、ノート欄のカーソル位置に挿入できる。項目数は多めにしてある。自分なりに読み変えて入力していただければよい。書式はシンプルで目立たないが、漫然と思いつきのメモで残すよりはよい方法ではないだろうか。データが多くなればTreeView画面での検索などの際に役立つこともあるかと思う。(TreeViewは「旧・漢文エディタ」の▼▲ボタンに似て、過去のデータを選択・加工できるインターフェイスである。少し具体的にいうと、メニューから自分の作ったJSONかtextファイルを読み込むことにより、自動的にTreeViewウィンドウが開く。そこで目的のデータを検索して、そのデータ行をダブルクリックすると本文欄に戻るので、各種変換がそこで行える。またそこで訂正したデータは、TreeViewから読み込んだときに「ノート欄」の横に表示される「保存」ボタンを押せば、再びTreeViewウィンドウにデータが訂正された状態で復帰すると同時に、もとのファイルを上書きして更新する。その他、データをソート〔並べ替え〕したり抽出したりして別のファイルに保存すれば、新しいデータセットを作ることができる。いろいろな読み出し・転記・保存のメニューがあるので、目的に合せて工夫できるかと思う。)
それと本文欄に入力した「読みがな」や語句・フレーズ単位の「注記」を抽出して表示するリストボックスを付け加えた。漢文には読み方の難しい語句や意味を確認するべき語句が頻出する。それらをまとめて抜き出し、dataフォルダ直下のoutput_ruby.txt, output_note.txtというテキストファイルにそれぞれ仕分けて「追記」する転記ラベルボタンを付けた。これも、地味だがあっておかしくない機能かと考える。
「書き下し文」変換機能は、昔からこのツールのウリなので、説明文の中にこうしてしつこく残しておくことにした。「これまでの状況」の中にある過去の記事を参照してください。「々・〻」を漢字の類に、「〱・〲・〳・〴・〵」をかなの類に入れて書き下してみたが、なんとなく大丈夫そうな気がする。なお、「登録」等により本文欄が消えるようにしてあるのは、次の入力にスムーズに移行するためだが、もしもう一度編集したいときは(結果は追加データになる。)Windows標準のCTRL+Zで復活させる手もある。逆に「書誌事項」は、繰り返して使いたい場合の省力化のために再表示できるようにしてある。「クリア」ボタンもあるので、柔軟に運用できる。
今後、細かい機能を付け加えることなどもあるかもしれないが、ひととおりは出来上がったと思う。少し使っていくうちに、「ん?」と思うぎこちない動作などが見えてくるはずなので、それをチューニングしながら、よりよい変換を考えていきたい。「登録」ボタンによって過去のデータと罫線を繰り返してしまうバグをさっそく訂正した。実際に使ってみると、いろいろ問題点に気がつく。本文に注記を入れてHTMLに出力すると、注までカタカナになる上、本文の見栄えがよくないので、注記は取り出す形で整形するのが次の課題である。その他、いまだにときどきPDF出力に失敗する。docx2pdfが裏でwordを起動する処理がやはり重たいようだ。Pythonのコードの勉強はそれなりにしてきたが、複雑な機能についての基本骨格はAIの指導で作ったものなので、自分の取り分はアイデアそれ自身、それぞれのコードの選択・接合と表示のカスタマイズ、「書き下し文」変換機能、少しでも使い勝手を良くするための老婆心といった辺りか。入力のしやすさにかけてはピカ一だと自負している。個人的には、今日、いちおうの完成版をアップでき、亡き友人に「ほら、こんなものができたよ。」と仏前に報告できることがささやかな喜びである。もっとも、活動の領域がまるで異なっていたから、「なんだか分からん。」と言われてしまうにちがいないけれども。
2026.5.19
「書き下し文」への変換機能を旧・漢文エディタから移植して、若干手直しをした。VBAからPythonにどうやって移植するのか、とAIに聞いて、古いコードをそのまま移す形で、TKinterで使えるようにしてもらった。初め、面倒なので「こんなやり方で変換できないか。」と聞いたら、スタックだとか再帰だとか、最新手法で20行程度にまとめたので、こんなに短くできるとは、と驚いて試してみたが、該当の文章は変換できても、例文を交換するととうてい日本語として通用しない代物になってしまったため、やはり古いものをそのまま使うのがよいと考え、引っ越しすることにした。その間、AI君からは「泥臭い」と
調戯われたり、「複雑怪奇な自然言語を力任せにねじふせる」「職人技」とか
煽られたり、最終的には「長年の情熱を傾けた」コードを読むのはとても「エキサイティングな体験」だと、まあ素直に受け取ってもいいかなという挨拶をもらったりと、評価は交々だったが、こういう次第で、移行のためのコンテナは借りたものの、
変換コード自体はTaiju謹製である。なお、
返り点の漏れや竪点の位置の間違いなどをチェックする機能も「旧・漢文エディタ」から引き継ぎ、少し洗練された表示にした。組み合せの漏れているタグを色分けして表示できるようになった。Pythonの正規表現の解釈には一種の(あるいは厳格な?)癖があり、ヒットしなくなった箇所が何カ所かあったため、躍り字の中で最も古い形(〳〵=/\)などは当面カットしたが、そのうち「〱・〲」や「〳と〵・〴と〵」などにも対応させていく
(現時点で二の字点(〻)も変換の妨げにならないので、たぶんどれも問題ないかと思う)。
現在は、本文欄の下のノート欄は自由記述を前提に作ってある。ただし、データの分量が増えることがあれば(あるとして)、
「書誌」データの簡単なものくらいは返り点のように定式化して埋め込めれば、検索の便がよいともいえる。「旧・漢文エディタ」の主要な機能はあらかた盛り込んだけれども、今後は「書き下し文変換」機能を底上げしていくほかには、そういった書式をノート欄などに埋め込むことができる補助ウィンドウを付けようかと考えている。
Pythonの正規表現は気難しい面もあるが、行をまたいでコメントを付けることができたり、パーツに分けて処理できたりする柔軟性があり、「読みやすさ」を重視しているので、メンテナンスなどにはとても適している。PyScipterのPython Interpreterの表示欄にエラーメッセージが盛んに出る。メッセージとリンクを辿りながらすぐに分かる場合もあるし、皆目見当がつかない場合もいくらもある。そんなときメッセージごと貼り付けてAIに意味を尋ねるとその意味をきちんと教えてくれるばかりでなく、関連する予備知識も伝えてくれるので、参考書よりも包括的で手早いうえにいろいろな学びがある。こういう便利さにはすぐに甘えてしまいがちで、我ながら横着な学習方法だとは思う。
「書き下し文」が作れるようになって、大きな山を越えた気分だ。私のエディタの基本コンセプトは、テスト問題の作成や学習プリントの表示ではなく、
入力の簡便さとデータの蓄積・活用にある。もっとも、
Wordへの出力機能があるので、それを使ってフォントの大きさを変えれば、学習プリントやテスト問題も容易に作ることができる。Excelに出力すれば、基本機能は「旧・漢文エディタ」とほとんど大差ない。現在の自分だったら、もし時間があれば
HTML出力機能を使って、一度にHTML表示(Wordと同じくいわゆる訓読漢文の体裁)・白文等を打ち出し、それに変換機能の検証を兼ねて書き下し文を加えることだろう。もっとも、このところ漢文それ自体には関心を持つことが薄れてきているのだが、
訓読漢文というジャンルは、日本固有の文化資産だと思うから、営々とそのための
文房具を作ってきたのだ。このことと関係があるかどうかわからないが、「新・漢文エディタ」ではルビのタグを青空文庫のそれに合せた。今では高層ビルと掘っ建て小屋の差ほどの違いがあるが、私の電子テキスト公開ページは、たしか青空文庫と同年である。
【ダウンロード】
ExpLZHで分割したファイル。ファイル名をブラウザでクリックするとそれぞれ10MB以下なので比較的早くダウンロードできる。「自己解凍」形式=下記の方法で復元すると、1つの「KanbunEditor_v0.94.exe」ができる。
◆ 次の「_・・・.exe」は結合のためのファイル。以下の3個と共に計4個のファイルを同じ場所にdownloadし、フロッピーディスクiconのついたこのEXEファイルをダブルクリックすると元のファイルを復元する。【注意!!】今まで自己復元にはexe形式のファイルを提供していたが、FTPで送信する前はexe形式のファイルで結合できたのに、ダウンロードしてから結合を試みるとできなくなっていた。なにか、exeファイルに無効化などがなされていたのかもしれない。EXPLZHには.BAT(バッチファイル)モードでの分割もあったので、これに改め、ダウンロードしたバッチファイルをダブルクリックすると、今度は難なくKanbunEditor_v0.94.exeが復元できた。この「バッチファイル」と合せて以下の4つをダウンロード後、KanbunEditor_v0.94.BATをダブルクリックしてください。(5.31)
KanbunEditor_v0.94.BAT
KanbunEditor_v0.94.001
KanbunEditor_v0.94.002
KanbunEditor_v0.94.003

KanbunEditor_v0.94

KanbunEditor_v0.94の「TreeView」表示画面

KanbunEditor_v0.94の「ファイル」メニュー

KanbunEditor_v0.94の本文およびノート欄での右クリックメニュー
2026.5.17
TreeViewウィンドウを機能アップしたほか、メニューバー・右クリックバーのメニュー、
各種フォーマットの同時書き出し(チェックボックスとの連動。すべてHTML書き出し(選択可)を行える)、
TreeViewを経由した過去データの検索・抽出・ソート・訂正・削除とその結果の書き出し、とくに
変換データ(「日記」以外)の自動保存フォルダの統一(任意のフォルダを選べるものも、もちろんあるが、簡単な変換はすべてプログラムファイルのあるフォルダにdataフォルダを作り、そこに保存するようにした。)等、使い勝手に大きく影響する細かい調整をある程度まとめて備える。
これだけで実用ツールとして十分使えるはずである。ファイル容量についても、Word関連は
python-docxライブラリ、PDF変換は
docx2pdf、Excelは
openpyxlに絞って、pandasを外すなどしたのと、極力python標凖の機能に頼ることによって、今回は34MBから21MBにまで縮めることができた。当初は84MBに膨らんで、これはJyDivideが対応するDOS/Vフロッピー相当容量の1.44MB換算でいったい何枚になることか、と10MB転送の絶対制限のある無料ホームページサービスに頼り続けの万年貧窮老書生としては頭がズキズキとしてしまい、ビルドの方法について
Nuitka(ヌートゥカ、ニュートゥカ)を導入しようとしてみたりと、この試行錯誤だけで三四日を費した。けっきょく
pyinstallerに戻ってもう一度コンパイルしてもらったところで、偶然にもファイル容量が激減していた、という、拾い物のようなファイルである。今後また容量が莫大なものになってしまったときのために、このバージョンはしばらく残して置こうかと思う。
JyDivideは便利な分割ソフトで、昔よく使ったが、メディアサイズへの変換を基本としているところから、1.44MB単位の次は一気にMOの230MBになってしまう。Googleの検索で調べたら、
ExpLZHに自己解凍型の分割ファイル作成機能があり、しかも任意の大きさを指定できることを知り、さっそくやってみた。JyDivideと違い、結合のためのバッチファイルを別途作るので、数が一つ増えてしまうが、それでも任意のサイズ指定はありがたい。さっそく一つ9MB以下にしたら、今回はバッチファイルを含めて4つで済んだ。exe形式のダウンロードに対してブラウザがチェックを入れるようだが、なにせ自己解凍形式だから分割・解凍ソフト自体が必要ない。
pyinstallerでもNuitkaでも、大きなネックは
PDF変換機能だった。これがどうしてもうまくいかず、元の個々のpyファイルでは変換できるのに、一つのexe化したとたん、変換ができなくなる。AIにお
呪いの数行を冒頭に付けて回避しろとアドバイスを受け、やっと一つのファイルにまとめることに成功した。この間、半日単位で徒労を繰り返したのだった。Nuitkaは仮想環境を作ってそれからインストール、コンパイルと繰り返したが
(何も「仮想環境」必須でなく、AIに教わったが、ファイルを名指しでコンパイルする方法もあるらしい。なーーんだ、である)、初めは80MB以上のものが15MB以下になって喜んだものの、ファイル保存のフォルダ指定をなかなか受け付けず
(あるいは見つけられず)、Windowsの一時フォルダに勝手に保存したりした
(これはpyinstallerでも起こった)ので、プログラムの終了と同時にデータも消えてしまうという現象をなかなか改善できなかった。さらにNuitkaはファイルに独自の書き込みをしたりするので、こちらの手順がしっかりしていれば上手く動くのかもしれないが、再度テストするまでの間は当面アンインストールさせてもらった。
なお、できあがったExeファイルをダブルクリックすると、
ウィルス検知ソフトが入っている場合、いったん止めてしまうが、安全性が確認された後、もう一度起動すると立ち上がる。最初はちょっと驚くかと思うが、
いったん安全性が確認されれば次回からは普通に立ち上がるはずである。また、当たり前のことだが、WordとExcelへの変換機能は、それぞれのSoftwareが入っていない環境では機能しない。それでもHTML書き出しを使えば似たような表示は確認できると思う。
現在、必要とする人はほぼいないかと思うけれども、「旧・漢文エディタ」専用タグへの変換メニューをチェックボックスに入れてある。「新・漢文エディタ」用タグのメニューもあるので、ひょっとして古いタグ付けデータを貯めている人がいたとしたら、新しいものにこれで変換し、テキストファイルに出力してから、該当データだけをテキストファイルにして、「ファイル」メニューから本文に読み込めば、新しいタグに変換・保存して再利用ができるかと思う。その時は画面下の「ファイル選択」で読み込んだJSONファイルにそのまま「追記保存」できる(つまり新しいデータセットを作れる)。体裁を整えたいときには「ファイル」メニューの「読み込み」によってTreeView画面を出し、好きに加工して新しいファイルに書き出せばよい。慣れれば、
それぞれの転記・保存方法を駆使して、最新の使いやすいデータセットを構築できると思う。
「書き下し文」作成機能は、次の大きな目標である。「旧・漢文エディタ」の同機能を移植したいと思う。
なお、v.0.93のファイルを一応残しておくことにした。
◆ 次の「_・・・.exe」は結合のためのバッチファイル。以下の3個と共に計4個のファイルを同じ場所にdownloadし、フロッピーディスクiconのついたこのEXEファイルをダブルクリックすると元のファイルを復元する。【注意!!】今まで自己復元にはexe形式のファイルを提供していたが、FTPで送信する前はexe形式のファイルで結合できたのに、ダウンロードしてから結合を試みるとできなくなっていた。なにか、exeファイルに無効化などがなされていたのかもしれない。EXPLZHには.BAT(バッチファイル)モードでの分割もあったので、これに改め、ダウンロードしたバッチファイルをダブルクリックすると、今度は難なくKanbunEditor_v0.93.exeが復元できた。この「バッチファイル」と合せて以下の4つをダウンロード後、KanbunEditor_v0.93.BATをダブルクリックしてください。(5.31)
KanbunEditor_v0.93.BAT
KanbunEditor_v0.93.001
KanbunEditor_v0.93.002
KanbunEditor_v0.93.003

KanbunEditor_v0.93

KanbunEditor_v0.93の「TreeView」表示画面

KanbunEditor_v0.93の「ファイル」メニュー

KanbunEditor_v0.93の本文およびノート欄での右クリックメニュー
2026.5.9
Excelへの書き出し機能を加えた。これもプログラムのあるフォルダにdataフォルダを作り、
(すでにあればその中に).xlsxファイルを保存する。Excelを起動しないので、これまた1秒だ。今回はプログラム容量がほとんど増えなかったのはありがたい。これで、旧版の体裁での保存は、列項目はよほど単純になったものの、ほぼ実現できたと考える。
〔ここの「検索・抽出」「TreeView」等は、現在v.093用に作成中。タブでなくサブウィンドウで表示の予定。(5.13補記)〕PDFを除き、Text、JSON、Excelファイルから既存の語句の
検索・抽出を行うことができるようだ。
TreeViewというExcel風フォーマットでの表示ウィジェットがあり、入力中のデータをリアルタイムに確認できるばかりでなく、ここから検索・抽出、または他フォーマットからの書き込みもできるようで、特にJSONからの検索は高速だという。この表示のためのスペースを確保するには、別ウィンドウかタブの切り替え等が必要かもしれない。とすれば、少し旧版の体裁に似てくることにもなるだろう。
プログラムの表現方法について、AIのアドバイスのおかげで日々いろいろなことを学ぶ。関数の()の有無などは、考えたことがなかった。正規表現にもいろいろあり、Pythonの正規表現にはコメントを付けることもできる、というのは大きな収穫だ。ライブラリは重たいが、コードはとても簡単になる。こんな機能も付けられる、という発展記事も、役に立ちそうなものが多く見られる。栓抜き・缶切りとナイフを合体させるようなてんこ盛りのアプリにするつもりはないが、機能アップが少しでも図れるのはモチベーションが上がってくるものだ。
本文データ、注釈データは、ボタンを押すと消えて次の入力に備える場合と、消えずに残ったまま他の変換にも備える場合と、統一がとれていない。これについては、基本的に消去して入力のスピードを上げ、必要な場合には直近のデータくらいは呼び返せる工夫をしようと考え、非表示のデータ保管場所を作ってある。ただ、検索等ができるようになれば、どこからでも読み出しができるほうが使い勝手はいいだろうから、このあたりはこれからもう少し工夫していきたい。

KanbunEditor_v0.92