前回、PASOPIA7用のワープロソフト「WORK7」で日本語を入力したが、かな入力はまだしも、単漢字変換で、文章を作成するのはとても大変。
テキストファイルをパソピアの漢字コードにコンバートするプログラムを考えてみる。
前回のブログで記載したが、前回のブログでパソピア/7の漢字コードは、区番号と点番号のから計算できる。(区番号と点番号は、Wikiなどを参考)
テキストファイルをパソピアの漢字コードにコンバートするプログラムを考えてみる。
前回のブログで記載したが、前回のブログでパソピア/7の漢字コードは、区番号と点番号のから計算できる。(区番号と点番号は、Wikiなどを参考)
漢字コード=(区番号-1)×94+(点番号-1)+256
以下のアプリを作ってみたので、ここからダウンロードできます。
・Kanji Converter(KanjiConv.exe):S-JISコードをPasopia7の漢字コードに変換
Windowsプログラムです。以下のファイル形式で保存できます。
(1) バイナリ(*.bin)で保存
2バイト毎で漢字コード(リトルエンディアン)が保存されます。
ファイルサイズは、2048バイトの倍数でサイズ調整(0埋め)されます。
(2) CSVで保存
漢字コードは、10進数のカンマ区切りで出力されます。
・Display Kanji(DispKJ.bin)
パソピアのRAM PAC2イメージです。以下のXPAC2の以下コマンドでマウントできます。
sv 3 text.rom
以下の2つのBASICプログラムが登録されいます。
(1)DISPKJ:XPAC2に保存された漢字コードのバイナリデータを読み込んで表示します。
Kanji Converterで作成したバイナリの漢字コードを利用できます。
(2)MANUAL:XPAC2のマニュアルの一部を表示します。
Kanji Converterで作成したCSVを使っています。
※(1)(2)共に、プログラム実行前に「SCREEN 1」又は「SCREEN 2」にしておきます。
S-JISテキストをパソピアの漢字コードに変換するWinアプリ「KanjiConv.exe」(.NET 4.0が必要)
ファイルからS-JISテキストファイルを読み込む、もしくはテキストボックスに直接テキストを読み込み、Saveボタンを押します。
ファイルを保存ダイアログで、バイナリ(*.bin)で保存するか、CSVで保存するか選択します。
バイナリで保存した場合、2バイト毎で漢字コード(リトルエンディアン)が保存されます。
ファイルサイズは、XPAC2で読み込めるように、2048バイトの倍数でサイズ調整(0埋め)されます。
例えば、text.binと保存したバイナリファイルを、スロット3(デバイス番号6)に保存する場合、コマンドプロンプト「CMD」で、以下のように実行します
sv 3 text.rom |
パソピア7でバイナリの漢字コードを読み込んで表示するプログラム「DISPKJ」を用意しました。
10 'XPAC2 Display Kanji (C) 2015 zak 20 R$=CHR$(13)+CHR$(10) 30 INPUT"Width ";W:WIDTH W 40 PRINT"Select Slot Number." 50 PRINT"[3] 64KB MRAM (DEVICE 6)" 60 PRINT"[4] 64KB MRAM (DEVICE 5)" 70 PRINT"[5] 8KB SRAM" 80 PRINT"[6] 4KB SRAM" 90 PRINT"[7] 2KB SRAM" 100 INPUT S:IF S<3 OR S>7 GOTO 40 110 INPUT"Start Address &H",A$ 120 L=VAL("&H"+RIGHT$("00"+A$,2)) 130 H=VAL("&H"+LEFT$(RIGHT$("0000"+A$,4),2)) 140 LOCATE 0,24 150 OUT &H1B,S:OUT &H19,H:OUT &H18,L:A=INP(&H1A) 160 IF L<255 THEN L=L+1 ELSE L=0:H=H+1 170 OUT &H1B,S:OUT &H19,H:OUT &H18,L:B=INP(&H1A) 180 K=B*256+A:IF K=0 THEN PRINT R$:END 190 IF K=255 THEN X=0:PRINT R$:GOTO 220 200 PUT%(X,23),KANJI(K),7 210 IF X<W-2 THEN X=X+2 ELSE X=0:PRINT R$ 220 IF L<255 THEN L=L+1 ELSE L=0:H=H+1 230 GOTO 150 |
パソピア7の場合は、200行目にあるPUT%()命令でテキスト画面に漢字を表示することかできます。
「SCREEN 1」もしくは「SCREEN 2」で実行します。プログラムを実行すると画面幅を聞かれますので、40 or 80を入力します。続いてバイナリの漢字コードが保存されているスロット(上記の例の場合は3)を選択し、読み込み開始アドレスを入力します。
「KanjiConv.exe」アプリでCSVに漢字コードを保存した場合、そのままDATA文としてコードに書き込むことで漢字コードを利用して画面表示できます。
CSVの漢字コードをDATA文に組み込んで、XPAC2のマニュアルの一部を表示するプログラム「MANUAL」を用意しました。
こちらもPUT%を使っているので、実行前に「SCREEN 1」もしくは「SCREEN 2」にしておきます。
CSVの漢字コードをDATA文に組み込んで、XPAC2のマニュアルの一部を表示するプログラム「MANUAL」を用意しました。
こちらもPUT%を使っているので、実行前に「SCREEN 1」もしくは「SCREEN 2」にしておきます。
10 'XPAC2 Display Manual (C) 2015 zak 20 R$=CHR$(13)+CHR$(10) 30 WIDTH 80 40 LOCATE 0,24 50 READ K 60 IF K=0 THEN PRINT R$:END 70 IF K=255 THEN X=0:PRINT R$:GOTO 50 80 PUT%(X,23),KANJI(K),7 90 IF X<80-2 THEN X=X+2 ELSE X=0:PRINT R$ 100 GOTO 50 300 DATA 680,660,683,633,286,466,4440,650,714,691,642,283,672,313,499,491 ・・・(略) 2610 DATA 550,599,562,258,255,0 |
以下のように、スクロールしながらマニュアルが表示されます。
これで、日本語表示がいくぶん楽にできるようになった。。
0 件のコメント:
コメントを投稿