thank you for your access
デジタル降魔録は パソコンと日々を暮らす私が綴ったお馬鹿な日記風のホームページです。



 デジタル降魔録・更新情報



初めてのFlash PIC
【 初めてのFlash PIC 】詳細


【 肝とりカツ 】詳細



音ネタバイキング 5000
製作:D-space KEYOSS
販売:(株)アートグローブ

ゲットFlash クーリングオフ代行手続専門法務事務所 mayu search タウンネット・コム



当ホームページはリンクフリーです。

リンク後メールを頂けましたら、相互リンクさせていただきます。

ご感想などもございましたらこちらからお寄せください。

なお迷惑メールが大変多くて困っております。できましたら件名に『デジタル降魔録を見た』とお書き添えください。よろしくお願い申し上げます。


バナーは下記の物をご自由にお持ち帰りください



 




アンダーラインが引かれた文字にマウスを合わせると本音が出ます。



2023年 1月 9日(月)14.5℃(午後 5時 4分)

アクセル ベタ踏みっす(最終話)……。

進む

キーボードマクロだけの検索ツールでは、カナ混じりの漢字や、あえてひらがな表記のときも、すべて漢字でオーケーと出てしまい、どうしても特殊な漢字検索機能が欲しくなりました。
 もちろん時間はありません。でも少しでも効率を上げるためにはやむを得ないのです。仕事をこなしつつマクロ言語を使ったツールを急きょ拵えることにしました。

 エディタで行う作業工程をあらかじめ作ったプログラムで自動化するためには、その動きをプログラム化する必要があります。通常ならリファレンスを見て必要な命令を探し出し、それを組み立てていくのですが、MIFESにはキーボードマクロの記録をマクロ言語に変換する機能があります。これって昔風の言い方だと逆アセンブラとでもいうのでしょうか。例えば行頭へカーソルを移動するときは、通常なら『HOME』キーを押します。この動きをキーボードマクロで記録させて、それをマクロ言語に変換できるのです。

 ふつうの文字入力のできるソフトにはこんな機能はありませんが、プログラマが好んで利用するテキストエディタにはだいたいこのような機能がついています。
 それにしても時間が無いときに、手っ取り早く作るにはこれはありがたい機能です。思わず手を合わせました。

 ありがたや、ありがたや。
 とね。


 方法はとても簡単。
 まず、キーボードマクロの記録を開始して、『HOME』キーを押して、キーボードマクロの記録を停止します。
【キーボードマクロのライブラリ登録】が出ますが、何もせずに閉じます。
 続いて、白紙のファイルを出してから【マクロ】→【マクロソースに変換】を押します。
 すると以下のようなテキストが出ます。


*マクロコマンド名 マクロコマンドの内容のコメント
	move("(")
*

これが行頭へカーソルを移動させる動きをマクロ言語に変換したプログラムです。これをコンパイルしてマクロコマンドに登録すると、同じ仕事を別のキーで動かすことができるようになります。もちろんこんな単純な仕事をマクロ化する意味はありませんけど、このような命令語を組み合わせて新しいツールを作るのが今回の目的です。

 ちなみにコンパイルという言葉になじみがない方に説明します。
【マクロソースに変換】で出力されたプログラムをソースファイルと呼び、人間には理解できますが、このままではコンピュータは理解してくれません。そこでコンピュータが理解できる言葉に変換する作業が必要で、それをコンパイルといいます。

 ソースファイルを修正したら、再コンパイルする必要があります。
 またソースファイルは今後のメンテナンスのため、あるいはデバグのために保存することを推奨します。
 このあたりは MIFESのヘルプに詳しく載っていますので一読されるといいと思います。


 もう少しソースファイルについて説明しましょう。さきほどのカーソルを行頭へ移動させるプログラムを見てください。コメントも加えてわかりやすくしてあります。


*マクロコマンド名	マクロコマンドの内容のコメント
	move("(")	;行の先頭にカーソルを移動
*

まず、『*』から『*』が一つのマクロコマンドとして記載する部分です。先頭の『*』の次にある『マクロコマンド名』は自分で決めるコマンド名を半角英語で入れます。次の『マクロコマンドの内容のコメント』はコマンド一覧に出る何のコマンドかを記載する部分です。コマンド名とのあいだは、Tabか半角スペースを1つ以上空けます。
 そして次の行からマクロ言語で命令を入れます。『;』から行の終わりまではコメントになります。記載した命令の説明を書いておくと便利です。

 このソースファイルをコンパイルして、エラーが無ければ MIFESのマクロコマンドライブラリーに登録します。するとライブラリー一覧の中に、コマンド名と内容の説明とともに追加されますので、それ以降、ライブラリーから起動してもいいですし、キーボードショートカットに登録してオリジナルツールとして起動することもできます。

 実際に作ったカナ混じり漢字検索ツールのソースファイルです。
 キーボードマクロでは変数の取り扱いなどが記録できませんので、マクロリファレンスを調べて追加してあります。


*selSearch 辞書ファイルに切り替えて選択文字を検索する ;選択文字列を @str3変数へ入れる。@2は文字列の Lengthが入る変数。 @2=getselstring(@str3) ;ウィンドウ切り替え execmd(50) ;@str3変数に入っている文字列をファイルの先頭から正規表現検索する search(4,0x0006,@str3) ;ファイルの先頭へ飛ぶ jump(2,1) ;↓方向再検索(再検索するのはヒット文字をすべてハイライトさせるため execmd(36) *

このツールは『学年別漢字の辞書ファイル』とプレミアが吐き出した漢字混じりのテキストファイルの二つをペアで開いて使います。
 辞書となる『学年別漢字の辞書ファイル』の構造もとても簡単で、その学年で使用できる漢字には『○』を、ダメなものには『×』を付けたものをずらっと並べるだけです。


○学しゅう×学習 〇とく点×得点 〇くらべる×比べる 〇入れる×いれる

こんな感じで、横一列にずらっと並べるだけです。体裁なんていりません。ヒットすればその文字がハイライトしますので、目に飛び込んできます。
 新たなデータの登録も最後尾に並べるだけなのでメンテナンスも楽々。学年が上がればそのまま移植も可能です。

 例えば小学2年生の作業ファイルに『得点』という漢字があったとします。使えるか使えないか、あるいはカナ混じりかどうかを、これまでは資料を見たり、実際の教科書から拾い出したりしていましたが、このツールでは『得点』の部分を選択してから『Ctrl+M』(コマンドをキーボードショートカットに登録しています)と押すだけ、瞬時に『学年別漢字の辞書ファイル』が開き、


実際の MIFESの画面です

このような表示になって、結果は一目瞭然。カナ混じり漢字だということが分かります。そして……。

 あ~。ありがたや、ありがたや。
 となります。


 前回のキーボードマクロによる学年別漢字検索と、このカナ混じり漢字検索の成果はすこぶる好調で、サクサク作業をこなしています。


 めでたしめでたし……。   ( ´艸`)ムフフ...






2023年 1月 7日(土)9.5℃(午前 9時44分)

アクセル ベタ踏みっす(3)……。

進む 戻る

MIFES(テキストエディタ)をカスタマイズして、ケツかっちんになった仕事をこなそう。と奮起した第三弾です。

 第三弾はキーボードマクロです。

 MIFESはプログラマーが好んで使用するテキストエディタですので、エディタ自身をプログラム言語でコントロールすることができるという、一風変わったソフトウェアなのです。プログラムで変身できるといっても、中身は文字編集に特化していますので、ゲーム機にすることはできません。いや、やり方によってはできるかもしれませんが、今はそんなことに時間を割いている場合ではありません。何しろケツかっちん状態ですから、カスタマイズするのも仕事を進めながら、その合い間にやるしかありません。まるで線路を敷き詰めつつその上を走っていく列車のようです。

 マクロに関しては、ヘルプにマクロ言語のリファレンスがついていますので、とても心強いです。さらに面白いのはキーボードマクロで基本的な動きを記録、それをマクロ言語に変換する機能までついているのですから至れり尽くせりで、とても簡単にマクロ化が可能になっています。

 そのためには、まずキーボードマクロです。
 前回簡単に触れましたが、これは作業中の動きを記録して同じことを再現してくれる機能です。

 例えば、htmlのソースに長文を流し込むとき、この場合、今がまさにそれです。この記事を書いている(打ち込んでいる)ときは htmlのタグは気にせず文章を綴っています。その作業が終わった後にhtmlのソースとして、改行位置に『<br>』というタグをに書き込めば、ブラウザはそこで改行してくれますが、長文になると改行位置を目視で見つけて『<br>』をキーボードから打ち込むのが苦痛になります。

 こんなときは、【ワイルドカード検索】、あるいは【正規表現検索】を利用します。
 ふつうの検索では探せるのは文字のみですが、【ワイルドカード検索】や【正規表現検索】では『改行』の位置を探すことができます。特殊です。なので MIFESなのです。

 MIFESでは、『改行』や『行頭』位置だけでなく、他にも特殊な検索をするために利用する特殊文字(メタ文字)がたくさん用意されています。その中で『改行』を表すのが『\n』です。当然ですが半角で書かないと意味がありません。

 改行位置に『<br>』というタグをに書き込みたければ、【ワイルドカード検索】、あるいは【正規表現検索】モードに切り替えて、まず検索文字に『\n』を入れます。そして置換文字に『<br>』『\n』として置換を実行すれば、『改行』にヒットするたびに、改行コードの前に『<br>』が挿入されることになり、

 ありがたや、ありがたや。
 となります。

 この一連の置換作業の動きをキーボードマクロとして記録すれば、あとはそれをキー操作に登録するだけ。ワタシの場合は『ESC、Bキー』です。文章が何行あろうとも、『ESC』を押した後に『B』と押せば、楽々と行末に『<br>』が書き込まれていきます。作業は自動的に進むので、やっぱり、

 あ~。ありがたや、ありがたや。
 となります。


 他のテキストエディタを使用されている方で、キーボードマクロとワイルドカード検索、あるいは正規表現検索モードが可能な置換モードがあるのでしたら、同じことができるはずですので、お試しください。


 この一連の動きをキーボードマクロに記録してみます。

 まず最初に、キーボードマクロの記録を開始します。MIFESならウインドウメニューの下の段にある『記録』と書かれた録音ボタンふうの赤丸アイコンを押すだけです。

 次に置換処理のダイアログを開きます。ワタシの場合は『Ctrl+W』というキーボードショートカットにしていますので、Ctlrキーと Wキーを押すだけです。
 ウィンドウメニューから置換処理を起動させてもちゃんと記録されていますので、ものすごく便利になります。ただし、記録中は余計なことをしないほうがいいです。してしまうとその動きも記録されます。

 置換ダイアログが出たら、先ほどと同じで、検索方法を【正規表現検索】あるいは【ワイルドカード検索】にして、検索する文字列と置換文字列を【新文字列】の欄に打ち込んで置換を実行。
 置換が終わったら、ここで記録を停止。

【キーボードマクロのライブラリ登録】が出たら、好きな ESCキーと英文字キーの組み合わせを選んで登録。次回からは『ESC』キーに続けて『英文字』キーを押せば、改行位置に『<br>』が自動的に書き込まれていきます。

【キーボードマクロのライブラリ登録】が出ないときは、【マクロ】→【ライブラリー登録】で出たダイアログの一番上にある【記録終了時にこのダイアログを表示する】にチェックを入れます。


 とまあ、これがキーボードマクロです。お分りいただけたでしょうか。使い方によってはとても便利な機能なのです。

 この正規表現検索を利用して、学年別漢字検索システムを作ろうというのが、今回のもくろみです。

 仕組みは超簡単。
 各学年で使用する漢字一覧をずらっと並べておいて、それを正規表現でorを作って検索するキーボードマクロを作ると、プレミアが吐き出したテキストファイルの中に点在するすべての漢字のうち、学年で使用できる漢字だけがハイライトされるという理屈です。あまりにも簡単であっけにとられるかもしれませんが、資料と作業ファイルと見比べていたことを思うとウソのようでした。

 ところが使っているうちに、欠点も見えてきます。習っていない漢字をカナにしたカナ混じりの漢字や、あえてひらがなで表現する語句であっても漢字オーケーとなることがあります。

 例えば小学校2年生では『学習』は『学しゅう』となります。さらにややこしいのは『入れ物』はダメで、『いれもの』にしなければいけません。かと思うと『入れる』は漢字で書き、『いれる』はダメです。この違いを資料や教科書から目視で探し出していたら、とても時間が掛かって効率的ではありません。

 また振出しに戻ってしまいました……。

 再び黙考です。
 ポクポク……ち~ん。


 この欠点を補う方法として登場するのがマクロ言語です。
 キーボードマクロでは記録されない処理やコマンドがありますので、カナ混じりの文字のチェックを確実に素早く可能にするには、マクロ言語を利用するしかないと 悟りました

 ということで、次回はやっとマクロ言語です。


 まだ続きます……。   ( ̄ω ̄;)...仕事せーよ







2023年 1月 6日(金)9℃(午前10時14分)

アクセル ベタ踏みっす(2)……。

戻る

年が明けました。本年もよろしくお願いいたします

 年末は字幕の文字起こし作業を快適にするために Adobe Premiere(以降プレミア)のキーボードショートカットをカスタマイズしたという話でした。何しろ日本語変換モードにすると再生・停止やタイムラインの移動がとてもやりにくくなるため、効率がガタ落ちでしたが、ファンクションキーにそれらのコマンドを割り当てると、日本語モード中であってもコントロールが利き、さらに誤変換の修正もそのまま続けられます。

 次に足を引っ張ったのが漢字の処理です。大人向けの映像ではなく小学生に見せる映像ですので、習っていない漢字はすべてひらがなに変換しなければいけないのです。しかも学年によっては、使用できる、できないに違いがあるため、この問題はさらに複雑になります。

 あたりまえですが、プレミアにそんなことを期待するのは無理というもので、プレミアが吐き出す日本語はふつうに漢字が使用されています。誤変換は仕方がないとしても、学年別の漢字を識別するのは人間がやるしかないのか、と半ばあきらめていました。

 やがて気づきました。大量の文字列データを校正するには、プレミアの検索・置換だけでは追っつかないことに。
 そこでプレミアが吐き出したテキストをいったん『.txt』ファイルに出して、それを専用のテキストエディタで読み込んで校正したほうが、一度に見渡せる範囲が広がりますので、効率が上がることに気づきました。

 さてここからが本題です。

 幸い、長年使用しているテキストエディタはふつうのテキストエディタより高機能でして、プログラマ御用達の逸品です。もう 三十年以上 使用しているメガソフトさんの MIFESです。Ver3.0からのお付き合いですので、ワタシの片腕といってもいいかもです。現在は MIFES10です。まもなく MIFES11が出るみたいですね。

 涙がちょちょ切れるほどありがたいのは、グローバル検索と置換。
 フォルダ内に詰め込まれた何百とあるファイルから指定の文字列を探し出して新しい文字と置換して保存、ここまでを自動的に次々とやってくれます。

 さらにありがたいのは、複数置換機能。

 文字列の置換はどのテキストエディタでもある機能ですが、一回でできるのは一つの文字列だけです。プレミアに付属する置換機能も同じで、文字別にそのつど呼び出して実行するのみです。

 複数置換は文字のとおり、いくつもの単語を登録しておいて順番に置換していきます。検索文字列数はたぶん 2000語ぐらいはいけるのではないでしょうか。この辺りはヘルプに書かれているかもしれませんが、実際は人間の管理が追っつきませんで、いっぱいになることはないと思います。というのも、置換作業は人間が管理監視していないと、文章が支離滅裂になってえらいことになりますからね。

 ま、それでもこれらをあらかじめ正しくセットしておけば、キーボードからショートカットキーをチョチョンと叩くだけで、いくつもの異なった文字列が自動的に置換終了。

 あ~。ありがたや、ありがたや。

 同じ誤変換があっても、MIFESには【文字列の登録・挿入】というのもありますので、正しい文字列を登録してから、キーボードショートカットを作っておけば、キーを二つほど叩くだけで、正しい文字列がカーソル位置に挿入されます。
 文字列の登録は 36個まで可能で、それぞれに割り当てキーが異なりますから、この誤変換文字はこのキーを叩く、と覚えておけばサクサク作業が進みます。

 あ~。ありがたや、ありがたや。

 とやっていたのですが、どうしても我慢ならんのが、学年別の使用漢字の検索です。

 学年別に使用できる漢字の判断は、簡易的な資料と本物の教科書、あとはネットにある教育漢字検索ツール。そこから探し出して、使えるか使えないの判断をしなければいけないのです。
 ほとんどが手作業です。漢字は山ほどあるのにそのつどこんなことをしていたのでは、とても 1000なんて数をこなすことはできません。

 それでも黙々と作業をしているうち、ふと思ったのです。この作業を少しでも自動化できないかと、しばし黙考……。

 ポクポク……ち~ん。

 使える漢字を一覧にしたファイルを作り、作業中のファイルと漢字だけの比較をすれば、使える漢字がヒットする。そうすれば作業中のファイル内にあるヒットした文字だけをハイライトさせることが可能。そうなれば教育漢字検索ツールより便利になるゾ、と。

 教育漢字検索ツールはネット上にあるので、使用不可の漢字を赤色で示してくれるだけです。作業中のファイルにそれが反映されませんので、こっちのツールのほうがはるかに便利です。

 できたら……の話ですがね。

 使える漢字の一覧ファイルは、資料や作業中にそのつどコピペすれば、作業しながらでも徐々に増えて充実していくはずです。
 あとはそれだけの工程をどうやってキーボードショートカットに叩き込むかですね。

 再び黙考……。
 ポクポク……ち~ん。

 あー。作業しながらです。手を止めて考える時間はありません。なにしろケツかっちんです。仕事が後ろに並んでますから。

 MIFESの次なる秘密兵器はマクロコマンドです。
 なぜ MIFESがプログラマ御用達と言われるのか、それは新たな機能をプログラムできるテキストエディタだからです。
 これはすごいですよ。使っている人のオリジナルツールができるのですから。この漢字システムにもってこいの機能です。

 マクロ命令……。
  知っている人しか知らないものです。
 これはアセンブル時代に使用されていた疑似命令が基礎になっています。
 C言語の『#define』もこの一種ですね。

 アセンブル時代のマクロ命令というのは、よく使うプログラムの命令が並んだひと塊を、任意の文字列に置き換えるものです。サブルーチンとよく似ていますが、プログラムがコンパイルされるときに、その文字列の部分が命令語に展開されます。とうぜんメモリを食いますが、CPUの速度は落ちません。サブルーチンはメモリの使用率は減りますが、コールとリターンで速度が落ちます。

 話が少し逸れました。もとに戻します。

 MIFESのマクロ命令を使用する前に、キーボードマクロと呼ばれる機能を知っておかないと使えません。

 キーボードマクロと呼ばれるものは、作業中の一連の動作を記録して、同じことを繰り返してくれる機能のことで、Adobe Illustratorにあるアクション機能と同じです。

 例えば、プレミアで文字起こしをしたファイルには行頭に『、』がついた行がいくつも出てきます。これをそのつど目視して削除していたら、日が暮れます。

 そこで、キーボードマクロの登場です。

 新たな展開になったところで、今回はここで中断させていただきます。なにしろ仕事がケツかっちんですので。
 次回はさらに突っ込んだ話になります。


 起承転結の『承』なのだ!    ( ̄ω ̄;) アホヤ~