JANコードで覚えたこととかメモとか記録とか

まさかのチェックデジットに対応してしまった

2014年2月10日 1:24:12
たぶん合ってますw
7桁、12桁を入力するとチェックデジットが付与された状態で文字列が生成されます
チェックデジットの数字を出そうかなと思いましたが、
javascriptの組み方の都合上wDOMがちょっとめんどくさいと思ってやめましたw(い、いつかやるよ)
どうしてもほしい方は 最後の文字列(エンドバーの Z )の前にある文字から数字を出してください。
チェックデジットバーに対応する
文字列
あ、エクセルのほうはまだ対応しておりません(2014年2月10日)
今までは適当に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日)

2つのパターンを作ろうかなと
  • 1つは、フォームを起動してテキストボックスに JAN8桁13桁を入力して表示上の文字列に変換する。
  • もう1つは、エクセルの数式としてしまう方法。
エクセルの画面
前者は、テストとして既に完成済み
後者の数式を今回作ってみました。
VBAEditor
使用方法
  1. 好きな場所に JAN コードを入力する。
  2. 入力したセルの書式の表示方法を 0 にしておくとすべての数値が表示されます。
  3. セルを右クリックしてセルの書式設定 セルの書式、表示形式のユーザー定義の種類を0にする。
  4. 隣のセルに =tojan(A3) と入力します。※A3に入力した場合
  5. フォントを、「JANCODE-nicotan」に変更します。サイズが小さいと思うのでフォントサイズも大きくします。
  6. フィルダウンします。
  7. 複数に入力した場合は、=tojan(A3) と入力したセルを選択し右下にカーソルを合わせると╋に変わります。
  8. その状態で下へドラッグすると相対的に入力され、数式と書式がコピーされ JAN が生成されます。
  9. 印刷用であればサイズを調整しておしまいです。
しかし、他のエクセルや JANCODE-nicotan を使用できるソフトウェアで使用する場合は、 コピーをしても =tojan(A3) という数式がコピーされるだけで意味がありません。(うそついたかもw) そこで、次の手順で生成された文字列を取り出します。
  1. まず数式が書かれたセルをコピーします。
  2. コピーされている状態で適当なセルを右クリックして「 形式を選択して貼り付け 」を選びます。
  3. セルを右クリックして形式を選択して貼り付けを選ぶ 形式を選択して貼り付け:値を選ぶ
  4. なんということでしょう!値が貼り付けられました。これがピッってするときの JAN の文字列です。
  5. 数式で得られていた文字列の値を貼りつけました。
    他のエクセルファイルやソフトウェアでもこの文字列をコピーしてフォントを JANCODE-nicotan を選べば ピッ ってできるようになります。

JANCODE フォント 微妙にバージョンアップ

2013年7月24日 0:33:12
先日作った JANコードフォントに数字を足してみました。
スタートコードには10種類(0~9)必要ですが、日本のコードは4(49,45)なので4だけ新しく追加しました。
上書き保存しちゃったので、数字なしバージョンにはもう戻れませんw
でも数字を消して黒いバーを伸ばすだけなので、すぐできるといえばできるので問題ないですがw
黒いバーの細さも調整してみました。
先日書いたものと比べてもらえれば違いがわかるかと思います。
=>1.05

なんかすごくいい感じになってますよね!!
規格通りのサイズになっているかどうかは不明・保障しないけど、っぽいよねw
縦のサイズに合うようにエクセルのワードアートを使用してもいいかもしれません。
しかしその場合、数字も伸びちゃいそうなので、数字なしバージョンもあったほうがいいかもしれませんね。
その場合は、小文字でいこうかと思いますが、30個文字が必要なので足りないよね。
記号を使うわけにはいかんし。最悪別のフォントって感じにするしかないでしょうか。

対応するキー一覧:
※WEB上は全角ですが入力は半角です。
表示上の数字左側k左側g右側
スタートコード
4付き
スタートコード
数字なし
センターコードエンドコード
JAN コードはとある法則に基づいて生成されます。
バースタートコード センター 10111213エンドコード
JAN 901085   004074 
バーのグループ分け  右側右側右側右側右側右側
対応する文字列X9A10IF K LLPLSPZ
下記の JANコード を JANCODE-nicotan で表示するときの文字列は、

となります。
自作JANコードフォントを使用して作成した
詳しくは、今回も JANCODE の件でいきます。の記事を100回読んでください。