ElinaSa / PythonYmparisto

Esimerkkejä Python-ympäristön asetuksista
0 stars 0 forks source link

Viivakoodeille oma luokka #24

Open ElinaSa opened 2 hours ago

ElinaSa commented 2 hours ago

Viivakoodeja varten voisi luoda oman luokan, jossa olisi metodit erilaisten viivakoodien luomisen. 128B viivakoodeille voisi tehdä vielä common-variantin lisäksi uncommon ja barcodesoft-versiot. Myös 3of9-koodille voisi tehdä työkalun.

Lisätietoja 3/9-koodista: https://en.wikipedia.org/wiki/Code_39

Google Fonts -latauslinkki: https://fonts.google.com/specimen/Libre+Barcode+39+Text

Tehdään vielä tarvittavat testit, joilla varmistetaan, että koodi toimii.

ElinaSa commented 2 hours ago
Code128:ssa Merkki Common Uncommon Barcodesoft
Alku (start) 204 209 249
Loppu (stop) 206 211 251

Merkit, joiden 8 tai 16 bittinen koodi on yli 127 ovat mahdollisia. Common-variantissa merkit 195 - 202 käytössä. Varmistussumassa arvo on koodi - 100. Uncommon-variantissa 200 - 207 käytössä, varmistussummassa arvo on koodi - 105 ja barcodesoft-variantissa 240 - 247, varmistussummassa arvo on koodi - 145.

ElinaSa commented 2 hours ago

Eli Code 128 B common: sallitut merkit ovat 32 - 126 (vähennetään 32) ja 195 - 202 (vähennetään 100)

Code 128 B uncommon: sallitut merkit ovat 32 - 126 (vähennetään 32) ja 200 - 207 (vähennetään 105)

Code 128 B barcodesoft sallitut merkit ovat 32 - 126 (vähennetään 32) ja 240 - 247 (vähennetään 145)

Lisäksi common: välilyönti 32 tai  194 tai Ï 207, uncommon: Ô 212, barcodesoft ü 252. Näiden arvo varmistussumman laskennassa on aina 0.

Meidän sovelluksessa tarkoitus on valita, mikä kolmesta eri variantista tehdään. Koodin pitäisi varoittaa siitä, että tekstissä on merkkejä, joita valittu viivakoodityyppi ei tue.