>>29

ttp://www.n-barcode.com/cd/aboutcd.html

を見ると、ちょっと違うみたい。

a = a * 3;
a = a % 10;
b = b % 10;
value[12] = 10 - a - b;

じゃなくて、

a = a * 3;
value[12] = 10 - ((a + b) % 10);

が正解かな?