テキストプリンタへASCII文字を出力したいNo.32361
tetchan さん 13/06/20 11:39
 
ラオス語をの点字図書を作ろうとしています。マクロでラオス文字をNABCC(ASCII
コードと思ってください)に変換したのですが、これを点字プリンターに出力したい
のです。
点字プリンターと言っても単なるテキストプリンタと同じです。ASCIIコードのU+005
Fまでを印刷します。単純に印刷しても「Printer cannot display bitmaps」という
エラーが出ます。
メモ帳からだと印刷できますが、ヘッダーとフッターをなしにしても、空白行が出力
されます。
仕方がないので、今はCommand Promptから
-------------
c:\>print ファイル名
-------------
で印刷しています。マクロを使っても構いませんので何かいい方法はあるでしょうか。

[ ]
RE:32361 テキストプリンタへASCII文字をNo.32362
秀丸担当 さん 13/06/20 12:27
 

特殊な条件のようで、秀丸エディタの印刷はビットマップの印刷に対応していな
い場合は確かに「Printer cannot display bitmaps」というエラーを出していま
す。

[その他]→[動作環境]→[印刷]のところで印刷の方式を選べて、「旧タイプ(さ
らに古い方式)」の場合は、ビットマップの印刷に対応しているかどうかを判断
していないので、エラーは出ずに何らかの実行が行われると思いますが、それが
点字プリンタで大丈夫かは、すみませんがわからないです。


printコマンドが確実ということであれば、[その他]→[プログラム実行]より実
行するのがいいと思います。
何かファイルを開いた状態で、プログラム実行のコマンドラインで以下のように
入力して実行するとファイル名を渡して実行できます。

print %f

コマンドプロンプトの場合標準出力に「○○は印刷中です」というような文字が
出るようで、秀丸エディタ上にもそれが出てしまいますが、不要な場合は以下の
ようにすうるといいです。

print %f >nul

マクロにする場合は、以下のようなマクロの内容にしておくといいです。

run "print %f >nul";

[ ]
RE:32362 テキストプリンタへASCII文字をNo.32366
tetchan さん 13/06/20 17:35
 
>特殊な条件のようで
特殊なのではなく、プリンターフォントを使う昔のテキストプリンターと同じです。
プリンターにASCIIコードを送れば、プリンタが持っているフォントで印字するタイ
プです。例えばプリンタに「41h」を送れば「A」と印刷するのが普通のプリンタです
が、点字プリンタは、「a」に相当する点字を印字します。
タブ、改行、改ページコードなどもそのまま反映されます。

それで、「旧タイプ(さらに古い方式)」で確かに印刷できましたが、メモ帳と同じく
最初に1行改行されてしまいます。

print %f は残念ながらディレクトリ名にスペースが入るとダメでした。
Can't find file C:\documents
Can't find file and
Can't find file settings\.......
という風に、スペースで区切られた複数のファイルの印刷とみなされます。

そこで、 run "print "+basename; とやってみると、うまくいきました。結論を言
うとこれでOKです。

かなり苦労していたのですが、簡単に解決してしまいました。
ありがとうございました。

[ ]
RE:32366 テキストプリンタへASCII文字をNo.32367
秀丸担当 さん 13/06/21 10:28
 

確かに今のプリンタはビットマップ対応がほとんどであるものの、ASCIIコード
を送る方法は最も基本的なことろですね。

print文は空白の問題があったということで失礼しました。

printコマンドで空白を含む場合は""でくくるといいようです。
basenameで解決できたということで必要ないかもしれませんが、basenameに空白
を含む場合もあるので、参考までの情報として書いておきます。

プログラム実行の場合は print "%f" とすると空白も渡すことができました。

マクロの場合は
run "print \"%f\"";
または
run "print \"" + filename2 +"\"";
とすると空白も含んだファイル名を渡すことができました。

[ ]
RE:32367 テキストプリンタへASCII文字をNo.32401
tetchan さん 13/07/06 15:33
 
丁寧にありがとうございます。
助かりました。

[ ]