Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
[掲示板に戻る全部  1-  最新50
1 漢字とANKの縮小印字について
たかし 2016-9-15 14:00  [返信] [編集]

いつも大変お世話になっております。
以下の問題で困っております。
対処方法についてご教示いただければ幸いです。

CEXシーケンス「CP」(文字ピッチ指定)を使用して「14.4ポイント」を「10.8ポイント」という具合に
幅を3/4に縮小して印字しているフィールドがありますが、そのフィールドへ「漢字」と「ANK」の文字を
混在させて印字したところ「漢字」のみ3/4に幅が縮小されましたが、ANKの幅は変わらず、しかもその後続
(同じ行の漢字ANK混在フィールドより右側のフィールド)のフィールドに指定している水平アドレスタブが無視され、印字位置がずれていきました。

・縮小時の制御コード:""3FE04F40A0"" 10.8ポイント
・標準時の制御コード:""3FE04FE080"" 14.4ポイント

(質問①)
上記の様に「漢字」と「ANK」の文字を1つのフィールドに混在させて印字した場合に、水平アドレスタブが
無視される原因として、どのようなことが考えられるでしょうか。
また、その対策はありますでしょうか。

(質問②)
「漢字」と「ANK」の文字を1つのフィールドに混在させて印字する際、このフィールド全体を縮小して
印字する方法はありますでしょうか。
なおプリンタはレーザープリンタ(MultiWriter8450N)です。

(質問③)
「ANK」だけで構成するフィールドを縮小させて印字しようとしてCEXシーケンス「AGS」(ANK文字サイズ指定)
を以下の制御コードを指定して実行したところ、文字化けして縮小されませんでしたが、
そもそも「ANK」だけで構成するフィールドを縮小させて印字することは可能でしょうか。
なおプリンタはレーザープリンタ(MultiWriter8450N)です。

・縮小時の制御コード:""3F4640E067406C9C"" 縦:4.8ポイント 横:5.7ポイント(15CPI)
・標準時の制御コード:""3F46407D59404D76"" 縦:7.2ポイント 横:8.1ポイント(10CPI)

以上よろしくお願いします。
2 Re: 漢字とANKの縮小印字について
富山清風 2016-9-16 13:46  [返信] [編集]

たかしさん ガンバッテいますね。

(質問①)
上記の様に「漢字」と「ANK」の文字を1つのフィールドに混在させて印字した場合に、水平アドレスタブが
無視される原因として、どのようなことが考えられるでしょうか。
また、その対策はありますでしょうか。
-->「水平アドレスタブ」?の意味がわかりませんで、パス


(質問②)
「漢字」と「ANK」の文字を1つのフィールドに混在させて印字する際、このフィールド全体を縮小して
印字する方法はありますでしょうか。
なおプリンタはレーザープリンタ(MultiWriter8450N)です。
-->「漢字」と「ANK」の混在で3/4に圧縮は分かりません。
-->できないのかもしれません。
-->そもそもANKの10CPI-->の3/4は13.333CPIとなり、AGS(ANK文字サイズ指定)の「表」にあてはまらないから???
-->上記の記述はあいまいですが・・・
-->対策としては、下記を参考にしてください。
 ・本ホームページのトップ--->A-VXの説明書--->●COBOL--->「1行181文字を印字する」サブルーチン

(質問③)
「ANK」だけで構成するフィールドを縮小させて印字しようとしてCEXシーケンス「AGS」(ANK文字サイズ指定)
を以下の制御コードを指定して実行したところ、文字化けして縮小されませんでしたが、
そもそも「ANK」だけで構成するフィールドを縮小させて印字することは可能でしょうか。
なおプリンタはレーザープリンタ(MultiWriter8450N)です。

・縮小時の制御コード:""3F4640E067406C9C"" 縦:4.8ポイント 横:5.7ポイント(15CPI)
・標準時の制御コード:""3F46407D59404D76"" 縦:7.2ポイント 横:8.1ポイント(10CPI)
-->私の環境では文字化けせずに印字できました。(なおプリンタはMultiWriter2360Nです)


3 Re: 漢字とANKの縮小印字について
たかし 2016-9-16 23:49  [返信] [編集]

富山清風さん

お励ましとご回答をいただき、本当にありがとうございます。

本日、いろいろ試した結果、回避策により自己解決しましたので、ご報告します。

※下記説明中の凡例

 <1.5倍> :1.5倍角のCEX制御コード(""3FE04F40A0"")
 <標準> :2.0倍角のCEX制御コード(""3FE04FE080"")

※既存帳票では印字スペースに限りがあるため、なるべく多くの全角文字が
 印字できるようにするため、「1.5倍角」によって印字させている

※上記制御コードはサイズやピッチを変化させたい文字列の前に挿入する

(1)変更前の仕様(元は全角しか印字していなかった)

<1.5倍>N(20)<標準> ← 30バイト(=30桁)の領域に全角20文字が印字できる

(2)変更しようとした仕様(半角文字も印字させようとした)

<1.5倍>X(20)<標準> ← 半角文字は圧縮されず、「X(20)」の右側の項目はすべて
2.0/1.5*文字数分右側へ桁ズレする

(3)回避策とした仕様

 ※X(20)をそのまま素直にN(20)へ移送する

<1.5倍>N(20)<標準> ← ここへX(20)を移送すると全角で印字される

それから、

「水平アドレスタブ」とは、プリントする行の情報量を減らしたい時などに役立つ
印刷時の「桁数指定制御コード」のことです。
「データ管理説明書」の218ページに一覧表が載っています。

しかし、今回の件でわかったのですが、「桁数指定」とは絶対値ではなく
「印字したバイト数」で相対的にカウントされるようです。
ですので、「27桁目に印字」という設定を行なったとしても、
編集領域が27バイト目を超えて印字するようになっていた場合は、「27桁目に印字」
という指定は無視されるようです。

以下も拝見させていただきました。
今後の仕様変更で必要があれば、ぜひ活用させていだたきたいと思います。

>-->対策としては、下記を参考にしてください。
> ・本ホームページのトップ--->A-VXの説明書--->●COBOL--->「1行181文字を印字する」サブルーチン

以上です。
[掲示板に戻る全部 前100 次100 最新50
BluesBB ©Sting_Band