TextToAA
090729a版

使い方マニュアル


 TextToAAは入力された文字列をAAに変換するアプリケーションソフトです。このソフトを使う事により、Unicodeに対応していない2ch等の日本国内ユーザー向け掲示板上においても、様々な種類の文字を表現する事が可能となります。語学学習にでもお役立て頂ければ幸いです。




■各部の名称と機能



 上は本ソフトのメインウィンドウです。各部分の名称及び機能は以下の通りです。

名称機能
入力エリアここに変換したい文字列を入力します。
フォント名フォント名を指定します。
フォントサイズフォントサイズを指定します。
[Unicode]チェックボックスUnicodeの文字列を変換する際にチェックします。
出力エリアここに出力結果が表示されます。フォントはMS UI Gothicです。
白チップここで指定した文字列がフォントの空白部分に割り当てられます。
黒チップここで指定した文字列がフォントの黒い部分に割り当てられます。
[サイクリック]チェックボックスチェックするとサイクリックモードでのAA変換が行われます。
[不要な空白を削除]チェックボックスチェックすると文字列の表示に必要な最小の矩形領域の
内側のみが変換されます。
[OK]ボタン出力エリアの内容をクリップボードにコピーします。[Enter]キーで代用可能です。
[キャンセル]ボタンアプリケーションを終了します。[ESC]キーで代用可能です。


 適当に操作してみれば、大まかな機能はお分かり頂けると思います。

 入力可能な文字数については、入力エリア、白/黒チップについて、それぞれ適当な制限を設けています。出力可能なAAのサイズにも緩やかな(?)制限があります(※この部分ついて詳しく説明すると長くなりますので、この程度でお許しを…)。

 フォント名とフォントサイズは指定出来ますが、フォントの太字や斜体、打ち消し線等を指定する機能はありません。

 Unicodeでの入力は、[Unicode]チェックボックスをONにした状態で、入力エリアでのみ可能です。他の部分にはSJISの文字のみ入力可能です。

 [Unicode]をONにした状態でアプリケーションを終了すると、次に起動した際、フォーカスが入力エリアに来ません(フォント名の部分にフォーカスが当たると思います)。アプリ起動直後は入力エリアにフォーカスが来ていると便利なのですが。この挙動については、現在のところ「仕様」としてご理解頂くよりなさそうです。ご不便をおかけして本当に申し訳ありません。

 [Unicode]がOFFの状態でアプリケーションを終了させた場合、次回起動時には自動的に入力エリアにフォーカスが来ます。Unicodeでの入力を行わない場合、上記の挙動は殆ど気にならないかと思われます。




■setting.txt

 アプリケーション終了時、TextToAA.exeの保存されているフォルダにsetting.txtが保存されます。これは画面上のコントロールの状態(チェックボックスの状態やフォントの指定等)を保存するためのファイルです。

 setting.txtが無い状態で本ソフトを起動すると、最初に「セッティングファイルの読み込みに失敗しました」というメッセージがダイアログ表示されますが、そのままダイアログを閉じて下さい。各コントロールにデフォルトの値が自動的にセットされ、即使用可能な状態になります。又、この状態でアプリケーションを閉じれば、アプリ配布時に添付されているものと同じ内容のsetting.txtが作成されます。

 setting.txtはプログラムが読み込むものですので、なるべく手編集は避けて下さい。setting.txtを手編集した場合、アプリケーションの動作が不安定になる可能性があります。仮にsetting.txtをぐっちゃぐちゃに編集して不具合が発生した場合、思い切って削除する事をお勧めします。setting.txtは何度でも再生しますので…。




■サイクリックモード

 [サイクリック]チェックボックスをチェックすると「サイクリックモード」での文字列/AA変換が行われるようになります。

 通常の変換モードでは、黒チップを構成する文字列が、そのまま入力文字列の黒ピクセルの部分に割り当てられます。それに対してサイクリックモードでは、黒チップ内の各文字が一つずつ、周期的に黒ピクセルの部分に割り当てられてゆきます。

 以下に通常モードとサイクリックモードの違いを例示します。白チップには「/」を、黒チップには「@AB」を指定しています。

←通常モード
←サイクリックモード

 通常モードでは入力文字列の黒い部分が1ピクセル毎に「@AB」へと変換され、出力されたAAが大きく崩れています。それに対し、サイクリックモードでは1つの黒ピクセルに「@」、「A」、「B」が順繰りに割り当てられているのが分かります。

 尚、入力文字列の白ピクセルの部分は、サイクリックモードを指定した状態でも通常モードと同様に変換されます。




■使い方のコツ

 掲示板等に投稿するAAは、極端に大きなものであってはマズいのが普通です。横幅(桁数)の大きいAAは、画面の右端で折り返してしまい、何だか分からないAAになってしまいます。又、サーバー側のリソースを節約するためにも、AAは出来るだけ小さくしたいものです。

 表示されるAAの視覚的な幅は、使用するチップの横幅によって決まります。黒チップに「|」を、白チップに「.」や「_」を使うと、AAの横幅を小さくする事が出来ます。

<例1>"Hello" Small Fonts , 11pt , 白「_.」,黒「||」
||_._._._.||_._._._._._._._._.||||_._._._._.||||_._._._._._._._._.
||_._._._.||_._._._._._._._._._.||_._._._._._.||_._._._._._._._._.
||_._._._.||_._._._._._._._._._.||_._._._._._.||_._._._._._._._._.
||_._._._.||_._.||||||_._._._._.||_._._._._._.||_._._._._.||||||_.
||||||||||||_.||_._._.||_._._._.||_._._._._._.||_._._._.||_._._.||
||_._._._.||_.||_._._.||_._._._.||_._._._._._.||_._._._.||_._._.||
||_._._._.||_.||||||||||_._._._.||_._._._._._.||_._._._.||_._._.||
||_._._._.||_.||_._._._._._._._.||_._._._._._.||_._._._.||_._._.||
||_._._._.||_._.||||||_._._._.||||||_._._._.||||||_._._._.||||||_.


 入力する文字数が多い場合に有効な方法です。

 上の方法で視覚的な横幅を小さくする事は出来ますが、データサイズを小さくするには別の工夫が必要です。例えば、白/黒両方のチップのバイト数がN倍になれば、データサイズもN倍になりますので、データサイズを小さくするにはチップのバイト数を小さくするのが基本だと言えます。例2は白/黒両方のチップに長さ1の文字列を指定したもので、データサイズは例1の半分です。


<例1>"Hello" Small Fonts , 11pt , 白「/」,黒「8」
8////8/////////88/////88/////////
8////8//////////8//////8/////////
8////8//////////8//////8/////////
8////8//888/////8//////8/////888/
888888/8///8////8//////8////8///8
8////8/8///8////8//////8////8///8
8////8/88888////8//////8////8///8
8////8/8////////8//////8////8///8
8////8//888////888////888////888/


 さて、例1と例2の見易さはどうでしょう。恐らく、問題なく見れるレベルだと思います。もう少し小さく出来そうなので、もう少し小さいフォントサイズを指定してみましょうか。


<例3>"Hello" Small Fonts , 8pt , 白「/」,黒「8」
8//8///////8////8///////
8//8///////8////8///////
8//8///////8////8///////
8888//88///8////8////88/
8//8/8888//8////8///8//8
8//8/8/////8////8///8//8
8//8//88//888//888///88/


 「e」の一部が潰れていますが、用途や状況によっては十分に伝わると思います。ただ、相手の環境によってはAAがズレたり、白/黒のコントラストが十分に表現されない可能性があります。ここで、データサイズは2倍になりますが、フォント名とフォントサイズはこのまま、チップの文字列を「□」と「■」に変えてみましょう。MS UI Gothicでは、両者の視覚的な横幅は同じになります。


<例4>"Hello" Small Fonts , 8pt , 白「□」,黒「■」
■□□■□□□□□□□■□□□□■□□□□□□□
■□□■□□□□□□□■□□□□■□□□□□□□
■□□■□□□□□□□■□□□□■□□□□□□□
■■■■□□■■□□□■□□□□■□□□□■■□
■□□■□■■■■□□■□□□□■□□□■□□■
■□□■□■□□□□□■□□□□■□□□■□□■
■□□■□□■■□□■■■□□■■■□□□■■□


 一気に見易くなりましたね。可能な限り幅広い閲覧環境を想定する場合、このチップ選択は最も賢明なものの一つだと言えます。閲覧者がプロポーショナルフォントを使っていても固定ピッチフォントを使っていても、同じように見えますから。もっとも、閲覧者の環境において「□」と「■」の文字ピッチが異る場合は、この限りではありませんが…。

 あくまでも私の少ない経験の範囲内で言えば、「□」と「■」の組み合わせはかなり無難なようです。少なくともMS UI Gothicにおいては、□/■と同じ文字ピッチを持つ全角文字が他にもありますので、色々なチップを試してみて下さい。


 半角英数字だけであれば、かなり小さなフォントサイズを指定しても判読可能です。フォント名とチップはそのまま、サイズを6ptにして文字列「1984kcal」をAAに変換してみましょう。


<例5>"1984kcal" Small Fonts , 7pt , 白「□」,黒「■」
□■□□□■□□□■□□□■■□■□□□□□□□□□□□□■
■■□□■□■□■□■□■□■□■□□□□□□□□□■□□■
□■□□□■■□□■□□■□■□■□■□□■■□■■■□□■
□■□□□□■□■□■□■■■□■■□□■□□□■□■□□■
■■■□■■■□□■□□□□■□■□■□□■■□■■■□□■


 これ位の表現でよいと思います。


 意味が伝わればよい、という観点に立てば以下のような表現もアリでしょう。情報を意味論的に(?)圧縮するのです。


<例6>"1984k" Small Fonts , 7pt , 白「_」,黒「熱量」(サイクリックON)
_熱___熱___熱___熱量_量__
熱量__熱_熱_熱_熱_熱_熱_熱__
_熱___熱量__熱__量_量_量_量
_量____熱_熱_熱_熱量熱_熱量_
量熱量_量熱量__熱____量_量_量


 黒チップのサイズは4バイトになってしまいましたが、サイクリックモードを指定する事によって黒ピクセル1つ当たりのデータサイズは「1文字」(この例では2バイト)に制限されています。黒チップに長い文字列を指定する事が出来るため、より多くの付加的な意味を伝達する事が出来るようにもなります。こうする事で入力文字列を短縮し、AAそのものの視覚的な横幅とデータサイズを抑える事が出来ます。例5と見比べて下さい。



 つづく…(?)