	***************
	*   CODEBAR   *
	***************

  Les treize chiffres du code  barres
  ========================================================

  Les deux premiers chiffres du code (n0 et n1) sont des drapeaux donnant une 
indication sur la nature ou lorigine du produit. Les dix suivants (n2  n11) 
constituent le code associ  larticle, et le dernier (n12) est une somme de 
contrle destine  certifier la validit du code.
  n12 est calcul comme suit. On additionne les valeurs des chiffres de position 
impaire, auxquels on ajoute la somme des chiffres de position paire, que lon 
multiplie par 3. De ce rsultat, on ne retient que les units. La suite est alors trs 
simple:
  n12 = (n0+n2+n4+n6+n8+n10) + (n1+n3+n5+n7+n9+n11)*3
  n12 = n12 modulo 10
  si n12 <> 0, alors n12 = 10 - n12



  Le dessin du code
  ========================================================

  Le code est limit par deux marques de bord, situes  ses extrmits droite et 
gauche, et une marque de sparation place en son milieu. Ces lignes, 
gnralement plus longues que les autres, permettent dtalonner lappareil de 
lecture en lui indiquant la largeur des barres utilises pour le code. Cet talonnage 
permet de ntre pas contraint  respecter un standard de dimensions lors de 
limpression.
  Le premier drapeau (n0), dont la valeur est la plupart du temps indique sur la 
gauche de la premire marque de bord, bnficie dun codage spcial que nous 
verront plus loin.
  Les douze valeurs suivantes sont directement inscrites dans le code, divises en 
deux groupes de six par la marque de sparation.
  Chaque valeur est code grce  sept barres noires ou blanches (1 ou 0).
  Ce codage fait appel aux trois  jeux de caractres  qui suivent (entre 
parenthses, la valeur dcimale du caractre cod en binaire):

       Jeu de caractres A        Jeu de caractres B        Jeu de caractres C
       ------------------------       ------------------------       ------------------------
  0:      0001101   (13)              0100111   (39)              1110010   (114)
  1:      0011001   (25)              0110011   (51)              1100110   (102)
  2:      0010011   (19)              0011011   (27)              1101100   (108)
  3:      0111101   (61)              0100001   (33)              1000010   (066)
  4:      0100011   (35)              0011101   (29)              1011100   (092)
  5:      0110001   (49)              0111001   (57)              1001110   (078)
  6:      0101111   (47)              0000101   (05)              1010000   (080)
  7:      0111011   (59)              0010001   (17)              1000100   (068)
  8:      0110111   (55)              0001001   (09)              1001000   (072)
  9:      0001011   (11)              0010111   (23)              1110100   (116)

  Marques de bord:          101
  Marque de sparation:  01010

  Le jeu C est compos des chiffres inverses (NOT) du jeu A. Le jeu B est un 
miroir du jeu C. La consquence est que tous les caractres des jeux B et C sont 
de parit paire, tandis que ceux du jeu A sont de parit impaire.

  La premire moiti des valeurs est code grce aux jeux A et B, la deuxime 
moiti utilise le jeu C.
  Le choix des jeux A ou B dans la premire moiti est dict par la valeur du 
premier drapeau (n0),  laide du tableau qui suit:

  Valeur           Jeu de caractres          Valeur dcimale
   de n0                    pour:                    (pour A=0; B=1)
  ------------------------------------------------------------------
                  n1   n2   n3   n4   n5  n6
      0          A    A    A    A    A   A              (00)
      1          A    A    B    A    B    B              (11)
      2          A    A    B    B    A    B              (14)
      3          A    A    B    B    B    A              (13)
      4          A    B    A    A    B    B              (19)
      5          A    B    B    A    A    B              (25)
      6          A    B    B    B    A    A              (28)
      7          A    B    A    B    A    B              (21)
      8          A    B    A    B    B    A              (22)
      9          A    B    B    A    B    A              (26)

  Notez que lappareil de lecture pourra dduire le jeu duquel le caractre est tir 
grce  sa parit, et ainsi retrouver la valeur de n0.


  Exemple
  ========================================================

  Soit le code:     9 782868 997968

  Calcule de la somme de contrle:
(9+8+8+8+9+9) + (7+2+6+9+7+6)*3 = 51+37*3 = 51+111 =162
162 Modulo 10 = 2
10 - 2 = 8

  Choix des jeux de caractres:
n0=9, donc: ABBABA CCCCCC

Voil, cest tout.

