1:
あゆりーな 06/03 16:55
はじめまして。

たまに拝見するのですが投稿するのは初めてです。

もしお分かりの方がいらしたら教えてください。



S3100のデータのDOS変換をすることになりました。

ところが、全角のところに半角のような文字が入っていることがあり、

これをDOSに変換すると「・」みたいになって変換されません。



どうも事情を確認すると「全角のところで「英数」のボタンを押すと入力することができる。

画面上は半角のようだが全角分の幅をとっていて、

印字すると半角文字に詰まって印字できる」ということです。



600で再現しようと思ったのですができませんでした。

3100だから?DAM端だからでしょうか?



コードを調べたのですが、最初の1バイトが””67””か””68””のものが対象で、

””67””関係は英数字関係なのでその次の1バイトをXタイプにしてNタイプに送れば

うまく変換されそうですけれども大変そうです。

Mた、””68””関係はカタカナなのですが、これはどうやって対応表を作っていいかも

見当つきません。どんな文字体系なのでしょう。



どなたかよい解決法をご存知だったらいいのですが。

よろしくお願いいたします。



2:Re:
BLUELION 06/04 04:01
> S3100のデータのDOS変換をすることになりました。
> ところが、全角のところに半角のような文字が入っていることがあり、
> これをDOSに変換すると「・」みたいになって変換されません。
>
> どうも事情を確認すると「全角のところで「英数」のボタンを押すと入力することができる。
> 画面上は半角のようだが全角分の幅をとっていて、
> 印字すると半角文字に詰まって印字できる」ということです。
>

 多分G1集合で定義されている外字文字ではないでしょうか?

 通常600シリーズやS7200シリーズで動作する

 #NFCNVや#FTCNVでA-VX形式(JIPS-E)からDOSに変換する時は

 G1集合の外字は同じコードでDOSに変換されます

 どのツールやユーティリティーを使用されているのでしょうか?



> 600で再現しようと思ったのですができませんでした。
> 3100だから?DAM端だからでしょうか?
>
> コードを調べたのですが、最初の1バイトが””67””か””68””のものが対象で、
> ””67””関係は英数字関係なのでその次の1バイトをXタイプにしてNタイプに送れば
> うまく変換されそうですけれども大変そうです。
> Mた、””68””関係はカタカナなのですが、これはどうやって対応表を作っていいかも
> 見当つきません。どんな文字体系なのでしょう。
>
> どなたかよい解決法をご存知だったらいいのですが。
> よろしくお願いいたします。
>



 A−VXの文字コードは S100内部コードやJIPSコードやJISコードなど、いろいろなコードがありかなり大変です

とくにS100内部コードなんて、私には理解できませんでした(笑)


FDのデータならコンバートスターや52DISKなんとかというWindowsのソフトと変換するのが簡単ですが、G1の外字エリアはやはり細工をしないと変換できないと思いました

G0の外字(通常のユーザー外字エリアの外字)などは対応する外字エリアにA−VXのSYS@GAIJやSYS@DG2などから変換すればあるていどwindowsでも同じように表示されるはずです

以上乱文ですみませんが、私の表現力および技術力ではこのくらいしか説明できません



4:Re:
あゆりーな 06/05 18:41
回答ありがとうございました。

その後もう一度調べたのですが、

7200のDAM端から、日本語項目で「半角」を押して

数字やカタカナを入力してみたところ

同じ結果になったので、DAM端の機能のようです。



G1集合かどうなのかは、調べたのですがよく分かりませんでした。

状況としては、

「客先のデータを社内に持ち込んでRDBQなどで見てみたところ

半角のカタカナなどで表示されるものの、

#NFCNVでDOSに変換すると文字化けする」ということです。

説明が足りなくて申し訳ありません。



何らかの対応コード表さえあれば

力技で変換できるのでしょうが、

カタカナの対応コードがよく分かりません…

52DISKLは試していないのですが、やってみる価値はありそうです。



ともかくもありがとうございました。

5:Re:
tahrayan 06/07 00:02
2バイト半角文字は、NEC拡張文字です。

S100内部コードの6760から68EFあたりの文字が、

JISコードの2921から2B7E辺りに割り当てられています。

文字の名前に「NEC」と付いていることで分かるように、

Windows上には無い文字です。



あまり役に立たないかと思いますが、NEC拡張文字の

S100内部コードとJISコードの対応表です。



http://www.geocities.jp/tahrayan/utili/neckakucho.lzh



Windows側のJISコードの位置には文字が無いので、

この表のまま変換できません。

表の後ろの2列は、半角に変換した場合です。



6:Re:
温泉好きのうさぎ 06/07 00:22
これは外字ではなく、2バイト半角文字です。JISコードでいうと、NX”2921”からNX”297E”およびNX”2A21”からNX”2A7E”であり、内部コードで表現すると、前半1バイトが””67””および””68””となります。



2バイト系文字でありながら、通常の全角文字の半分の幅しかなく、またプリントするときにピッチ詰めも可能なので、ANKでは1行に136桁しか印字できないところを、180桁ほど印字できるようになります。



Express5800/600シリーズのA−VXでは、画面、印字ともに正常に表現されるはずです。



また、#NFCNVでは変換しても、DOSには該当する文字がありませんので、「・」になってしまうのでしょう。



ちなみに、外字は内部コードで表現すると、前半1バイトが””EB””から””EF””までと””FA””から””FF””までです。



7:Re:
温泉好きのうさぎ 06/07 13:41
上記の私の投稿中に、2バイト半角文字として、NX”2B21”からNX”2B7E”も含まれていることが、抜けていました。これらの前半1バイトの内部コードは、””69””です。



これらの文字は、罫線文字とクオーテーションやカッコなどの記号ですが、私のWSエミュレータでは正しく表現できていません。罫線文字は全角と同じ大きさになっており、その他の記号は空白となっています。(そのため、上の投稿で見落としていました)



8:ありがとうございました
あゆりーな 06/10 18:55
皆様の返信、大変参考になりました。

一文字ずつ変換するルーチンも作れそうです。

これでデータ変換できます。

ありがとうございました。

1-

BluesBB ©Sting_Band