クリップボードを監視して康煕部首を変換するスクリプト
概要
実行するとクリップボードを監視し、康煕部首が混ざったテキストがクリップボードにコピーされるとCJK漢字に変換してコピーしなおすPythonスクリプトを作りました。以下がリポジトリです。
github.com/kaityo256/convert_kangxi_radicals
使い方
argparse
とpyperclip
を使っているので、venv等でそれらがインポートできるようにしてください。その状態で
python3 convert_kangxi.py -v
として実行すると、
クリップボードの監視を開始します。終了するにはCtr+Cを押してください。
と表示されます。この状態で康煕部首が混ざったテキストがクリップボードにコピーされると、CJK漢字に変換してコピーしなおしてくれます。-v
をつけると、康煕部首を見つけた場所も教えてくれます。
康煕部首が混ざったテキストとは以下のようなものです。
テキスト中の康煕部首を⾒つけてCJK漢字に変換します。
今⽇は良い天気です。
⽉曜⽇にはバイトがあります。
⽟⽯混交
先ほどのスクリプトを実行した状態でこれらをコピーすると、以下のように出力されます。
-v
をつけなければ、何も出力せず、ただ康煕部首をCJK漢字に修正してコピーしなおしてくれます。
なぜ作ったか?
学生のレポートはPDFでLMSに提出されます。このPDFを見ながら採点するのですが、レポートに感想や質問がある場合、それらを匿名化した上でまとめて返事をしています。多くの学生はWordでレポートを書きますが、PDF化のタイミングで康煕部首が混ざることがあります。
以下が康煕部首が混ざったテキストです。
⽉曜⽇にはバイトがあります。
こちらが変換後のテキストです。
月曜日にはバイトがあります。
よく見ると、「月」と「日」のフォントが微妙に違うことがわかると思います(環境によっては違いが見づらいかも)。これが気になって、変換するJavaScriptを書きました。
ただ、これを使うためには、
- レポートの当該範囲をコピー
- コンバータに貼り付けて変換ボタンを押す
- 変換結果を返事テキストにコピー
という段階を踏まなければならず、面倒でした。
そこで、クリップボードを監視するアプリを作りたいなぁ、でもそのためになんかアプリを作るのも面倒だよなぁ、と思ってたのですが、今日の通勤中に「アプリにしなくてもターミナルで無限ループ回しておけばいいじゃん」と気がついたので作りました。
このスクリプトが、LMS上でPDFで提出されたレポートを採点していて、学生の質問や感想の返事をするときに康煕部首が混ざって気になる教員の助けになることを願っています。
Discussion