2016年9月18日日曜日

GS1-128(UCC/EAN-128)のバーコードをフォントで打つ方法

GS1-128は↓のようなバーコードらしい。
http://www.n-barcode.com/jiten/yu.html


GS1-128はCODE128を使用しており、
CODE128にはタイプA・タイプB・タイプCの3種類があり、
GS1-128はタイプC。

バーコードの最初のスタートコードによって判別されるぽい。

さらにタイプCは数値2桁に対して1つのバーコードが割り当てられている。
フォントで出そうとすると2桁を1つのバーコードにしなきゃなので大変・・・


まずはCODE128のフォントのインストール。
適当に探したここから↓
http://grandzebu.net/informatique/codbar-en/code128.htm


最初のタイプCのスタートコードを出力するには、
"Ò"
上記サイトではただの"O"になっているけど本当はラテン語が割り当てられているっぽい。

次に"FNC1"ってのを出力しなければならないので、
"Ï"
を出力。


ここから数値2桁ずつを文字に変換していく、
上記サイトの"Table C"の数値2桁の列から"Character"の列の文字に変換。
例)
00 → Ô(またはスペース)
01 → !
18 → 2
54 → V
91 → {
95 → È
96 → É
97 → Ê
98 → Ë
99 → Ì

一部数値にまたラテン文字が・・・


さらにチェックデジット。
CODE128はモジュラス103で計算らしい。

計算した結果を2桁も↑の文字に変し最後に追加


最後にストップコードの"Ó"を付加して完成!


例えば

1800549598

を出したい場合は、

ÒÏ2ÔVÈË[CD]Ó

[CD]:チェックデジットの値

になる。

フォントで出すの難しすぎる・・・

2016年9月17日土曜日

新設!!

大人の事情で

http://yukamemo-ver2.blog.so-net.ne.jp/

から移転!

また書く気になるかな~