EAN-13 wygląda jak 13 przypadkowych cyfr pod rzędem kresek, ale każda część ma konkretne znaczenie - zarówno w warstwie liczbowej, jak i w samym rysunku symbolu.
Co oznaczają cyfry
Pełny numer dzieli się na trzy logiczne części:
- Prefiks (zwykle 3 cyfry) - wskazuje organizację GS1, która zarejestrowała pulę numerów dla firmy zamawiającej kod. Szczegóły w tabeli prefiksów GS1.
- Numer firmy i numer produktu - środkowa część, nadawana i zarządzana przez firmę w ramach puli przydzielonej jej przez GS1. Ile cyfr przypada na firmę, a ile na produkt, zależy od wielkości puli, jaką firma wykupiła.
- Cyfra kontrolna (ostatnia) - liczona matematycznie z pozostałych 12 cyfr. Pełny algorytm opisuje poradnik jak obliczyć cyfrę kontrolną.
Anatomia symbolu - ciekawostka
Fizyczny rysunek kodu EAN-13 składa się z: znacznika startu, sześciu cyfr po lewej stronie, znacznika środkowego, sześciu cyfr po prawej stronie i znacznika końca - razem 12 cyfr narysowanych jako kreski. Ale numer ma przecież 13 cyfr. Gdzie jest pierwsza?
Pierwsza cyfra nie ma własnego wzoru kresek. Zamiast tego sześć cyfr z lewej strony koduje się na dwa różne sposoby (dwa różne układy szerokości kresek dla tej samej cyfry) - a to, który z tych dwóch układów zostanie użyty dla każdej z sześciu cyfr, tworzy wzór parzysty/nieparzysty, który sam w sobie koduje pierwszą cyfrę. Skaner odczytuje ten wzór parzystości i w ten sposób „domyśla się" pierwszej cyfry, mimo że nie odpowiada jej żadna osobna kreska. Prawa strona kodu koduje się już tylko jednym, stałym sposobem - stąd asymetria między lewą a prawą połową symbolu.
Symbol w liczbach: 95 modułów
Najwęższa kreska (lub przerwa) to moduł. Każda cyfra zajmuje dokładnie 7 modułów i składa się zawsze z dwóch kresek i dwóch przerw o różnych szerokościach. Całość sumuje się do 95 modułów, a wraz z cichymi strefami do 113:
| Element | Wzór | Modułów |
|---|---|---|
| Lewa cicha strefa | puste pole | 11 |
| Znak startu | 101 | 3 |
| 6 cyfr lewej połowy | zestaw L lub G | 42 |
| Znak środkowy | 01010 | 5 |
| 6 cyfr prawej połowy | zestaw R | 42 |
| Znak stopu | 101 | 3 |
| Prawa cicha strefa | puste pole | 7 |
W zapisie wzorów 1 oznacza moduł ciemny (kreskę), 0 - jasny. Znaki startu, środka i stopu są celowo dłuższe od pozostałych kresek - to te „wydłużone" linie widoczne na każdym kodzie EAN, które rozdzielają cyfry na dwie grupy po sześć. Przy module nominalnym 0,33 mm daje to szerokość 31,35 mm samych kresek; pełne wymiary w różnych skalach zebraliśmy w poradniku wymiary EAN-13 do druku.
Trzy zestawy wzorów: L, G i R
Każda cyfra ma trzy możliwe rysunki. Zestaw L (nieparzysty - ma nieparzystą liczbę ciemnych modułów) i zestaw G (parzysty) są używane w lewej połowie, zestaw R wyłącznie w prawej. Zestaw R to po prostu negatyw zestawu L, a G to odwrócone lustrzanie R. Na przykład cyfra 5 w zestawie L to 0110001, w R 1001110, a w G 0111001. Dzięki temu skaner po pierwszych kilku kreskach wie, czy czyta kod od lewej, czy od prawej strony - i potrafi odczytać symbol do góry nogami.
Układ zestawów L i G w lewej połowie zależy wyłącznie od pierwszej cyfry numeru:
| Pierwsza cyfra | Zestawy dla cyfr 2-7 | Pierwsza cyfra | Zestawy dla cyfr 2-7 |
|---|---|---|---|
| 0 | L L L L L L | 5 | L G G L L G |
| 1 | L L G L G G | 6 | L G G G L L |
| 2 | L L G G L G | 7 | L G L G L G |
| 3 | L L G G G L | 8 | L G L G G L |
| 4 | L G L L G G | 9 | L G G L G L |
Wiersz dla zera jest szczególny: wszystkie sześć cyfr w zestawie L, czyli dokładnie tak, jak koduje się UPC-A. To cały sekret zgodności obu formatów - kod UPC-A jest po prostu kodem EAN-13 z pierwszą cyfrą 0, co rozwijamy w poradniku EAN-13 a UPC-A.
Przykład: polski numer 5901234123457
Prefiks 590 wskazuje, że pulę przydzieliła GS1 Polska - nie mówi nic o kraju produkcji, tylko o organizacji, w której firma zarejestrowała numery. Pierwsza cyfra (5) ustala układ zestawów L G G L L G dla cyfr 9, 0, 1, 2, 3, 4 w lewej połowie. Cyfry 1, 2, 3, 4, 5 i cyfra kontrolna 7 trafiają do prawej połowy w zestawie R. Cyfra kontrolna wynika z pozostałych dwunastu (suma ważona 83, dopełnienie do 90 daje 7) - ale sama w symbolu niczym się nie wyróżnia, jest zwykłą cyfrą w zestawie R.
Częste pytania
Czy EAN-13 może zawierać litery?
Nie. Standard koduje wyłącznie cyfry 0-9. Jeżeli potrzebujesz liter albo dłuższej treści, sięgnij po Code-128 lub kod 2D - przegląd w poradniku rodzaje kodów kreskowych.
Dlaczego cyfry są wydrukowane pod kreskami?
To zapasowa ścieżka odczytu: gdy kod jest uszkodzony albo zamazany, kasjer wpisuje numer ręcznie. Standard wymaga ich obecności, a czcionka powinna być czytelna (zwykle OCR-B). Nasz generator umieszcza je automatycznie w prawidłowym układzie 1 - 6 - 6.
Skąd skaner wie, gdzie kończy się jedna cyfra, a zaczyna druga?
Z ustalonej siatki: po znaku startu każda kolejna cyfra to dokładnie 7 modułów. Skaner mierzy szerokość znaku startu, wyznacza z niej wielkość modułu i dalej dzieli symbol na siódemki. Dlatego tak ważne jest, żeby wszystkie kreski były w tej samej skali - o tym, co psuje tę siatkę przy druku, piszemy w poradniku jakość i weryfikacja kodu.
Dlaczego to ma znaczenie w praktyce
Dla kogoś, kto tylko generuje i drukuje kody, ta budowa jest niewidoczna - nasz generator EAN-13 rysuje poprawny wzór automatycznie. Warto ją jednak znać, jeśli:
- debugujesz, dlaczego jakiś skaner odczytuje kod niepoprawnie (przycięty lewy fragment symbolu psuje odczyt pierwszej cyfry, mimo że wygląda „prawie dobrze"),
- porównujesz EAN-13 z UPC-A - ten sam mechanizm parzystości tłumaczy, dlaczego oba formaty są ze sobą numerycznie zgodne.