JANコードのバーは、0~9が3種類と、スタート、センター、エンドの3種類の合計33個のバーがあります。
3種類のバーがあるためにキーボードの『0~9』と『A~J』『L~U』の大文字英数字に割り当てました。
決まった法則によって3種類のバーを使うため、そのままJANの数字を入力してもスキャンできるバーコードにはなりません。
▽使い方とダウンロード▽

グーグルのスプレッドシートのフォント

2016年2月16日 :23:48:18
Google_Spreadsheet_FontFamily
おしい。
実におしいよな。
開いた瞬間にはバーコードが表示されるんだ。んですぐに戻る。
そして入力モードにするとフォントが反映されている。
公式のクイックスタートのワード版をスプレッドシートで表示できるように変更してたんだが
変更途中で1個気づいた。
別に翻訳をやりたいわけじゃないw動くようにRangeがどうとかやってたんだが違う、やりたいのはフォントの変更!
で「 Debug 」ボタンを追加して選択しているセルのフォントを変えるようにしてみた
中身の CSS の指定と表示用の CSS でもあるのかどうなのか。
まったくわかりますん。
でも MoreFonts とかいうやつはプレビューを見ると完全にフォントが表示されている
Google Fonts限定なのかなーやっぱ

標準サイズの縦横比をフォントで実現できんのか(37.29×25.93)

2015年11月5日
JANCODE-nicRatio作成中
ご覧の画像のバーコードは新規作成中の nicRatio です。右側は nicWabun です。
nicWabun で高さを出すためには文字を大きくしないといけません。
そうすると幅が広がってしまい、スキャナーを少し離さないといけません
つう感じで高さが短いっていう風にお問い合わせがよく来ます。
正直、考えてませんでした(´・ω・`)

(´・ω・`)

じゃあ、いい感じに調整してみるかーってことで nicWabun の幅をいじる前に、 まずフォントで規格のサイズを表現できんのかってことで 規格の比率で作成したのが nicRatio です。
10マスでやったときに31mmだったのでxマスで37.29にするにはって計算したら
10 : 31 = x : 37.29
31x = 372.9
x = 12.02
って出たのに12マスにしたら足りなかった。というか40マスのwabunで170ミリの時点で合ってないんだがw
しかも15マスにする最中、12マスで何文字かは文字幅が足りていなかったのかあったし
もしかしたら12で正しかったかも試練。
15マスで44ミリなので長すぎた。計算だと12.7マスなので13でやってみる。
でもこれは1日1回じゃないと全部直す元気はありません。2回やる元気はありません。
37.29ミリを超えたあと、nicWabun を40マスから20以上35マス未満で何パターンか作りなおしてみます
よって、上書き再インストールした場合、今の幅でフォントサイズを指定しているとずれます
新しいフォントにしようかと思ったけど、さすがに作りすぎ・・・

あと、nicWabunを使用してワードでバーコード(なし・全角)を表示させようとすると変な幅がでるのを確認しました。
このワード野郎め。直し方知ってる方リアルにマジでご連絡待ってます。

【javascript】保存できるようにしてみました。

2015年8月20日 18:41:27
javascriptバージョンlocalStorageに対応

javascriptバージョンへ

HTML5 の localStorage を使用しました。
ブラウザを閉じてもパソコンの電源を落としてもアドレスを開くと保存したJANコードとメモと文字列が表示されます。
最初はJANコードと文字列のみでしたが保存後にただ表示されたJANコードを見ても何なのかわかんねーじゃん!と思いメモを追加しました
保存の仕方はJANコードを入れ、対象の商品名などを入力後、変換ボタンをクリックします
すると保存されます。(再読み込みで保存されたJANコード、メモ、文字列が表示されます。)
メモを追加したい場合は、該当のJANコードを入力しメモ欄に入力し、変換ボタンで上書きになります。
また、保存された一覧にチェックボックスが付き、それにチェックすると下のテキストエリアにメモとJANコードが表示されます。
コピーしやすいように分けました
思い付いただけで利用しませんがw大量になってきた場合、メモ欄がアイウエオ順になった方がいいのかな?と思ってみたり
ページを「名前を付けて保存」して自分のPC上でやっても(オフラインでも)保存機能は使えますのでご自由にどうぞ
(アドレス単位の保存)

左右○列目へ書き込むやつできたかもしんない

2015年8月5日 18:38:54
文字列取得のボタンたちdropDown の sizeString (表示幅)は調整中
文字列取得ボタンをクリック同じシートの右側の隣へ書き込みました
セルを選択し、文字列取得ボタンをクリック
同じシートの右側の1列目に文字列が書き込まれました。
Wabun用の文字列取得結果
nicWabun用のボタンをクリックしたところ。
変換済みの文字列をJANに戻す=> 変換済みの文字列をJANに戻す
変換された文字列を数字に戻す。
右へ3列目に書き込み。0にするとその場で変換されます。
新しいシートにJANコードと文字列を書き込む=> 新しいシートを作成しJANコードと文字列を書き込んだ
新しいシート「janico」を作成してA列にJANコード、B列に文字列を書き込みます。シート名は追加するたびに変えようかと思いましたがめんどくさいので固定にしました。 左右、○列目の値はスルーします。
同様に、nicWabun用、戻す、チェックデジットも、A列に元データ、B列に変換値を書き込みます。
また、A列の最終行に追加していきます。

リボンのワンクリックボタンができたかもしんない

2015年7月25日 13:13:51
エクセルのサンプル画像
ご覧のようなJANコードが入力されているファイルをサンプルに作成
数字なし/nicWabun/36を選択値が変換されフォントとフォントサイズが変更されます
数字なし、nicWabun、36を選択。
この状態で、セルを選択し『設定値で変換』ボタンを押すと、変換されます。
変換された後は『JANコード』ではなくなるので『あ、間違えた』といって再度ボタンを押しても 変換できませんでしたが、かるーく判定してJANコードに戻しさらに再変換できるようにしました。
数字あり/nicBAR/24を選択数字ありが優先されます。
有り無しの選択とフォント名はありなしのほうが優先されます。(逆の方がいいかな・・・)

セルを複数選択=>セルを複数選択
同時に複数選択してもJANコードである場合のものだけ変換されます。(プログラムの文字数的な意味で限界はあります)

インストールされていないフォントを選択していた場合は、当然表示されません。

作ってるけどcustomUI のリボンの更新しない方がいいかなあ・・・

2015年6月28日 0:20:09
挿入を追加しました
設定の所で、『あり』ならフォント名をnicWabunとnicotanの2種類、『なし』ならnicWabunとnicBARの2種類からみたいに フォント名のコンボボックスを変えようと思ってました。
そしたらvbaからリボンの値を直接変更できない!!
なんだろ、フォームでtextbox.valueの値を参照できるのに代入できないみたいな そんな感じ
んでググりにググった結果、やっとわかりました。
VBAの値を唯一取れるのが getSelectedItemIndex とか getText とかなんだがこれはリボンが読み込まれた時にしか実行されない
で、そのためには customUI が onLoad した時に ribbon をオブジェクトにし、各値を変数に保存して値を変えた時に、リボン.Invalidate してやると リボンが再描画され、getText が実行され、保存していた値を表示する
つう感じ。っていうのがわかった!!
しかしこの場合だと、vbaのエラーが一度でも発生すると set nicoRibbon = ribbon が nothing になってしまい、 nicoRibbon.Invalidate が『nothingだから実行できません』的なエラーになってしまう
(ファイルを開いたときにのみリボンをオブジェクトに入れるので)
エラーになると、コンボボックスを変えただけ、有り無しを選択しただけでエラーがでるようになってしまう
(ファイルを開きなおすと治る)
開いたままの解決方法をググったら、レジストリから作っておいたリボンを復元するみたいなやつで、レジストリをいじるのはちょっと怖い
んで悩んでるっていう。設定なんて無くていんじゃねーかみたいな
でも右側の変換系は、選択しているセル範囲の相対移動した場所に『文字列にする』とか『チェックデジットの数字のみ』とかじゃないと そのJANの上に書き換えちゃうのはまずいんじゃないかと。
となると、=jan(jancode) の数式タイプが考えなくて便利つうか。一番上にフォントとサイズ指定しちゃえば オートフィルでいいですしおすし
うーーーん。nicoRibbon.Invalidate を使わないように作ればいいんですね。

エクセル2007のリボンをカスタマイズ よく使うものも入れてみた

2015年6月9日 14:29:07
ファイルを開く、上書き保存などよく使うものをいれてみた
JANコードっていうタブにそれに関係するものだけいれる予定でした。
でもせっかく2007(2010.2016で動作確認)でリボンいじれるならと思ってよく使うであろう一般のものを入れて、 ついでにJANもできるよみたいな感じはどうかと思ってこうなりました。
今日はここまで

まだまだ追加します。挿入系がないし、JANに関してクリックしたらメニューがでるsplitButtonもいいのかなーとか
自分が使うっていう自己満足のものしか追加しませんがw
ここにこれほしい!てのがあればいつでも追加します
2016バージョン
こちらは2016バージョン。やっぱりフラットボタンいいなあ

馬鹿にした2007が化けそう

2015年6月7日 14:21:31
エクセル2007は通常、リボンをいじくることはできません
しかし前回の記事のように、エクセルファイルを分解してxmlに直接書き込んでやるとリボンをカスタマイズできます
それがこちら
一応できたよ
SUGEEEE
あと前回の記事のリンク先に、オリジナルの画像をのっけるにはソフトを使わなきゃいけないんだが
xmlの設定で済むはずだなーと思ってそのソフトを使って普通のやつと、画像を埋め込んだやつの違いを探した結果、 ソフトを使わなくてもxmlの記述でいけるようになりました。

その記述方法はこちら

まず一番上の階層の [Content_Types].xml に画像に関する情報を追加
png 形式のアイコンにする場合は image/.png
jpg 形式のアイコンにする場合は image/jpeg
※gif形式はやってないのでわかりませんw png-8 の方がファイルサイズ小さくなるので

[Content_Types].xml

<Default Extension="png" ContentType="image/.png"/>
<Default Extension="jpeg" ContentType="image/jpeg" />

customUI というフォルダを作ってるはずなので、その中に
_rels
images (画像を入れるフォルダ。名前はなんでもいい)
の2つのフォルダを作ります
customUIフォルダの中に2つフォルダを作成する
_rels のフォルダの中に customUI.xml と同じ名前に.rels を付け加えた、xmlを作ります。
(違う名前にしたら認識されませんでした。名前空間ってやつ?っぽい)
これは、画像のパス=画像のIDを結びつける記述です。

customUI.xml.rels

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship
	Id="icon_490"
	Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
	Target="icon/icon_490.png"/>
</Relationships>

※ はみ出すので改行してます
id="" 画像と結びつけるid
type="" は固定
Target="" がパスです ※画像は icon フォルダなので icon/です
画像を追加するには Relationships /Relationships の間に 上記と同じように Relationship を追加していきます

画像フォルダには画像を入れます。


customUI.xml

<group id="idGroup" label="へんかん">
  <button id="btnHenkan" label="設定値で変換" image="icon_490" size="large" />
</group>

customUI.xml 内に、↑のid="imageid" で設定したものを、
image="imageid" すると画像になりました
sizeLargeNormal
size="large"
エクセル2007でいうと「クリップボード」の(貼り付け)と同じ
size="normal"
エクセル2007でいうと「クリップボード」の(切り取りコピー書式のコピー/貼り付け)と同じ

エクセルのリボンに関して超すごいサイトを見つけてしまった

2015年6月5日
リボンに関して着々と準備を進めています(エクセル2010を個人的にかっちゃた!うきうきわくわく パッケージ到着待ち!)
そんな中、準備運動しようと思ってリボンのカスタマイズに関してググってたら、こんなサイトが

Office 2007/2010・リボンのカスタマイズ 初心者備忘録
http://www.ka-net.org/index.html
引用元 Office 2007/2010・リボンのカスタマイズ 初心者備忘録

Office 2007の文書ファイルは、複数のXMLや画像など、文書内で使用されるファイルで構成され、それらのファイルをZip形式で圧縮することによって、1つのファイルにまとめられています。 したがって、Office 2007の文書ファイル(例えばxlsxファイル)をZip形式に対応した解凍ソフトで解凍すると、XML等の文書内で使用されているファイルを確認することができます。 さらに解凍されたXMLファイルは、テキストエディタで編集できるので、Office製品を使うことなくファイルの編集を行えます。 実は、Office 2007のインターフェースである"リボン"もこのXMLファイルで構成されているので、テキストエディタを使ってカスタマイズすることができるのです。

引用おしまい
は!!www
xlsxってzipファイルだったのかよ!!!

xlsxを解凍してる画像
xlsxを解凍してフォルダがあった
おい・・・まじだった・・・

手順通りxmlコピペしたらまじでカスタムタブできたし・・・
圧縮しなおしたらタブが追加されてた
ということは、通称『専用のエクセル』化けるなこれ・・・。2003版と分けないといかんなこれ
でもこれは1個のファイルを分解して埋め込む形なので、普通にエクセルとし使う場合はアドイン?みたいなかんじ?もあったほうがいんでないかな
(ありそう)詳しくはわからん
このサイトお世話になります┏○ペコッ

6と9を修正

2015年5月28日 2:10:39
2015年5月29日 0:43:15
nicWabun0-9チェック用上 ver.1.02(3を修正)
nicWabun0-9チェック用中 ver.1.03(6と9を修正)
nicWabun0-9チェック用下 ver.1.04(6と9を修正)
一度やってみたかったwフィボナッチ数列
フィボナッチで9フィボナッチで9
組み合わせ方は変かも知れないけど許して(つд・)棒が長い・・・なあ・・・再チャレンジだわ。ていうか高さ合ってないじゃん今きづいたw棒の長さと棒の角度だなきっと

再チャレンジしてみた。
丸の配置をいろいろ変えたらもっと棒の長さと角度は変わりそう。とりあえず仮でおkかな

3を修正

2015年5月25日 14:40:45
上 ver.1.00(5を修正 番号変え忘れw)
下 ver.1.02(3を修正)
nicWabun0-9チェック用
nicWabun0-9チェック用

和文フォントの5を修正しました。

2015年5月22日 1:34:38
使ってる人は気になってたはずw
5のしたにチョロってでるやつを修正しました。上書き保存しちゃったのでどう変わったのか比べる画像はありません!
今のうちに5を修正した(20150522)の画像をのっけときます。エクセル2016なのは気にしないこと!
9が気に入ったとかいったけど9が気になる・・・3と6もいやだな
0…上の方が 1…○ 2…うーん 3…下の丸みが 4…○ 5…○ 6…ペッ 7…○ 8…○ 9…笑 nicWabun0-9チェック用
今まで2003で生きてきたが昨年?ぐらいに職場が2010に変えたんだ。
最初はうはwwww無理ww状態だったんだが、それはあくまでも2003のメニューがどこにあるのか分からないから困っていたんであって、 自分専用のタブ作って2003と同じになるように配置したらどうってことなくなったんです
開くと上書きねえ! → 個別に追加
挿入がセルじゃなくて行がいい! → 行の挿入、列の挿入を別に
ページ設定どこやねん! → マクロで xlDialogPageSetup
なんやねん印刷! → マクロで xlDialogPrint(だっけ?)
移動、コピーのシートの名前の定義のはい、いいえのダイアログうぜえええ→名前の定義関連のマクロ
みたいな感じで自分でよく使うものだけ集めたら、
・2003がいかに凄かったのか
・2010の素晴らしさ
・2007とは一体何だったのか
に気付きました。
で、何が言いたいかって言うと2010以降なら自由にタブとコマンドの配置ができるので、ずっと前からいってたボタンでポチッが実装可能になります。
こうすれば、他人に渡す際には =jan() の『マクロ付き』とプログラムのいらない、文字列化した状態の『普通のエクセル』の2種類で渡せるようになります。
インストールファイル作成とかよくわかりませんので、タブの追加、ボタンの追加、クリックしたときのマクロのリンク付けを説明書作れば いいすよね。

重い腰を上げついに和文フォントを作成中です => とりあえず完成しました

2015年3月20日 13:03:56
2015年3月21日 10:21:24

これが手書きです(フォントじゃないです)
まず1行目から間違ってるクオリティです
文字の前後から何を言ってるのか把握しなければいけません。
普通は下手文字であっても読める文字がフォントになるんです。
でも、読みづらい字、読めない字をフォントにしたっていいと思うんです。

いかしてる文字は『な』と『す』あとは『を』この3文字は意識しなくてもくずれます。『け』もひどいね、Hになってるしwこれは自信作になりそう

エクセルでちゃんと文字がみえるようにしました

ついにWEBフォントですな
前の記事で書いたように和文フォント(普通の日本語フォント)として作ったことでブラウザでも表示が可能でした。
そこで、数字付きも和文フォントで作成します。
和文フォントは割り当てがいっぱいあるのでバーなしも合体します。
半角の大文字英数字に数字付きを割り当てます
そして全角の大文字英数字に数字なしを割り当てます

さらに、自分が書いた最高に汚いひらがなをあなたに提供します


php(?)、javascript(?)、ruby(nkf)などだいたい全角<->半角の変換ができるはずです。
よって今まで通り関数を使用して返ってきたあとに半角のままか全角にするのか処理すればいいだけです。
すっごいだいぶ前に php の関数も作ったんで合わせて公開します

適当な紙にマッキーを使って『あたたたたたたたたたたあああ』な感じで点を打っていきます
線を描くとそれが面となり決まった4しか描く(見る)ことしかできません
ところが点で書くと点と点を結んだ線と面を想像できるのでいろんな4を見れます
チラっと見える3も下の丸みの上がり具合とか。
立体的に書いてんじゃなくていろんな風に見えるように書いてるんです
上に登る棒の角度と長さが違うとかね
これを手元に置きながら ttedit でオンカーブ・オフカーブを置いていっています。

8・・・・なんということでしょう!
グリッド補助線をいっぱい使ってオンカーブ、オフカーブの位置を左右対称になるように置いていくと原型がこんなんでも立派になります
今回作った数字で気に入ったは9、気に入らないのは2と6

Ruby バージョン クラス化してみた

2015年3月28日 14:32:18

ちょっと変えました
ruby の Hash は Hash.new したときに、hash[key] = ○、○の初期値を決めることができます。....
たとえば
h = Hash.new(0)
通常は h["test"] = "tesutesu" のように値を入れます
初期値を決めるとh[key]だけで自動的に値が代入されます。
print h["test"] => 0
そこでもしかして自作した関数の答えを入れることができるんじゃないかと思ったらその通り、hash[key] = jan(key)が可能でした
関数で kotae = jan(jancode) を1個1個やってもいいですが、 Hash型に継承したクラスからできたオブジェクトに、 [KEY](JANコード)を入れるだけでVALUE(文字列)がセットされるようにしてみました。

jan = Jan.new
p jan["4901681502516"] => "X9D88DDKLMQSMRZ"
jan.show => {"4901681502516" => "X9D88DDKLMQSMRZ"}

みたいに!
こっちのほうがおもしろいよね。[KEY]にJANコードを入れると文字列が返り、オブジェクト内の Hash に追加されていきます。
showっていうメソッドで return hash型しますのでeach {|k,v|}して使ってね
optionていうhashを引数にすればのちにいろんなことができそうです。 とりあえず置換の rep を文字列、もしくは2種類以上の置換できるように配列でいれるとJANコードの中のハイフンなどを除去できます

よく考えたら、Class Jan < Hash してんのにオブジェクト内にHash型を作成する必要ないですね
初期値の設定もいいけど [](key) を再定義すればいいみたいですね、作り直しました。
.newの引数に Hash型 :rep (シンボルにしました) の値を文字列(rep: "-")、文字列の配列(rep: ["-","_"])を指定すると置換されます。
jan[key] keyにJANコードを入れたら jan(key) の計算をして value にセットされます。
配列をkeyに入れると配列をフラットにしてJANコードのみを文字列にし、それ以外をnilで返します。さらに1個ずつ self[key.to_sym] = value に登録されます
Hash型をkeyにすると登録されず nil を返します(key,valueを利用していろいろできそう)
一度入れたJANコードをシンボル化(:"4901681502516" ""が必要)するようにしました。毎回JANコードを入れて計算させるより、 シンボルの場合はsuper(key)でvalueを返すようにしました
Hash型を継承しましたので、.each .key? .value? .size などHash型のメソッド各種が使えるはずです

現在 Ruby の関数を作成中! => できました。

2014年12月11日 15:35:39
2014年12月18日 0:29:06

需要あるかわからん!
Javascript、エクセルのvbaともに、各文字列を選ぶ際にはswitch文を利用していましたが
配列のインデックスと同じであることに気付きました((((゜Д゜;))))今更!

んでさらに左側の白黒のバーは、01で区別してたんでこれもインデックスとし配列の配列にしてみました!
右側は画像には写ってませんがインデックス2の位置に文字列があります。
Barという配列の配列で解決できますね。

現在作成中のRubyバージョンは、jan() の引数に【文字列の数字】【配列】【数値】を入れて分岐しようと思っています。
今はまだ【文字列の数値】と【配列】の分岐しかされてませんが、数値の場合も追加予定です。
配列の場合は、配列を分解してJANにまっちするような形式なら文字列にしてしまうという感じ
JANじゃないならnilを返そうかなと。配列の形を維持したまま返されるはず(再起ってやつがこれであってんのかわからん!パソコンの再起動ならできるんだが)
また、チェックデジットだけを求めれるように jancd( 4901234 ) のようにすると チェックデジットの数字が返ってくるようにしました

def twelve(n)
  strJan = ""
  strJan << StartCode[n[0].to_i]
  6.times {|i| strJan << Bar[Initial[n[0].to_i][i].to_i][n[i+1].to_i] }
  strJan << "K"
  for i in 7..11
    strJan << Bar[2][n[i].to_i]
  end
  strJan << Bar[2][jancd(n)]
  strJan << "Z"
  return strJan
end

こんなかんじw
左側のバーの判定は1行ですよ1行(6.timesのとこ)
.to_i でうおおってなったけど1個1個やったらなんでもなかった
文章にすると
JANの1文字目の数字からパターンを取り出し、それを頭から順に6回取り出したものを、定数Barの配列のインデックスとして、JANの数字の2文字目から6回取り出したものをインデックスとして文字を取り出したものを順に strJan に入れていく
Rubyおもしれえええ(*´Д`*)

=jan()を使用できるようにアドインを導入し保存したエクセルファイルを別PCで使用したい場合

2014年7月28日 1:16:11
2014年7月30日 17:00:43
今までは、=jan() を自分のPCでしかやったことなかったのですが、
=jan() を使用したエクセルファイルを保存して
別のノートPC(アドイン導入済)で開いたところエラーがでることがわかりました。

同じアドインであっても、開いたときには、『=jan()』というユーザー定義関数のプログラムが書かれたファイルが見つかりません。
というエラーが出るようです。


いろいろググってみましたが、めんどくさくなったので麦茶を飲みながら10秒で解決方法を思いつきました。

説明するのもすっごいややこしいので答えからいいますw

使用するPCのアドインの保存先を全て同じにします。

例)
自宅PC C:\Excel\JANCODE-nicotan用エクセル.xla
他のPC C:\Excel\JANCODE-nicotan用エクセル.xla

単純なことでした。
こうすれば、エクセルはファイルパスが同じなので、=jan() というプログラムが書かれた xla を読むことができます。
これで、どっちでも使えるようになるはずです(たぶん)

この状況で、すでに保存してしまっていたファイルを開くと、 アドインのファイルパスが合わないはずなので、=jan() ってアドインファイルないやん!ってエラーが出てしまいます。

セキュリティの警告 リンクの自動更新が無効にされました
みたいなエラーが出るはずです(バージョンによって違います)
=jan() のセルを見るとわかるとおもいますが、
='C:\(ファイルパス)\JANCODE-nicotan用エクセル.xla'!jan(A1)みたいにファイルパスが入力されているとおもいます。

このファイルパスに保存されているアドインファイルの=jan()

ということです。

これが存在しないからエラーなのです。

アドインファイルの保存先はユーザー名なので、ユーザー名が一致しない限り存在しない
だったら

ファイルパス同じにすりゃいんじゃね?←コレです。


置換よりやはりリンク先の修正で。
アドイン導入済みであれば、単純に痴漢でおkです。お尻を触ってください。
検索する文字列→'C:\(ファイルパス)\JANCODE-nicotan用エクセル.xla'!
置換後の文字列→

こうすれば、ファイルパスが空白の文字列(削除)となり、=jan(A1) だけが残ります。
アドイン導入済みなので=jan(A1)が生きます


いろいろあるけどね、リンク先を正しいファイル先にするとか
別PCで使用する場合は、文字列化してしまうとか(コピペの値の貼り付け)

和文フォントにしておいたことでアンドロイドでも表示できた

2014年7月5日 13:50:40
この画像は google の nexus7 ちゃんです。
写っている画面の文字などは、この記事を書くためにわざわざガーーッと作ったテストなので気にせずにw
あ~でもこんなのを作ってる最中です

アンドロイドの端末に自分の作ったJANコードのフォントをインストールできるもんなのか グーグル先生に聞く前に、
『 css に font-face で指定すればPCにインストールされていないフォントでも表示できた。』
→ということはネクサス7ちゃんでも表示できんじゃね?!

ということでやってみたのがこの画像というわけです。

これでいったい何ができるかというと、WEBブラウザなのでタブレットにJANコードを動的に表示させることができます。
一旦画像にしないといけなかったものが、うちのフォントの場合は数字を文字に変換してそれをフォントを変えるだけで バーコードになります。
これによって、紙媒体に印刷したものをスキャンするのではなく、 タブレットに表示されたバーをそのまま読めばいいのです!!

使い方はいろいろできるでしょうね
ご覧のような注文を受け、お会計時に該当の商品をスキャンするのではなく、 画面に表示されたバーを読んでいけばおしまい。とか。

ローカルサーバーを持っている人限定というwすっごい限られますがw
css

@font-face {
  font-family: "JANCODE-nicBAR";
  src: url("JANCODE-nicBAR.ttf");
}
@font-face {
  font-family: "JANCODE-nicotan";
  src: url("JANCODE-nicotan.ttf");
}
.barcode {
  padding: 10px 40px;
  font-family: "JANCODE-nicBAR";
  font-size: 60px;
}
.barcode2 {
  padding: 10px 40px;
  font-family: "JANCODE-nicotan";
  font-size: 60px;
}

html

<section>
  <h1>スキャン台帳</h1>
  <table border="1">
    <tr>
      <th>てりやきマックバーガー</th>
    </tr>
    <tr>
      <td class="barcode">X9A10IFKLLPLSPZ</td>
    </tr>
    <tr>
      <th>ブラジルバーガービーフBBQ</th>
    </tr>
    <tr>
      <td class="barcode2">X9A10IFKLLPLSPZ</td>
    </tr>
  </table>
</section>

表示できたのは数字なしのバーのみの方(JANCODE-nicBAR.ttfの方)
下のほうは残念ながらフォントを表示できず文字のみの表示となっています。
数字付きの「シンボルフォント」はWEBブラウザでは表示できないようです?。(JANCODE-nicotan.ttfの方)

表示を確認したブラウザは、firefoxとchromeです。 どちらも数字付は表示されませんでした。

PCの場合はchromeはどちらも表示されます。(すげー)

ブラウザで表示できたってことはアンドロイドのアプリとか表示できそうですよね
ブルートゥースのバーコードリーダーつけてJANを読んでーとか
商品情報のページにバーコード表示させてーとか
つくれませんけども(;´ρ`)

お知らせ =jan() のアドイン簡単でしたw

2014年6月4日 16:11:12
エクセルのアドイン調べたら難しくなかった
てっきり、ツールバーに配置がどうのこうのとか、なんやかんやしなきゃいけないとか思ってたけど
function test() があればアドインとして保存して登録するだけで =test() ができるようになるそうです。

というわけで、専用エクセル名前を付けて保存。「エクセルのアドインとして保存」すればアドインになりますw

詳しい使用方法をエクセル版のページに追加しました。
※ページキャッシュで表示されると思うので、ページを更新してね



アドインの登録方法は、エクセルのバージョンによって画面が違います。
※2007は↓↓

保存先を指定してチェックボックスにレ点を入れると使用できます。
※2003は【ツール】→【アドイン】→おなじ

アドインを削除する場合は、アドインを削除すれして上記の手順を踏むと、
『ファイルが見つかりません。削除しますか?』と表示されるので消すことができます。

アドイン登録後は専用エクセルじゃなくとも =jan() が利用できます

そうですよね「2」を追加したらこうなりますよね

要望した方お待たせしました
前回の2を追加してほしいということで追加したら、0~9までほしいってなりますよね
特に難しくないので本日やっちゃいました。
数字あり・なしともに「abcdefghij」の小文字に0~9を割り当てました。(半角です)
前回までのスタートコード WXY はそのまま生きてます
しかし、ここで 文字列取得の Javascriptエクセルを 「a~j」に切り替えると、
対応してないバージョン(数字あり1.12以下/なし1.02以下)を使用している場合に表示されないので、
2と4をそのまま「2:W」「4:X」として変換します。

バーコード(数字あり)のスタートコードに「2」を追加しました。

2014年4月3日 16:29:23
要望した方、本当にお待たせしました。
2を使うということはインストアコードを使用しているのしょうね
スタートコードに2を追加(にくにくしいおにくおにく)(W92JE1AKNULNUMZ)
スタートコード2の割り当てを「W」にしました。
数字あり、バーのみの両方Wに割り当てました。(バーのみは当然ながらただのスタートコードです)
それに伴って javascript バージョンも最初の数字が2であるときスタートコードを W になるように修正しました。

※2つ目は左端の数字から2文字目という意味
左端の数字
バーとして
存在しない
スタート
コード
2つ目3つ目4つ目5つ目6つ目7つ目センター
コード
右側チェック
デジット
(要計算)
エンド
コード
YKZ
YKZ
WKZ
YKZ
XKZ
YKZ
YKZ
YKZ
YKZ
YKZ
にくにくしいおにくおにく の場合のバーを表示するための文字列
29029
WKNULNU
再度、対応するキー一覧を表示します。:
※WEB上は全角ですが入力は半角です。
表示上の数字左側k左側g右側
スタートコード
2付き
スタートコード
4付き
スタートコード
数字なし
センターコードエンドコード

あと、多少数字の部分を修正しました。
→ 0、1、2、4

エクセルのアドインってどうよ?

2014年3月7日 23:56:17
現状は専用のエクセルでしか数式を使うことができません。
これをアドインで導入してしまえば、どんなエクセルでも =jan() を使用できるようになります。
しかもエクセルには 2003 ではツールバー、2007、2010、2013 ではリボンとしてマクロを登録できるようになります。
範囲を選択してポチッとか、490~...で入力されたセルをX9..のように書き換えてフォントも自動的に変更しちゃうとか
逆にX9...をJANコードに戻しちゃう!とか、いろいろ考えただけで夢が広がリング
しかし、忙しいのでだいぶ先です。
エクセルのチェックデジットですら対応してませんですし。

※ 画像はただのネタです。文章とは関係ないです。
商品タグのパロディ

ピッってできなかったら連絡ちょうだいね

2014年3月4日 23:35:36
2014年3月7日 23:38:47
jancode.nicotan@gmail.com
ピッってならない場合は、 を教えてください
連絡後修正致します。
その数字に対応するバーが間違っている可能性があります。

エクセルバージョンのページで使用方法を少し追加しました。
ページキャッシュが残っている場合はページを更新してください。

バーコード(数字なし)のスタートコードのフォントがおかしかったのを修正しました。

2014年3月1日 22:48:19
8桁のJANを変換する際(4の数字なし)、フォントのスタートコード「Y」の文字が 101 の横に 0 が入ってた(誤 1010 正 101 )ので読み取れない状況でした。
オレクオリティです。
ほかの文字も全てチェックしてませんwのでほかにもあったらごめんちゃい

やべぇwJavascriptでフォントを使わず、JANコードをバーコード画像にしちゃった

2014年2月27日 22:58:59
canvas を使いました。
座標を指定して、ここからここまで黒を塗る、幅は2px、長さは100pxみたいなかんじです。
あとは、JANの法則に基づいて黒である部分の座標を指定しただけです。
そしたらできちゃったああああああああああああ

【Javascript】[Canvas] JANコードから画像を生成してダウンロード保存できます。

バーコードのフォントを使わずJavascriptのみで画像保存できるやつ
  • 現在は(2014.02.26)、8桁のみ(簡単だから)
    (2014年2月27日) 7桁、8桁、12桁、13桁に対応してるはずです。
  • お使いのブラウザが javascript と canvas に対応してる必要があります。
  • クリアボタンは未実装
    クリアボタン対応
  • チェックデジットは javascript バージョンのコピペなのでたぶん大丈夫
  • 相変わらずの動作確認してないコカコーラのあやたかのJANを入力してディスプレイ上でピッってやったらちゃんと数字が出たのでたぶん問題ない
  • 入力項目を増やす(未実装)
  • 8桁だったら自動的に画像の幅とか調整する(未実装)

JANコードのバーコードの数字なしバージョンのフォントを作ったよ

2014年2月15日 0:54:03
作ったよ、というか数字を付ける前の、細さを調整したバージョンのまんまです。
TTEdit の仕組みがようわからんけど1から作り直すって感じになってしまった。
でもまあ、四角を作って1モジュールにして7倍すれば1文字の幅になるので、 あとは黒くするところを色塗れば完成
すぐできました。

あ、あともう1つ
前回の数字付きのやつは、シンボル?フォントってやつの分類で、文字を表示するほどの割り当てがありません(? 詳しくわかんない)
そのためブラウザでフォントを指定しても表示させることができません(たぶん)
そこで今回、和文フォントという普通の形式で作ってみました。

しかし残念なお知らせがw
エクセルでフォントを選ぶときにフォントの名前を例にフォントの形が表示されるため、 「JANCODE-nicBAR」という文字は表示されず、英語の大文字に割り当てられたバーのみの表示となります
数字なしバージョンはこんな感じ
(JANCODE____BAR に割り当てられたバーコードが表示されるw)
作ってから気付いたんだからしょうがないよね!w
数字ありバージョンは大丈夫です
数字ありバージョンはこんな感じ

しかも動作のチェックもせずにアップするというオレクオリティ。
ごめん。
フォント名を日本語にしてフォント名の部分だけ文字を割り当ててもいいかもね。
そうすればフォントを選ぶ際には文字が出てくるはずだ
その文字はおれのきったない手書きのフォントにしようかなw

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

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フォント→JANCODE-nicotan.ttf用の文字列に変換できるように作ってみました。

13桁のみ作成しました
8桁はまだ未実装です

使い方として

エクセルで JAN コードフォントを使うためのものというか数式というか。

2013年7月25日 2:09:32
! 現在はこの作ったエクセルはありません( TДT)
保存してるPCのHDDが公開する前に逝っちゃいました
Javascript バージョンを利用するか 新しく作ったエクセルバージョンをご利用ください。
(2013年12月5日)

2つのパターンを作ろうかなと
エクセルの画面
前者は、テストとして既に完成済み
後者の数式を今回作ってみました。
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回読んでください。

今回も JANCODE の件でいきます。

2013年7月21日 14:26:43
当初、 JAN を扱うようになったときに、JANコードのフォントをフリーで入手したものの、490~のようにただ入力してもスキャンできませんでした。
CODE39 の場合は *0123* のようにスタートコードエンドコードの * ではさむと読み込むことができます。
JAN もきっとそうなんだろうなとすぐに予想はできたのですが、それがどこのキーなのかわかりませんでした。
とりあえずキーボードを1個ずつ入力していくと、
0123456789
@ABCDEFGHI
PQRSTUVWXY
<>=
の場所でバーコードが出てきました。 0~9の10個と思いきや30個以上出てきました。しかも全部違う!
これは調べるしかないってことで調べたがどうもよくわからない。
チェックデジットがどうのこうのとかじゃなくて、この13桁のJANコードを JANCODE フォントで表示するときに、どんな文字列組み合わせで入力すればいいのか、っていうのが知りたいのだ。
10回ググって100回読んでやっとわかったので、解説していきたいと思う。
「JAN とは何か」は他のサイト、もしくは一般財団法人流通システム開発センターなるところをご覧いただきたい。 今は、バーコードのフォントをどうやったらピッってできるようにするのか。でいきます。

JANコードは、
【スタートコード】【2つ目】【3】【4】【5】【6】【7】【センターコード】【8】【9】【10】【11】【12】【チェックデジット】【エンドコード】
の、15文字でできています。 13桁の JAN コードは先頭の数字を抜いてできていたのです!←ここ重要
手元にある JAN コードを見てもらえるとわかると思います。最初の数字だけ外れたとこにありますよね。

じゃーなぜ、ピッってやったときに最初の数字が出てくるのか?
日本のコードが49(45)だから自動的に4ってつくんだ!

うーん、正解というか不正解というか。

実は、2つ目の数字から6個(234567つ目、センターの前まで)のバーを読み取って、その組み合わせの結果「4」だから、頭に4と自動的に付与されるんです。
だから、「正解というか不正解」
組み合わせによっては0でもあるし2とか9でもある。
では、2つ目の数字からセンターの前の6個までの数字の組み合わせなのか?
うーん、不正解。
数字ではなく、バーコードの組み合わせが正解!
文頭にバーコードが30個あると言いましたが、「4」という数字を判別するために2種類の0~9のバーコードを使っているんです。
その2種類のバーコードを1つを「k」グループ、もう一つを「g」グループと仮に名前を付けましょう。
んで、その「k」「g」を組み合わせて先頭の数字が0~9の10通りの組み合わせはこうなっています。
※2つ目は先頭の4から2文字目という意味
先頭に付与される数字2つ目3つ目4つ目5つ目6つ目7つ目
4(今回はコレ)
そして、kとgの各数字の時のバーがこれっという風になっています。
※なぜ「k」と「g」と呼ぶかは後述。
※kとgの2種類
数字kグループgグループ
白と黒のバーは略
つまり、上記のローソンのペットボトルの JAN の例でいくと、

1つ目 2つ目3つ目4つ目5つ目6つ目7つ目
2種類の組み合わせ
表示上のJAN
付与される数値kgkkggだから【4】 kの9gの0kの1kの0gの8gの5
となります。

これによって、1種類のバーコードからは先頭の文字を作り出すことはできませんが、

「k」と「g」という2種類のバーコードがあることによって、

同じ数字でも違う組み合わせを作ることができるのです。

4だから【kgkkgg】の組み合わせでもあるし、【kgkkgg】の組み合わせだから先頭の数字は【4】なのです。

残りは、センターバーからエンドまでの6つです。
左側は「k」と「g」の2種類ありましたが、右側は、それとは別の1種類で出来ています。
これがバーコードが30個ある理由です。
スタートバー、センター、エンドを合わせれば33個ですね。
ただ普通に 4901085004074 と入力してもダメなわけです。
先頭の4を抜かし、kgkkggである時の各文字列を入れ、センターバーを入れ、右側の該当する文字を入れ、エンドバーを入れる。
これで JANCODE フォントを使ってピッってできるようになります。
左側の「k」と「g」、そして右側の1種類をキーボード表にしてみましょう。
表示上の数字左側の「k」グループ左側の「g」グループ右側のグループ
スタートコードセンターコードエンドコード
<=>

上記のように割り当てられたバーコードのフォントを使った場合の入力文字列は、
バースタートコード センター 10111213エンドコード
緑茶のJAN 901085   004074 
グループ  右側右側右側右側右側右側>
対応する文字列<9@10HE = PPTPWT>
上記のキーボード表であるとき、入力する文字列は、

となります! これさえわかれば、ちょっとエクセルをかじってる人であれば、VBAで実現できることでしょう。

で、なんで「k」と「g」という風に言ってたのか?
それは、奇数と偶数という意味です。
しかし、前半で奇数偶数と言ってしまうと、「なんで奇数の所に2(4)なんだ?」とか「なんで偶数の所に3(5)が入るんだ?!」
とわかりづらくなってしまいます。

それでは一体なんの奇数・偶数なのかというと、黒いバーの数なんです。


1つのバーは7個のエリア(モジュールと言うらしい)に分かれています。1個のバーに7つあるので7モジュール
上記の9の場合 【白白白黒白黒黒】と黒いバーが3つあります。右側が合体して1ではなく、あくまでもモジュールとして数えます。
3個ありますね。これが先ほどから言っていた奇数のkです。
この様に、バーの数が奇数の時のx、バーの数が偶数の時のxという風に、黒のバーが何個の組み合わせでできているのか?で、
先頭の数字を導き出していたのです。
デジタルでいうと白と黒というより 0か1か ですので、前回示した「略」をここで再度表にします。

黒いバーの数「1」を数えてみてね
数字奇数(kグループ)偶数(gグループ)
00011010100111
00110010110011
00100110011011
01111010100001
01000110011101
01100010111001
01011110000101
01110110010001
01101110001001
0001011
0010111
※残りの数字はめんどくさいので作ってませんw

JANコードがまさか3種類のバーで出来ているとは思っても見ませんでした。
最初の4もバーとしては存在しないってのも知らなかった。
前半の6個で決めていたとは・・・


で、話は続くんだ。
上記の通り、白と黒の位置がわかったということは、自分でフォントも作ってしまえばどうか?!
職場の PC にインストールされたいたフォントなので、家に帰ってきてもなにもできないという事態なのです。
先日書いた 「JANCODE フォントを自分で作ってみた。」という記事がそれなんです。
しかし、まだ未課金だったので公開するこもとできず、ただ作ってみました。という報告だけでした。
今現在は、ローソンのペットの JAN が表示されているとおり、
自分で作った JANCODE フォントでエクセルの VBA で出力した文字列を画像にしたものです。
フォントは完成しているのですが、多少手を加えたいのまだ完ぺきではありません。
バーの下にある数字も載せたいし、ちょっと大きさのバランスもおかしいし。
対応するキー一覧:
※WEB上は全角ですが入力は半角です。
表示上の数字左側奇数左側偶数右側
スタートコードセンターコードエンドコード
エクセルで使用する際に@や、<>、=があるとハイパーリンクやマイナス扱いとなってめんどくさいので、
数字と英語の大文字のみにしています。
今後、数字付きもチャレンジしたい。
このフォントを使用した時のローソン緑茶の JAN は、

となります。

エクセルで変換できるようにする マクロ(VBA) は出来てるけど出来てないので待ってね
エクセルJAN生成君

先日に引き続き JANCODE の件、TTedit を使用して JANCODEフォントを自分で作ってみた。

2013年7月21日 3:28:25
フォントを作成するソフトを探していましたが、結局一番安定なのが TTedit であるようなので、これにしました。
30日の試用期間であれば無料ということなので、やってみた。
後日課金するつもりだ。
課金しないと、たとえ公開しなくてもそのフォントを使用できないことになっています。

上記の画像がバーコードの1つ1つをキーボードの各キーに割り当てたもの。
0030 行の9つは 0~9
0040 行は ABCDと続き、U、そして間をあけ、YZの大文字に割り当てました。
0040 行を1つあけたのは、そこは @ が入っていて、@を利用した場合エクセルだとメールアドレス扱い(ハイパーリンク)となって めんどくさいので人間的にわかりやすく、Aからスタートさせました。
時間ないので、後日書きます。

普通の商品についている JAN の仕組みがようやくわかったので、エクセルでできるかも

2013年7月20日 14:28:06
レジをエクセルを作ろうって話になったとき、JAN は読めるのに JAN 作成できなかった。
JAN 専用のフォントをダウンロードしても、どうやったらピッとスキャンできるようになるのか、まったくわからなかった。
エクセルで JAN を作るソフトウェアが多数存在するものの、そのほとんどがシェアウェアでお金がかかってしまう。
だったら自分で作ってしまおう!ってことで、 JAN の作り方について調べていても一向に出てこない・・・
しかし、ついに JAN の仕組みをくわーしく解説しているサイトを発見!
ついに意味がわかった!
これによって JAN のフォントさえあれば、ピッってできる文字の組み合わせにして出力することが可能になりました。
エクセルの VBA を使用して作りました。
あとは自作で JAN フォントも作ったりしようかと思ってます!