今回は点字のデバッグについての話題です。PCで点字の出力を行うには点字ディスプレイというデバイスを使いますが、実機がないとどんな表示になるのか皆目わからないというのは困りものです。かといって、画面上に点字のパターンを描画するのも手間がかかります。

もし、デバッガのウォッチ機能で変数が保持している点字のパターンを確認できれば随分助かります。以前は「できればいいなあ」とは思っていましたが、Visual Studioでは完璧に確認できるので助かっています。

上の図のように、Visual Studioのウォッチ機能で見事に点字が表示されています(試しにVisual Studio 2022 Previewを使ってみました)。ウォッチしている変数の型はC#のstringです。もちろん、C++でも同じように点字の並びを表示することができます。

点字には、UnicodeでU+2800~U+28FFの値が割り付けられています。256通りのパターンがありますので、八点を表現することができます。通常、点字は六点ですが、その下に二点を追加してカーソルに使います。あるいは、川上漢点字では八点を使って文字を表現します(カーソルは最下部の二点に重ねて表示します)。

今回はC#を使いましたので、Unicodeで点字を表現できるのであればちょうど都合がよいのです。また、点字ディスプレイは機種ごとに1マスの点字を表現するためのビットパターンも変わってくる可能性がありますので、機種に依存しない点字の表現方法を用いて抽象化できれば便利だということもあります。

ところで、上の図で表示されている点字のパターン

「⢠⢀⡢⡔⠂⡂⠂⠀⢀⡒⠢⡴⡦⡢⣀⠱⠬⢗⠜⠇⢸⡳⡢⠬⡧⢌⢇⢈⡣⡾⢵⡪」

は、川上漢点字で「Osaka Metro中央線堺筋本町駅」です。最初の「Osaka Metro」の部分はアルファベットなので外字符「⢠」から始まり、大文字のOとMの前には大文字符「⢀」が挿入されています。また、日本語との切替えには第一つなぎ符「⣀」が挿入されています。こういうのはプログラマーなら好きな方も多いのではないでしょうか?

今回はVisual Studioを使いました。私が知る限り、Visual Studio 2010の時点で点字には完全に対応していました。ところが残念ながらVisual Studio codeではウォッチ式で正しく点字が表示されないようです。デバッグコンソールには表示できるようなのでprintfデバッグならできると思います。