Spécifications du système de code-barres du bureau des affaires non classées

Description du besoin

Ce système de code-barres est unidimensionnel, en couleur, et est conçu pour être décodable à l'envers et avec des niveaux de luminosité limités.

Spécifications

Seul un nombre limité de caractères est disponible. Il s'agit:

Un code-barres peut contenir jusqu'à 50 symboles (sachant qu'une lettre majuscule compte pour deux symboles).

Chaque symbole est représenté par trois colonnes verticales de pixels, chacune d'une couleur parmi noir, rouge, vert et bleu. La correspondance entre un symbole et les trois colonnes de couleur est fournie ci-dessous (N pour noir, B pour bleu, V pour vert et R pour rouge) :

CaractèreSymboleCaractèreSymboleCaractèreSymbole
aBBBqVVB6RRB
bBBVrVVV7RRV
cBBRsVVR8RRR
dBBNtVVN9RRN
eBVBuVRBMajusculeNBB
fBVVvVRVEspaceNBV
gBVRwVRRPointNBR
hBVNxVRNVirguleNBN
iBRByRBBDeux pointsNVB
jBRVzRBVApostropheNVV
kBRR0RBRTiret («du 6»)NVR
lBRN1RBNParenthèse ouvranteNVN
mVBB2RVBParenthèse fermanteNRB
nVBV3RVVPoint d'interrogationNRV
oVBR4RVRSlash (/)NRR
pVBN5RVNDièseNRN

Les gardes, elles, sont composées de quatre colonnes respectivement noire, rouge, verte et bleue. Présentes en début et fin de code-barres, elles ont pour fonction de détecter la présence d'un code-barres, de repérer son orientation (en particulier si celui-ci est scanné à l'envers), et peut permettre d'évaluer le niveau de luminosité général du code-barres.

Voici les étapes de sa construction :

Le code-barres final est une image de 158x25 pixels. À noter que, le caractère espace étant utilisé pour le padding pour l'encodage du code-barres, lors de l'étape inverse, on supprimera tous les symboles espace à la fin de la chaîne encodée. En revanche, il est tout à fait possible que la chaîne commence par un ou plusieurs caractères espace.

Exemples

Un exemple de code-barres est le suivant :

Décodé, celui-ci donne «Assassination case - #1 (JFK)».