[an error occurred while processing this directive]
 

Le code Datamatrix

English version
Ce code fait partie de la famille des codes à 2 dimensions, il peut encoder jusqu'à 2335 caractères sur une très petite surface.L'encodage se fait en deux étapes : tout d'abord les données sont converties en "mots-clé" de 8 bits. (Encodage de haut niveau) puis ceux-ci sont convertis en petits carrés noirs et blancs. (Encodage de bas niveau) De plus un système de correction des erreurs permet de reconstituer des données mal imprimées, effacées, floues ou arrachées. Dans la suite de cet exposé, l'expression "mot-clé" sera abrégée en MC et "code de Reed-Solomon" en RS.

La structure générale.

Un code de 2 x 2 régions :

L'encodage de bas niveau.

L'encodage de haut biveau.

La détection et la correction des erreurs.

La création des codes barres.

Maintenant que nous savons créer le motif d'un code barre, il nous reste à le dessiner à l'écran et à l'imprimer sur papier. Deux approches sont possibles :
Il semble qu'il n'y ait pas de police gratuite pour codes barre Datamatrix sur le net. J'ai donc décidé de dessiner entièrement cette police et de la proposer en téléchargement. Puisque chaque symbole a un nombre pair de lignes et un nombre pair de colonnes, je met dans chaque caractère de la police 4 modules (2 lignes et 2 colonnes). De cette manière nous avons 16 combinaisons assignées aux 16 premières lettres majuscules.
Si nous donnons une valeur à chaque point de cette matrice de 2 X 2 comme ceci :
1 2
4 8
la valeur ASCII du caractère associé à une matrice donnée est la somme des valeurs de chaque point + 65 (65 = A = pas de point !)

La police " datamatrix.ttf "

Cette police contient les 16 caractères A (ASCII : 65) à P (ASCII : 80)
Copiez ce fichier
dans le répertoire des
polices, le plus souvent :
C:\WINDOWS\FONTS

Encodage d'un code datamatrix

Le programme devra se dérouler en 4 étapes : Du fait de l'interaction entre les différents modes de compression il est difficile de faire une optimisation à 100%. Le programme va donc décomposer la chaine en "blocs" de type "numérique", "texte" ou "octet" puis il repassera certains blocs dans un autre mode si la surcharge dûe aux MC de commutation est supérieure au gain de compression. On ne pourra pas tenir compte de tous les paramètres tels les rembourrages ...

 TRAVAIL EN COURS


Un petit programme pour tester tout ça

 

 

 

 TRAVAIL EN COURS

 

Vous aimez cette page ?

Elle vous est utile ?

Cliquez ici !