付録2 コードセット任意切り替え機能

SVF設計部でバーコードアイテムの[バーコード種類]にCODE128、EAN128を指定すると、「コードセット任意切り替えモード」機能が利用できます。

この機能では次のようなことが可能です。

  • 任意のタイミングでコードセットの切り替えができます。
  • ファンクション(FNC1~4)、制御文字(NUL~US、DEL)を出力できます。
  • ヒューマン文字にAI(アプリケーション識別子)を囲む括弧を出力できます。

詳細は次のとおりです。

データ文字列の先頭2文字が次のいずれかの場合は、「コードセット任意切り替えモード」として動作します。

  • >G(START CODE A)
  • >H(START CODE B)
  • >I(START CODE C)

次の2つのコードは自動付加されます。

  • CD(チェックディジット)
  • STOP(ストップコード)

データ文字列には、0x20~0x7eのコード範囲の文字をそのまま入れることができますが、次のコードはコードセットの状態に応じて、「'>' + キャラクター」形式でエスケープされた文字列を入れる必要があります。

  • スタートコード(START CODE A~C)
  • コードセット切り替えコード(Code-A~C)
  • ファンクション(FNC1~4)
  • 制御文字(NUL~US、DEL)

それぞれのコードのエスケープ方法については、次の「コード対応表」を参照してください。

コード対応表

Code A Code B Code C
64 NUL >SP
65 SOH >!
66 STX >"
67 ETX >#
68 EOT >$
69 ENQ >%
70 ACK >&
71 BEL >'
72 BS >(
73 HT >)
74 LF >*
75 VT >+
76 FF >,
77 CR >-
78 SO >.
79 SI >/
80 DLE >0
81 DC1 >1
82 DC2 >2
83 DC3 >3
84 DC4 >4
85 NAK >5
86 SYN >6
87 ETB >7
88 CAN >8
89 EM >9
90 SUB >:
91 ESC >;
92 FS ><
93 GS >=
94 RS >>
95 US >? DEL >?
96 FNC3 >@ FNC3 >@
97 FNC2 >A FNC2 >A
98 SHIFT >B SHIFT >B
99 Code-C >C Code-C >C
100 Code-B >D FNC4 >D Code-B >D
101 FNC4 >E Code-A >E Code-A >E
102 FNC1 >F FNC1 >F FNC1 >F
103 START CODE A >G
104 START CODE B >H
105 START CODE C >I
参考
  • 文字「>」の場合は「>J」を入れてください。
  • 「SP」は空白文字を表します。

AI(アプリケーション識別子)の括弧を出力するには、AIの開始、終了で次のデータ文字列を入れてください。

  • AI開始: >K
  • AI終了: >L
    この文字列で囲まれたデータはAIとみなされ、ヒューマン文字において括弧で囲まれます。バーコードキャラクターには影響しません。

使用例:
次のようなヒューマン文字が表示されるEAN128のバーコードを出力する場合、

  • (12)3456(78)ABCDEFG

データ文字列を次のように指定します。

  • ">I>F>K12>L3456>K78>L>EABCDEFG"
注意
  • ユーザープログラム側で、コードセットの状態に応じて適切なコードを出力してください。例えば、コードセットCの状態で英字を出力するとエラーとなり、バーコードは出力されません。
  • SVFX-Designerでバーコードアイテムを設計する際は、出力されるバーコードのキャラクター数(自動付加されるCDとSTOPの2桁を含む)以上の桁数で設計してください。前述の使用例では、START CODE C(1桁)、FNC1(1桁)、数字1~8(4桁)、Code-C(1桁)、英字A~G(7桁)、CD(1桁)、STOP(1桁)ですので、16桁以上必要です。
    ただし、レポートライターモード(VrSetForm関数のmodeが4か5の場合)では、データ文字列がバーコードの設計桁数でカットされる仕様のため、データ文字列の長さと出力されるバーコードのキャラクター数のうち、大きな方の値以上の桁数で設計する必要があります。前述の使用例では、データ文字列の長さは29であるため29桁以上必要です。
  • レポートライターモード(VrSetForm関数のmodeが4か5の場合)では、データ文字列の後方の空白がカットされます。
制限事項
  • 桁数幅では、出力されるバーコードの幅が入力データ桁数に正確に比例しません。設計幅か、エレメントサイズ手動設定を推奨します。
  • SVF環境設定で[バーコードの出力方法]を設定できる機種で[コマンド出力]を指定した場合は、この機能を利用できないことがあります。