pahooさんにしては珍しく?トンチンカンな回答をしていますね。専門外なんでしょうか。
JANはそもそも数字のみしか表現できないシンボル規格です。CODE39とJANはまったく別のシンボル規格です。キーエンスのページでもちゃんと読めばわかるはずなのですが…。
CODE39、CODE128とも規格上は符号化できる桁数に制限はありません。ただし、世の中のバーコードリーダーは無限の幅のバーコードを読むことができるわけではありませんので、バーコードリーダーの性能(読み取り幅)によって事実上の桁数が制限されます。
CODE39の1キャラクタは、5本のバーとその間の4つのスペースの組み合わせで決まります。バーまたはスペースは細/太の2種類の幅の組み合わせがあり、1キャラクタ中には5つの細幅と3つの太幅が組み合わされます。規格上これらの要素の組み合わせで1キャラクタ辺り44通りの組み合わせを持ちます。規格上細幅の最小は0.191mmであり、この時細幅と太幅の比率は1:2.2~3.0と決まっているため、太幅の最小は0.191*2.2=0.420mmです。
1キャラクタ辺り細幅5つと太幅3つで構成されるので、理論上の1キャラクタの最小は2.216mmです。
またCODE39ではキャラクタとキャラクタの間にキャラクタ間ギャップをおく必要があり、細幅0.191mmの時の最小キャラクタ間ギャップは0.160mmのため、キャラクタ間ギャップを加えると1キャラクタ当たりの最小幅は2.376mmです。
換算すると、CODE39ではもっとも精細な印刷を行った場合、1mmあたり0.421桁の表現が可能です。(ただし、この他にバーコードの前後にスタートキャラクタ、ストップキャラクタ、クワイエットゾーン(バーコード間の緩衝領域)が必要になります)
CODE128の1キャラクタは、3本のバーと3本のスペースのそれぞれの4種類の幅の組み合わせで決まります。規格上これらの組み合わせで1キャラクタ当たり103通りの組み合わせを持ちます。規格上一番細い幅の最小は0.191mmであり、1キャラクタの幅は一番細い幅の11倍になるため、2.101mmとなります。
換算すると、CODE128ではもっとも精細な印刷を行った場合、1mmあたり0.476桁の表現が可能です。(数字と英字が混在するバーコードの場合)(ただし、この他にバーコードの前後にスタートキャラクタ、ストップキャラクタ、チェックディジット、クワイエットゾーンが必要になります)
また、CODE128は数字のみのバーコードの場合は2桁を1キャラクタ分にパックして倍の密度で効率的に符号化することが可能なため、1mmあたり0.952桁となります。(数字のみで構成されるバーコードの場合)
なお、CODE128はバーコード規格上は1キャラクタ当たり103種ですが、理論上ASCIIコード128種や、あるいは半角カナやシフトJISコードを含めた8bitコードの符号化も可能です。ただしこの場合特殊な符号化が必要となるため、1文字の符号化にバーコードシンボルの1キャラクタ以上が必要となり、1mmあたりの情報量はその分減少します。
また、上記の値は規格が認めるところのもっとも精細なバーコードを印刷した場合の理論上の数値なので、バーコードリーダーの読み取り性能によっては読みにくい、あるいは全く読めないバーコードになってしまう可能性があります。読みやすくするにはバーコードを拡大することになり、1mmあたりの情報量(桁数)はその分減少します。
CODE39とかCODE128というのはバーコードの規格を指していると思われますが、
この規格はただの表現の決まりでしかないので容量というものはありません。
たぶんstepwgn24zさんはWindowsパソコンにCODE39のフォントを追加するとして、
そのフォントのサイズはどんなものか?という事を問いたいのだと思われますが、
質問の意図はあっていますでしょうか?
もし質問の意図があっているとした場合、しかしデータ容量というのは一概には言えません。
理由は「CODE39が表示できるフォント」といわれる製品はいろいろなメーカから多種販売されているからです。
各メーカによって製品が違うため、それぞれフォントのサイズが違うという答えになります。
これはたとえ、WindowsではなくてMacOXやUnixやLinuxや組み込み機器向けだとしても事情は同じです。
参考に、今手元にあるCODE39のWindows用フォントのファイルサイズは、6172バイトの容量でした。
ちなみに株式会社テクニカル Technical Corp Web Siteという会社さんのフォントは17キロバイトだそうです。
特に容量はないのですね。勘違いしていました。
どうもありがとうございました。