JANコードで覚えたこととかメモとか記録とか
まさかのチェックデジットに対応してしまった
2014年2月10日 1:24:12
たぶん合ってますw7桁、12桁を入力するとチェックデジットが付与された状態で文字列が生成されます
チェックデジットの数字を出そうかなと思いましたが、
どうしてもほしい方は 最後の文字列(エンドバーの Z )の前にある文字から数字を出してください。
チェックデジット | バーに対応する 文字列 |
---|---|
0 | L |
1 | M |
2 | N |
3 | O |
4 | P |
5 | Q |
6 | R |
7 | S |
8 | T |
9 | U |
今までは適当に13桁の数字を入力してても法則にのっとって変換してきただけなので、
合っていようが間違っていようが文字列を生成してきました。(バーコードにはなるけどスキャンできない)
でもまだ、間違った13桁を入力しても間違ったまま生成されます。
今後は8桁、13桁を入力してもチェックデジットを計算して、上書きしようかなと思っています。
チェックデジットに対応したことで、インストアコードとかにも利用できそうですよね
お店で独自の数字を発行し、その数字を読み取るだけであれば、 *123456* のようにアスタリスクで囲む方式の CODE39 でしたっけ?それのバーコードのフォントを使えばいいんです。
これをレジでピッって読み取るとなると、レジが CODE39 に対応していないといけません。
でもまーだいたいのレジは対応してるでしょうから問題ないか。
チェックデジットに対応しちゃったjavascript版
JANCODE-nicotan用 JANの数字をフォント用の文字列に変換します
どうやらエクセルでJANコードを使いたい人が多いようだ。
2013年12月5日 2:23:50
このJANコードに関して更新をサボっていました。アクセスログを見てみると 【 エクセル JANコード フォント 】 などと、エクセルが結構絡んでいる
そこで、エクセルに対応させてみました。
まず1つ勘違いしてほしくないのが
4901085004074 (例:ローソンのお茶のJAN)のバーコードを、個人の店なりなんらかの形でほしいとして、
そのまま 4901085004074 と入力してもバーコードスキャナで ピッ とはできない
ということを頭に入れてください。決まった法則に基づいて3種類のバーを駆使してできています。
そのためにはJANの数字を1つ1つ変換して、それにあったバーを表示するための文字列を入力して フォントを自作のフォント(JANCODE-nicotan)にする必要があります。要は、どんな文字列なのか
がわかればいいだけなんです。今回の場合は、
※JAN
※入力する文字。
検索のキーワードに 【 エクセル JANコード 】 が多いのは仕事?個人経営?で表計算のエクセルを使用していることが多いからでしょう
文字列を知りたいだけであれば、下記記載の
JANCODE-nicotan用 JANの数字をフォント用の文字列に変換します
でも変換できます。
また、エクセルを使用の場合は下記記事のエクセルの画像を見ていただければわかるかと思います。
大体同じです。
下記の場合は 式を =tojan(セル) にしていますが、今回は単純に =jan(セル) に変更しました。
javascript で 入力したJANコードを 自作フォント用の変換文字列用に変換する
2013年11月28日 18:28:32
エクセルで使えるようにと、エクセルで作っていたわけだがw実はメインのPCがまさかの吹っ飛び;;
よって作っていたエクセルはなくなりました ガビーーン!
とりあえず思い出しながら javascript を使って 自作のJANCODEフォントの文字列に変換できるように作ってみました。
13桁のみ作成しました
8桁はまだ未実装です
使い方として
- まずフォントをインストールする
- 作りたいJANコードの数字を下記別ウィンドウの入力画面に入力する(最大10個)
- 変換ボタンを押す
- 下のほうにJANCODE-nicotan用の変換文字列が表示される。
- できた文字列をコピー
- 使いたいソフトウェア(エクセルなど)に貼り付け
- その文字の書式(フォント名)を 【 JANCODE-nicotan 】 に変える
エクセルで JAN コードフォントを使うためのものというか数式というか。
2013年7月25日 2:09:32
! 現在はこの作ったエクセルはありません( TДT)
保存してるPCのHDDが公開する前に逝っちゃいました
Javascript バージョンを利用するか 新しく作ったエクセルバージョンをご利用ください。
(2013年12月5日)
保存してるPCのHDDが公開する前に逝っちゃいました
Javascript バージョンを利用するか 新しく作ったエクセルバージョンをご利用ください。
(2013年12月5日)
2つのパターンを作ろうかなと
- 1つは、フォームを起動してテキストボックスに JAN8桁13桁を入力して表示上の文字列に変換する。
- もう1つは、エクセルの数式としてしまう方法。
前者は、テストとして既に完成済み
後者の数式を今回作ってみました。
使用方法
- 好きな場所に JAN コードを入力する。
- 入力したセルの書式の表示方法を 0 にしておくとすべての数値が表示されます。
- 隣のセルに =tojan(A3) と入力します。※A3に入力した場合
- フォントを、「JANCODE-nicotan」に変更します。サイズが小さいと思うのでフォントサイズも大きくします。
- 複数に入力した場合は、=tojan(A3) と入力したセルを選択し右下にカーソルを合わせると╋に変わります。
- その状態で下へドラッグすると相対的に入力され、数式と書式がコピーされ JAN が生成されます。
- 印刷用であればサイズを調整しておしまいです。
- まず数式が書かれたセルをコピーします。
- コピーされている状態で適当なセルを右クリックして「 形式を選択して貼り付け 」を選びます。
- なんということでしょう!値が貼り付けられました。これがピッってするときの JAN の文字列です。
他のエクセルファイルやソフトウェアでもこの文字列をコピーしてフォントを JANCODE-nicotan を選べば ピッ ってできるようになります。
JANCODE フォント 微妙にバージョンアップ
2013年7月24日 0:33:12
先日作った JANコードフォントに数字を足してみました。スタートコードには10種類(0~9)必要ですが、日本のコードは4(49,45)なので4だけ新しく追加しました。
上書き保存しちゃったので、数字なしバージョンにはもう戻れませんw
でも数字を消して黒いバーを伸ばすだけなので、すぐできるといえばできるので問題ないですがw
黒いバーの細さも調整してみました。
先日書いたものと比べてもらえれば違いがわかるかと思います。
=>1.05
なんかすごくいい感じになってますよね!!
規格通りのサイズになっているかどうかは不明・保障しないけど、っぽいよねw
縦のサイズに合うようにエクセルのワードアートを使用してもいいかもしれません。
しかしその場合、数字も伸びちゃいそうなので、数字なしバージョンもあったほうがいいかもしれませんね。
その場合は、小文字でいこうかと思いますが、30個文字が必要なので足りないよね。
記号を使うわけにはいかんし。最悪別のフォントって感じにするしかないでしょうか。
対応するキー一覧:
表示上の数字 | 左側k | 左側g | 右側 |
---|---|---|---|
0 | 0 | A | L |
1 | 1 | B | M |
2 | 2 | C | N |
3 | 3 | D | O |
4 | 4 | E | P |
5 | 5 | F | Q |
6 | 6 | G | R |
7 | 7 | H | S |
8 | 8 | I | T |
9 | 9 | J | U |
スタートコード 4付き | スタートコード 数字なし | センターコード | エンドコード |
---|---|---|---|
X | Y | K | Z |
バー | スタートコード | 2 | 3 | 4 | 5 | 6 | 7 | センター | 8 | 9 | 10 | 11 | 12 | 13 | エンドコード |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JAN | 9 | 0 | 1 | 0 | 8 | 5 | 0 | 0 | 4 | 0 | 7 | 4 | |||
バーのグループ分け | k | g | k | k | g | g | 右側 | 右側 | 右側 | 右側 | 右側 | 右側 | |||
対応する文字列 | X | 9 | A | 1 | 0 | I | F | K | L | L | P | L | S | P | Z |
となります。
詳しくは、今回も JANCODE の件でいきます。の記事を100回読んでください。