vehicles 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -7
- data/README.md +353 -69
- data/data/PROVENANCE-vehicles.md +2 -2
- data/data/plates/PROVENANCE.md +2 -2
- data/data/plates/_decode/at-districts.yml +2 -2
- data/data/plates/_decode/cn-issuing-offices.yml +2 -2
- data/data/plates/_decode/cn-provinces.yml +2 -2
- data/data/plates/_decode/cz-kraj.yml +1 -1
- data/data/plates/_decode/dk-serial-blocks.yml +1 -1
- data/data/plates/_decode/es-provinces.yml +1 -1
- data/data/plates/_decode/fr-departements.yml +2 -2
- data/data/plates/_decode/gb-age-identifiers.yml +1 -1
- data/data/plates/_decode/gb-memory-tags.yml +1 -1
- data/data/plates/_decode/gr-prefectures.yml +1 -1
- data/data/plates/_decode/hr-cities.yml +3 -3
- data/data/plates/_decode/ie-counties.yml +3 -3
- data/data/plates/_decode/in-state-codes.yml +2 -2
- data/data/plates/_decode/it-provinces.yml +3 -3
- data/data/plates/_decode/jp-office-marks.yml +2 -2
- data/data/plates/_decode/jp-use-marks.yml +2 -2
- data/data/plates/_decode/kr-authority-marks.yml +1 -1
- data/data/plates/_decode/mx-entity-series.yml +1 -1
- data/data/plates/_decode/my-index-marks.yml +4 -4
- data/data/plates/_decode/pt-trailer-services.yml +1 -1
- data/data/plates/_decode/ro-counties.yml +1 -1
- data/data/plates/_decode/se-diplomatic.yml +1 -1
- data/data/plates/_decode/si-regions.yml +1 -1
- data/data/plates/_decode/ua-regions.yml +1 -1
- data/data/plates/_meta/classes.yml +1 -1
- data/data/plates/_meta/separators.yml +1 -1
- data/data/plates/ad.yml +555 -52
- data/data/plates/ar.yml +8 -8
- data/data/plates/at.yml +91 -10
- data/data/plates/au-act.yml +13 -13
- data/data/plates/au-nsw.yml +9 -9
- data/data/plates/au-nt.yml +13 -14
- data/data/plates/au-qld.yml +7 -7
- data/data/plates/au-sa.yml +7 -7
- data/data/plates/au-tas.yml +10 -10
- data/data/plates/au-vic.yml +6 -6
- data/data/plates/au-wa.yml +8 -8
- data/data/plates/be.yml +11 -11
- data/data/plates/br.yml +14 -14
- data/data/plates/ca-ab.yml +10 -10
- data/data/plates/ca-bc.yml +6 -6
- data/data/plates/ca-mb.yml +4 -4
- data/data/plates/ca-nb.yml +9 -9
- data/data/plates/ca-nl.yml +11 -11
- data/data/plates/ca-ns.yml +12 -12
- data/data/plates/ca-nt.yml +7 -7
- data/data/plates/ca-nu.yml +7 -7
- data/data/plates/ca-on.yml +21 -21
- data/data/plates/ca-pe.yml +13 -13
- data/data/plates/ca-qc.yml +11 -11
- data/data/plates/ca-sk.yml +6 -6
- data/data/plates/ca-yt.yml +6 -6
- data/data/plates/ch.yml +14 -14
- data/data/plates/cn.yml +9 -9
- data/data/plates/cy.yml +6 -6
- data/data/plates/cz.yml +9 -9
- data/data/plates/de.yml +8 -8
- data/data/plates/dk.yml +12 -12
- data/data/plates/ee.yml +13 -13
- data/data/plates/eg.yml +708 -0
- data/data/plates/es.yml +8 -8
- data/data/plates/fi.yml +14 -14
- data/data/plates/fr.yml +12 -12
- data/data/plates/gb.yml +16 -16
- data/data/plates/gr.yml +14 -14
- data/data/plates/hr.yml +15 -15
- data/data/plates/hu.yml +16 -16
- data/data/plates/ie.yml +7 -7
- data/data/plates/in.yml +7 -7
- data/data/plates/is.yml +3 -3
- data/data/plates/it.yml +21 -21
- data/data/plates/jp.yml +121 -121
- data/data/plates/kr.yml +6 -6
- data/data/plates/li.yml +6 -6
- data/data/plates/lt.yml +10 -10
- data/data/plates/lu.yml +4 -4
- data/data/plates/lv.yml +9 -9
- data/data/plates/mc.yml +4 -4
- data/data/plates/mt.yml +5 -5
- data/data/plates/mx.yml +7 -7
- data/data/plates/my.yml +18 -18
- data/data/plates/ng.yml +346 -0
- data/data/plates/nl.yml +5 -5
- data/data/plates/no.yml +7 -7
- data/data/plates/nz.yml +18 -18
- data/data/plates/pl.yml +4 -4
- data/data/plates/pt.yml +13 -5
- data/data/plates/ro.yml +14 -14
- data/data/plates/se.yml +13 -13
- data/data/plates/si.yml +8 -8
- data/data/plates/sk.yml +15 -15
- data/data/plates/sm.yml +7 -7
- data/data/plates/th.yml +10 -10
- data/data/plates/tr.yml +432 -0
- data/data/plates/ua.yml +9 -9
- data/data/plates/us-ak.yml +11 -11
- data/data/plates/us-al.yml +12 -12
- data/data/plates/us-ar.yml +15 -15
- data/data/plates/us-as.yml +10 -10
- data/data/plates/us-az.yml +10 -10
- data/data/plates/us-ca.yml +13 -13
- data/data/plates/us-co.yml +14 -14
- data/data/plates/us-ct.yml +24 -24
- data/data/plates/us-dc.yml +7 -7
- data/data/plates/us-de.yml +10 -10
- data/data/plates/us-fl.yml +17 -17
- data/data/plates/us-ga.yml +10 -10
- data/data/plates/us-gu.yml +11 -11
- data/data/plates/us-hi.yml +11 -11
- data/data/plates/us-ia.yml +9 -9
- data/data/plates/us-id.yml +13 -13
- data/data/plates/us-il.yml +11 -11
- data/data/plates/us-in.yml +9 -9
- data/data/plates/us-ks.yml +8 -8
- data/data/plates/us-ky.yml +11 -11
- data/data/plates/us-la.yml +11 -11
- data/data/plates/us-ma.yml +10 -10
- data/data/plates/us-md.yml +7 -7
- data/data/plates/us-me.yml +16 -16
- data/data/plates/us-mi.yml +8 -8
- data/data/plates/us-mn.yml +13 -13
- data/data/plates/us-mo.yml +13 -13
- data/data/plates/us-mp.yml +12 -12
- data/data/plates/us-ms.yml +8 -8
- data/data/plates/us-mt.yml +12 -12
- data/data/plates/us-nc.yml +12 -12
- data/data/plates/us-nd.yml +10 -10
- data/data/plates/us-ne.yml +10 -10
- data/data/plates/us-nh.yml +8 -8
- data/data/plates/us-nj.yml +8 -8
- data/data/plates/us-nm.yml +14 -14
- data/data/plates/us-nv.yml +18 -18
- data/data/plates/us-ny.yml +17 -17
- data/data/plates/us-oh.yml +13 -13
- data/data/plates/us-ok.yml +12 -12
- data/data/plates/us-or.yml +15 -15
- data/data/plates/us-pa.yml +14 -14
- data/data/plates/us-pr.yml +15 -15
- data/data/plates/us-ri.yml +10 -10
- data/data/plates/us-sc.yml +7 -7
- data/data/plates/us-sd.yml +12 -12
- data/data/plates/us-tn.yml +8 -8
- data/data/plates/us-tx.yml +17 -17
- data/data/plates/us-ut.yml +12 -12
- data/data/plates/us-va.yml +14 -14
- data/data/plates/us-vi.yml +16 -16
- data/data/plates/us-vt.yml +9 -9
- data/data/plates/us-wa.yml +18 -18
- data/data/plates/us-wi.yml +8 -8
- data/data/plates/us-wv.yml +9 -9
- data/data/plates/us-wy.yml +10 -10
- data/data/plates/va.yml +7 -7
- data/data/plates/za.yml +11 -11
- data/data/vehicles.json +121081 -62015
- data/lib/generators/vehicles/templates/initializer.rb +21 -12
- data/lib/generators/vehicles/templates/vehicles_refresh_job.rb +8 -4
- data/lib/vehicles/color.rb +8 -1
- data/lib/vehicles/colors.rb +14 -10
- data/lib/vehicles/configuration.rb +82 -3
- data/lib/vehicles/data_source.rb +220 -0
- data/lib/vehicles/dataset.rb +38 -6
- data/lib/vehicles/dataset_resolution.rb +39 -3
- data/lib/vehicles/dataset_slice.rb +90 -0
- data/lib/vehicles/hosted_result.rb +94 -0
- data/lib/vehicles/http.rb +75 -7
- data/lib/vehicles/id_lookup.rb +37 -0
- data/lib/vehicles/kind_rule.rb +63 -0
- data/lib/vehicles/labels.rb +131 -0
- data/lib/vehicles/make.rb +45 -19
- data/lib/vehicles/model.rb +66 -19
- data/lib/vehicles/model_match.rb +16 -2
- data/lib/vehicles/model_matcher.rb +6 -7
- data/lib/vehicles/plates/series.rb +87 -8
- data/lib/vehicles/plates/template_fill.rb +2 -2
- data/lib/vehicles/plates/templates.rb +9 -5
- data/lib/vehicles/plates.rb +54 -8
- data/lib/vehicles/providers/hosted_provider.rb +145 -32
- data/lib/vehicles/providers/local_provider.rb +2 -2
- data/lib/vehicles/refresh_result.rb +74 -0
- data/lib/vehicles/refresher.rb +190 -54
- data/lib/vehicles/release_checks.rb +72 -0
- data/lib/vehicles/text_matcher.rb +19 -10
- data/lib/vehicles/validators/vehicle_make_validator.rb +18 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +17 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +119 -67
- data/rakelib/data_refresh.rake +1 -1
- data/rakelib/plates_refresh.rake +1 -1
- data/sig/vehicles.rbs +67 -13
- metadata +13 -2
data/data/plates/es.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/es.yml — Spain (
|
|
1
|
+
# plates/es.yml — Spain (the plates spec gate L0 pilot; PROVINCIAL-HISTORY REDATE
|
|
2
2
|
# PASS, 2026-08-02, to the L1 evidence standard).
|
|
3
3
|
#
|
|
4
4
|
# EVERY format, colour and letter-exclusion claim for the CURRENT series comes
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
# including the modern additions (decorative geometric designs permitted;
|
|
23
23
|
# ISO/IEC 30116:2016 OCR quality).
|
|
24
24
|
#
|
|
25
|
-
# This settles the "Spanish 2000 cutover" that
|
|
25
|
+
# This settles the "Spanish 2000 cutover" that the plates spec §5.3 flags as a
|
|
26
26
|
# folklore-prone boundary: the instrument is dated, published and its entry
|
|
27
27
|
# into force is stated by BOE itself as 17-09-2000. No averaging required.
|
|
28
28
|
#
|
|
@@ -162,7 +162,7 @@ series:
|
|
|
162
162
|
note: >-
|
|
163
163
|
THE REAR PLATE ONLY is blue with white matte characters, for taxis and for
|
|
164
164
|
hire-with-driver vehicles of up to nine seats. The front plate stays
|
|
165
|
-
white/black. Same serial, same period, so a sub-entry per
|
|
165
|
+
white/black. Same serial, same period, so a sub-entry per the plates spec §2.3
|
|
166
166
|
— but note this is a genuine front/rear ASYMMETRY, not a colour-only
|
|
167
167
|
swap, and secondary sources routinely get it wrong by colouring both.
|
|
168
168
|
sources:
|
|
@@ -295,7 +295,7 @@ series:
|
|
|
295
295
|
2822/1998 instrument window) with the honest caveat that no 1971 primary was
|
|
296
296
|
secured; the primary is now secured and the period is corrected. The id
|
|
297
297
|
stays `es-provincial` (not `es-provincial-1971`) under the id contract
|
|
298
|
-
(
|
|
298
|
+
(the quality spec I-5/I-6): amend, never rename. Plates already issued remain
|
|
299
299
|
valid indefinitely and are re-issued on request; RGV Art. 27.2 lets an owner
|
|
300
300
|
swap a provincial plate for a national one on a change of province.
|
|
301
301
|
REMAINING GAPS at point of use: (1) the instruments that switched GE->GI,
|
|
@@ -364,7 +364,7 @@ series:
|
|
|
364
364
|
This era's lists differ per instrument (1907, 1918, 1926, 1934 art. 232,
|
|
365
365
|
1971 art. 233): three-letter codes until at latest 1926, no Gran
|
|
366
366
|
Canaria/Tenerife split in 1907, Sahara SH in the 1971 list. Historical
|
|
367
|
-
decode rows are L4 work (
|
|
367
|
+
decode rows are L4 work (the plates spec §7) — recorded gap.
|
|
368
368
|
sources:
|
|
369
369
|
- "https://www.boe.es/datos/pdfs/BOE/1900/263/A01141-01142.pdf # RD 17-09-1900 (Gaceta de Madrid 263, 20-09-1900, pp. 1141-1142), 'Reglamento para el servicio de coches automóviles por las carreteras': per-province authorization + 'En el Gobierno civil de cada provincia habrá un registro general de este servicio' (art. 6); vehicle inscriptions required but NO plate format prescribed. Accessed 2026-08-02"
|
|
370
370
|
- "https://www.boe.es/gazeta/dias/1907/06/09/pdfs/GMD-1907-160.pdf # RO 24-05-1907 (Gaceta 160, 09-06-1907): THE FIRST PLATE FORMAT — concl. 3.ª two plates, 'la contraseña de la provincia, y á continuación y separado por un guión el número de orden de la licencia', black on white; concl. 5.ª the first contraseña list (1-3 letters); concl. 6.ª dimensions. Its preamble states pre-1907 display was non-uniform ('exige uniformar el criterio'). Accessed 2026-08-02"
|
|
@@ -634,7 +634,7 @@ series:
|
|
|
634
634
|
TEMPORARY PERMIT FOR COMPANIES, UNREGISTERED VEHICLES — prefix S. This is
|
|
635
635
|
Spain's functional dealer/trade plate. Its own series and not a variant of the
|
|
636
636
|
V plate below, because the statute assigns a DIFFERENT PREFIX LETTER, which is
|
|
637
|
-
a format difference (
|
|
637
|
+
a format difference (the plates spec §2.3). CLASS CAVEAT: recorded as `dealer`
|
|
638
638
|
because it is bound to a business rather than a vehicle; the statutory name is
|
|
639
639
|
"permiso temporal para empresas".
|
|
640
640
|
|
|
@@ -705,7 +705,7 @@ series:
|
|
|
705
705
|
CUERPO DIPLOMÁTICO — red ground, white characters. The mission-prefix DECODE
|
|
706
706
|
TABLE is not authored: Anexo XVIII states the ASSIGNMENT RULE (alphabetical
|
|
707
707
|
order of the Foreign Ministry's official diplomatic list) but not the resulting
|
|
708
|
-
codes, and that list was not fetched in this pass.
|
|
708
|
+
codes, and that list was not fetched in this pass. The plates spec puts diplomatic
|
|
709
709
|
decode tables at gate L4; this entry carries the mechanism so the table can be
|
|
710
710
|
hung off it later without an id change.
|
|
711
711
|
|
|
@@ -858,7 +858,7 @@ series:
|
|
|
858
858
|
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.B: MF, MMA and PME contraseñas"
|
|
859
859
|
notes: >-
|
|
860
860
|
CENTRAL GOVERNMENT FLEETS. PERIOD-ROT WARNING for the decode discipline
|
|
861
|
-
|
|
861
|
+
the plates spec §9 calls out: MF (Ministerio de Fomento) and MMA (Ministerio de
|
|
862
862
|
Medio Ambiente) name ministries that have since been reorganised and renamed,
|
|
863
863
|
yet the consolidated Anexo XVIII still lists them. The codes are current law;
|
|
864
864
|
the ministry names behind them are not current fact. Recorded as-enacted.
|
data/data/plates/fi.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/fi.yml — Finland (
|
|
1
|
+
# plates/fi.yml — Finland (the plates spec gate L1, EU/EEA slice). DRAFT for
|
|
2
2
|
# verification: researched by an Opus L1 researcher, never applied directly.
|
|
3
3
|
#
|
|
4
4
|
# THE FINNISH SOURCE CHAIN, AND WHY IT IS UNUSUALLY CLEAN
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
# type whether the hyphen is required ("tulee olla väliviiva") or forbidden
|
|
98
98
|
# ("ei saa olla väliviivaa" — the two-row plates, where the groups sit on
|
|
99
99
|
# separate lines instead). Patterns here always spell the canonical single-row
|
|
100
|
-
# printed form with the hyphen (
|
|
100
|
+
# printed form with the hyphen (the plates spec §2.6 rule 2); each design block
|
|
101
101
|
# records which sizes print two rows and therefore no hyphen at all. The rule is
|
|
102
102
|
# old: A 1598/1995 § 36(5) already said "Rekisterikilvessä olevat numerot
|
|
103
103
|
# erotetaan rekisterikilvessä olevista kirjaimista väliviivalla."
|
|
@@ -140,7 +140,7 @@ common:
|
|
|
140
140
|
printed. On two-row plates the määräys forbids the hyphen outright, so the
|
|
141
141
|
same mark is printed with a hyphen on a single-row plate and without one on
|
|
142
142
|
a two-row plate. A separator-forgiving consumer collapses both to the same
|
|
143
|
-
canonical serial, which is exactly what
|
|
143
|
+
canonical serial, which is exactly what the plates spec §2.6 guarantees.
|
|
144
144
|
allocation:
|
|
145
145
|
rule: "A 162/2021 § 17(1), verbatim: 'Ajoneuvolle annettava 16 §:n mukainen rekisteritunnus määräytyy sattumanvaraisesti. Liikenne- ja viestintävirasto voi kuitenkin pyynnöstä antaa ajoneuvokohtaisen, hakemuksessa yksilöidyn rekisteritunnuksen (erityistunnus).'"
|
|
146
146
|
consequence: "RANDOM allocation. No region, no era, no vehicle-class letter is derivable from a Finnish mark — only the letters/digits ARRANGEMENT and the plate colour carry information. § 17(3) adds that a vehicle whose plates are lost or stolen gets a NEW mark, so a Finnish mark is not even stable across the vehicle's life."
|
|
@@ -234,7 +234,7 @@ common:
|
|
|
234
234
|
liitteiden 1-5 kirjasintyyppien mukaisia." Liitteet 1-5 are dimensioned
|
|
235
235
|
vector drawings of the letters and numerals at 72 mm, 70 mm, 56 mm and
|
|
236
236
|
35 mm; Liite 6 is the export plate's date numerals. Exactly the UK/DE/ES
|
|
237
|
-
pattern the EU dossier found (
|
|
237
|
+
pattern the EU dossier found (the plates spec §6): the legal object is a
|
|
238
238
|
drawing, not a licensable typeface, so the render layer derives glyphs
|
|
239
239
|
from the drawing.
|
|
240
240
|
annexes:
|
|
@@ -246,7 +246,7 @@ common:
|
|
|
246
246
|
- "Liite 6: vientirekisteröidyn ajoneuvon voimassaoloaikaa ilmaisevien numeroiden kirjasintyyppi"
|
|
247
247
|
- "Liite 7: siirtomerkin kirjasintyyppi"
|
|
248
248
|
exception_flagged: >-
|
|
249
|
-
THE ONE EXCEPTION, AND IT MATTERS TO
|
|
249
|
+
THE ONE EXCEPTION, AND IT MATTERS TO the plates spec §6. The SIIRTOMERKKI
|
|
250
250
|
(transfer mark) is the one Finnish registration marking whose typeface is
|
|
251
251
|
NOT a drawing: Traficom määräys §§ 5.1 and 5.2 say, verbatim, "Siirtomerkin
|
|
252
252
|
kirjasintyyppi on Arial Narrow, bold/lihavoitu. Kirjasintyypin koko on
|
|
@@ -623,7 +623,7 @@ series:
|
|
|
623
623
|
voi olla heijastava valkoinen tai heijastamaton musta", yet Traficom's
|
|
624
624
|
own gallery labels the illustration "Perävaunun mustapohjainen kilpi
|
|
625
625
|
-ei enää myönnetä" (no longer issued). Recorded as a colour-only
|
|
626
|
-
variant with the disagreement stated, per
|
|
626
|
+
variant with the disagreement stated, per the plates spec §5.3: the
|
|
627
627
|
disagreement is not averaged away.
|
|
628
628
|
sources:
|
|
629
629
|
- "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.2.2 permits white OR black"
|
|
@@ -669,7 +669,7 @@ series:
|
|
|
669
669
|
hyphen outright ("Kirjainten ja numeroiden välissä ei saa olla
|
|
670
670
|
väliviivaa"); Traficom's own gallery accordingly shows "10 TRF". The
|
|
671
671
|
pattern spells the canonical single-row form with the hyphen per
|
|
672
|
-
|
|
672
|
+
the plates spec §2.6 rule 2; a separator-forgiving consumer canonicalises
|
|
673
673
|
both printings to the same serial.
|
|
674
674
|
design:
|
|
675
675
|
plate: { w: 165, h: 200, unit: mm }
|
|
@@ -724,7 +724,7 @@ series:
|
|
|
724
724
|
BLACK-GROUND MOTORCYCLE PLATE, permitted by määräys § 3.3.2 in both the
|
|
725
725
|
200 x 165 and 118 x 280 shapes, non-reflective per § 4.1.2, white mark
|
|
726
726
|
and border per § 4.4. Colour-only variant of this series, so a
|
|
727
|
-
sub-entry per
|
|
727
|
+
sub-entry per the plates spec §2.3. Traficom's gallery illustrates both
|
|
728
728
|
("Moottoripyörän mustapohjainen kilpi 200x165 mm" with 98-BBM, and
|
|
729
729
|
"Moottoripyörän mustapohjainen matala kilpi 118x280 mm").
|
|
730
730
|
sources:
|
|
@@ -863,7 +863,7 @@ series:
|
|
|
863
863
|
foreground: "#000000"
|
|
864
864
|
border: { color: "#000000" }
|
|
865
865
|
band: { side: none, note: "§ 16(1)(2) grants the nationality sign only to L3e, L4e, L5e and L7e — mopeds (L1e) and light quadricycles (L6e) are excluded by omission" }
|
|
866
|
-
characters: { height_mm: 35, width_max_mm: 24, stroke_mm: 5, note: "määräys § 4.3's own body text says 'Mopon ja moottorikelkan rekisterikilven rekisteritunnuksen kirjainten ja numeroiden korkeuden tulee olla 35 mm ja leveyden korkeintaan 24 mm. Kirjainten ja numeroiden viivaleveyden tulee olla 5 mm', while Liite 8's table gives 70 mm at 9 mm for the same plate — a flat contradiction inside one instrument. 35 mm is recorded because two 70 mm rows cannot fit a 110 mm plate; the disagreement is recorded, not averaged (
|
|
866
|
+
characters: { height_mm: 35, width_max_mm: 24, stroke_mm: 5, note: "määräys § 4.3's own body text says 'Mopon ja moottorikelkan rekisterikilven rekisteritunnuksen kirjainten ja numeroiden korkeuden tulee olla 35 mm ja leveyden korkeintaan 24 mm. Kirjainten ja numeroiden viivaleveyden tulee olla 5 mm', while Liite 8's table gives 70 mm at 9 mm for the same plate — a flat contradiction inside one instrument. 35 mm is recorded because two 70 mm rows cannot fit a 110 mm plate; the disagreement is recorded, not averaged (the plates spec §5.3)" }
|
|
867
867
|
layout: "two rows, no hyphen"
|
|
868
868
|
region_encoding: none
|
|
869
869
|
sources:
|
|
@@ -1002,7 +1002,7 @@ series:
|
|
|
1002
1002
|
grammar and needs no strict twin: no leading-zero rule is published
|
|
1003
1003
|
for a ministry-allocated diplomatic number, and inventing one was
|
|
1004
1004
|
declined.
|
|
1005
|
-
progression: "allocated by the Ministry for Foreign Affairs, not by Traficom's random pool; Traficom issues the plates only on the Ministry's 'kilpisuositus' (plate recommendation). The mission-to-number mapping is not published and is NOT authored here (
|
|
1005
|
+
progression: "allocated by the Ministry for Foreign Affairs, not by Traficom's random pool; Traficom issues the plates only on the Ministry's 'kilpisuositus' (plate recommendation). The mission-to-number mapping is not published and is NOT authored here (the plates spec puts diplomatic decode tables at L4)."
|
|
1006
1006
|
design:
|
|
1007
1007
|
plate: { w: 397, h: 118, unit: mm }
|
|
1008
1008
|
plate_variants:
|
|
@@ -1088,7 +1088,7 @@ series:
|
|
|
1088
1088
|
fields_note: >-
|
|
1089
1089
|
The plate additionally bears a two-number EXPIRY FIELD (month over year)
|
|
1090
1090
|
which a single pattern string cannot express — the same schema pressure
|
|
1091
|
-
|
|
1091
|
+
the plates spec §2.2 records for Japan and de.yml records for the German
|
|
1092
1092
|
Kurzzeit- and Ausfuhrkennzeichen.
|
|
1093
1093
|
design:
|
|
1094
1094
|
plate: { w: 442, h: 118, unit: mm }
|
|
@@ -1144,7 +1144,7 @@ series:
|
|
|
1144
1144
|
period: { start: 1996 }
|
|
1145
1145
|
period_evidence: instrument-in-force
|
|
1146
1146
|
binding: business
|
|
1147
|
-
# RECALL-ONLY (
|
|
1147
|
+
# RECALL-ONLY (the plates spec §2.7): two primaries disagree on the ORDER of the
|
|
1148
1148
|
# letter and the number, so the regex is the UNION of both orders and is by
|
|
1149
1149
|
# construction wider than whatever the authority actually issues. A match is
|
|
1150
1150
|
# a shape hit, never the claim that the string is a valid koenumero.
|
|
@@ -1158,7 +1158,7 @@ series:
|
|
|
1158
1158
|
heijastavalla pohjalla" — letter BEFORE number, in the same word order
|
|
1159
1159
|
the export clause uses for the unambiguous A-5544 shape. But Traficom's
|
|
1160
1160
|
own plate gallery captions its koenumerokilpi illustration
|
|
1161
|
-
"KOE 100-H" — number BEFORE letter.
|
|
1161
|
+
"KOE 100-H" — number BEFORE letter. The plates spec §5.3 forbids averaging a
|
|
1162
1162
|
disagreement, so the regex admits both orders and `matching` is
|
|
1163
1163
|
`recall-only` until a verifier settles it. The pattern shows the
|
|
1164
1164
|
decree's order because the statute outranks an image caption.
|
|
@@ -1236,7 +1236,7 @@ series:
|
|
|
1236
1236
|
size_pt: 218
|
|
1237
1237
|
note: >-
|
|
1238
1238
|
THE ONE NAMED TYPEFACE IN FINNISH REGISTRATION LAW, and a
|
|
1239
|
-
counter-example to
|
|
1239
|
+
counter-example to the plates spec §6's survey finding. Määräys § 5.1:
|
|
1240
1240
|
"Siirtomerkin kirjasintyyppi on Arial Narrow, bold/lihavoitu.
|
|
1241
1241
|
Kirjasintyypin koko on 218p." § 5.2 gives 170p for the
|
|
1242
1242
|
motorcycle/moped mark. Arial Narrow is a licensable Monotype
|
data/data/plates/fr.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/fr.yml — France (
|
|
1
|
+
# plates/fr.yml — France (the plates spec gate L1).
|
|
2
2
|
#
|
|
3
3
|
# EVERY format, colour, period and class claim in this file is sourced to one
|
|
4
4
|
# of five French primaries, all fetched 2026-08-02 and pinned per claim below:
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
# a fourth item — "Le numéro d'immatriculation est reproduit sur chaque
|
|
85
85
|
# plaque d'immatriculation en caractères noirs sur fond rose" — and art. 3
|
|
86
86
|
# fixed its entry into force at 1 January 2026. Design differs, so per
|
|
87
|
-
#
|
|
87
|
+
# the plates spec §2.3 the WW and W garage regimes are each TWO series, split at
|
|
88
88
|
# 2025/2026. A pink French plate cannot predate 2026; that is one of very
|
|
89
89
|
# few hard date signals a French plate carries.
|
|
90
90
|
#
|
|
@@ -200,7 +200,7 @@ common:
|
|
|
200
200
|
The three annexe-7 colours that matter most for the special series — the
|
|
201
201
|
transit RED, the diplomatic JASPER GREEN and the diplomatic ORANGE — have
|
|
202
202
|
NO coordinates anywhere in the 1996 arrêté's table. They are named and not
|
|
203
|
-
numbered, exactly as
|
|
203
|
+
numbered, exactly as the plates spec found for the German green and red plates.
|
|
204
204
|
Their hexes below are marked `observed` and are the weakest colour claims
|
|
205
205
|
in this file.
|
|
206
206
|
source: "https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000193190 # tableau des coordonnées trichromatiques (jour); art. 1 bis added 2026-01-01 exempting pink WW/W plates from the art. 1 homologation rule while binding them to the pink coordinates"
|
|
@@ -258,7 +258,7 @@ common:
|
|
|
258
258
|
licence: >-
|
|
259
259
|
NO NAMED TYPEFACE IS MANDATED — France is a third data point for the EU
|
|
260
260
|
dossier's finding (UK prescribes a drawing, Germany a Schriftmuster,
|
|
261
|
-
France a written description).
|
|
261
|
+
France a written description). The plates spec §6 therefore applies at its
|
|
262
262
|
cleanest here: the render layer derives glyphs from the statutory
|
|
263
263
|
description, never from a third-party "plaque" TTF.
|
|
264
264
|
source: "https://www.legifrance.gouv.fr/loda/id/JORFTEXT000020237128 # art. 6"
|
|
@@ -458,7 +458,7 @@ series:
|
|
|
458
458
|
background: "blue, not necessarily retroreflective"
|
|
459
459
|
owner_chosen: true
|
|
460
460
|
note: "art. 9; identical front and rear; reproduced only by homologated manufacturers"
|
|
461
|
-
emblem: { present: true, rendered: placeholder, note: "the identifiant territorial carries an official REGIONAL LOGO — 18 régions plus the collectivité européenne d'Alsace, none HELD. LICENCE ROUTE, corrected by reading art. 9 to its end: the logos are declared officiels ET LIBRES DE DROIT, and the article names their publisher — verbatim, 'Les logos des collectivités territoriales officiels et libres de droit, qui figurent sur le site internet du ministère de l intérieur : http://www.interieur.gouv.fr/, ne peuvent être reproduits sur les plaques d immatriculation que par le seul fabricant de plaques ou de matériau réfléchissant titulaire d homologation.' The reservation that follows is about reproducing them ON PLATES by makers without homologation — a manufacturing rule — and it sits after the words 'libres de droit'. So the blocker is ACQUIRING the official files, not their licence.
|
|
461
|
+
emblem: { present: true, rendered: placeholder, note: "the identifiant territorial carries an official REGIONAL LOGO — 18 régions plus the collectivité européenne d'Alsace, none HELD. LICENCE ROUTE, corrected by reading art. 9 to its end: the logos are declared officiels ET LIBRES DE DROIT, and the article names their publisher — verbatim, 'Les logos des collectivités territoriales officiels et libres de droit, qui figurent sur le site internet du ministère de l intérieur : http://www.interieur.gouv.fr/, ne peuvent être reproduits sur les plaques d immatriculation que par le seul fabricant de plaques ou de matériau réfléchissant titulaire d homologation.' The reservation that follows is about reproducing them ON PLATES by makers without homologation — a manufacturing rule — and it sits after the words 'libres de droit'. So the blocker is ACQUIRING the official files, not their licence. The plates spec §3 placeholder rule still applies until they are held and ledgered." }
|
|
462
462
|
shape_note: "art. 5: the useful part is rectangular with the long side horizontal; the physical support must be symmetric about a vertical axis and may be slightly curved; a lower 'bavette' outside the useful part may carry only the seller's or fitter's references"
|
|
463
463
|
background_pattern_rule: "art. 5: 'Les trames de fonds de plaques ne doivent pas comporter de caractères explicites (lettre ou symbole) ou ostentatoires' — decorative background textures are allowed, explicit letters or symbols in them are not"
|
|
464
464
|
rear_differs: false
|
|
@@ -479,7 +479,7 @@ series:
|
|
|
479
479
|
Trailers and semi-trailers below the mass threshold of art. R. 317-8 II
|
|
480
480
|
carry a plate REPRODUCING the towing vehicle's number rather than one
|
|
481
481
|
of their own, and it may be removable. Format-identical and
|
|
482
|
-
colour-identical, so a sub-entry per
|
|
482
|
+
colour-identical, so a sub-entry per the plates spec §2.3 and not a series.
|
|
483
483
|
sources:
|
|
484
484
|
- "https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000042266062 # art. R. 317-8 II"
|
|
485
485
|
sources:
|
|
@@ -571,7 +571,7 @@ series:
|
|
|
571
571
|
date, ceux qui ont été préalablement immatriculés suivant ce format
|
|
572
572
|
conservent leur numéro d'immatriculation. Exemple : A 11 A."
|
|
573
573
|
separator: " "
|
|
574
|
-
separator_note: "the arrêté specifies a SPACE here and hyphens for the definitive number — the only French series pair whose separators differ, and a clean illustration of why the dataset commits to a separator set (
|
|
574
|
+
separator_note: "the arrêté specifies a SPACE here and hyphens for the definitive number — the only French series pair whose separators differ, and a clean illustration of why the dataset commits to a separator set (the plates spec §2.6)"
|
|
575
575
|
design:
|
|
576
576
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
|
|
577
577
|
foreground: "#000000"
|
|
@@ -620,7 +620,7 @@ series:
|
|
|
620
620
|
the start of the new plate annexes. This series overlaps
|
|
621
621
|
fr-siv-cyclomoteur-2009 at 2015 by construction: the old numbers keep
|
|
622
622
|
running while the new shape starts, which is exactly the parallel-issuance
|
|
623
|
-
case
|
|
623
|
+
case the plates spec §2.2 sanctions.
|
|
624
624
|
|
|
625
625
|
# =========================================================================
|
|
626
626
|
# DEALER — W garage. Two series, split by the 2026 pink plate.
|
|
@@ -658,7 +658,7 @@ series:
|
|
|
658
658
|
that where a W number is used on an already-registered vehicle "ce numéro
|
|
659
659
|
doit seul être utilisé" is the tell: the vehicle's own plates come off.
|
|
660
660
|
This entry exists as a separate series from fr-wgarage-2026 solely because
|
|
661
|
-
the DESIGN changed on 1 January 2026 (
|
|
661
|
+
the DESIGN changed on 1 January 2026 (the plates spec §2.3); the number format
|
|
662
662
|
is identical across the split. TRANSITIONAL GAP: no provision on plates
|
|
663
663
|
ALREADY IN SERVICE on 1 January 2026 was located — whether a pre-2026 W
|
|
664
664
|
garage plate had to be replaced with a pink one, and by when, is
|
|
@@ -933,7 +933,7 @@ series:
|
|
|
933
933
|
certificate tax, and an X for a vehicle belonging to a person who does
|
|
934
934
|
NOT enjoy fiscal or customs immunities. Examples: "105 CD 5 Z",
|
|
935
935
|
"600 CD 20 X".
|
|
936
|
-
range_note: "the country group is 1-199 and the organisation group 400-499 (with the fixed 500, 600, 700 cases) — ranges the regex deliberately does NOT encode, because a numeric range is not a lexical constraint and
|
|
936
|
+
range_note: "the country group is 1-199 and the organisation group 400-499 (with the fixed 500, 600, 700 cases) — ranges the regex deliberately does NOT encode, because a numeric range is not a lexical constraint and the plates spec keeps regexes lexical; the ranges are recorded here for the decode layer"
|
|
937
937
|
design:
|
|
938
938
|
background: { color: "#0B5D3B", finish: retroreflective, hex_basis: observed, hex_note: "annexe 7 item 2 says 'fond vert jaspe'; the 1996 colorimetric table has no green row at all, so this is a named colour with no coordinates anywhere in French law — observed, and flagged" }
|
|
939
939
|
foreground: "#E87511"
|
|
@@ -941,7 +941,7 @@ series:
|
|
|
941
941
|
band: { side: none, note: "SETTLED PHOTOGRAPHICALLY, and against the guess: French CD/CMD/C/K plates carry NO European symbol at all. Art. 8's duty is written for 'véhicules portant le numéro définitif', which a diplomatic number is not, and two independent photographs — 168 CD 66 in orange on jasper green, 431 K 12355 in white on jasper green — show a plain coloured face from rim to rim. Evidence: photographic-observed." }
|
|
942
942
|
border_rule: { present: true, color: "as the characters", note: "both references show a thin rule inset about 2 mm from the rim in the character colour, orange on the CD plate and white on the K plate. In neither arrêté; photographic-observed." }
|
|
943
943
|
region_encoding: none
|
|
944
|
-
region_encoding_note: "the leading 1-199 group is a COUNTRY code allocated by the Ministère des affaires étrangères and is NOT published in the arrêté — a diplomatic decode table is L4 work per
|
|
944
|
+
region_encoding_note: "the leading 1-199 group is a COUNTRY code allocated by the Ministère des affaires étrangères and is NOT published in the arrêté — a diplomatic decode table is L4 work per the plates spec §7 and is deliberately not authored here"
|
|
945
945
|
sources:
|
|
946
946
|
- "https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000030801732 # annexe VII D.1 (CMD/CD compositions for ambassades, hautes personnalités and organisations internationales, plus the ESA/Guyane 973 completion) and D.4 (the Z and X suffixes)"
|
|
947
947
|
- "https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000052974050 # annexe 7 item 2: 'Séries CMD, CD — Le numéro d'immatriculation est reproduit sur chaque plaque d'immatriculation en caractères orangés sur fond vert jaspe.'"
|
|
@@ -1203,7 +1203,7 @@ series:
|
|
|
1203
1203
|
categories: [car, van, truck, bus, motorcycle, moped, trailer, semitrailer, tractor, machine]
|
|
1204
1204
|
period: { start: 1984, end: 2009 }
|
|
1205
1205
|
period_evidence: instrument-in-force
|
|
1206
|
-
# RECALL-ONLY (
|
|
1206
|
+
# RECALL-ONLY (the plates spec §2.7), and for an unusual reason: the composition
|
|
1207
1207
|
# annexe of the governing instrument IS NOT PUBLISHED. Légifrance renders
|
|
1208
1208
|
# annexe I of the arrêté du 5 novembre 1984 as the single line "(Annexe non
|
|
1209
1209
|
# reproduite, voir JO du 22 décembre 1984 pages 11837 et suivantes". So the
|
data/data/plates/gb.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/gb.yml — United Kingdom (
|
|
1
|
+
# plates/gb.yml — United Kingdom (the plates spec gate L1).
|
|
2
2
|
#
|
|
3
3
|
# EVERY layout, colour, character-metric and class claim here comes from the
|
|
4
4
|
# Road Vehicles (Display of Registration Marks) Regulations 2001 (S.I. 2001
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
# plate height, and neither does Schedule 2. The 520 x 111 mm oblong every
|
|
40
40
|
# British motorist can draw from memory is a BRITISH STANDARD dimension
|
|
41
41
|
# (BS AU 145e), and BS AU 145e is a copyrighted, paywalled BSI publication
|
|
42
|
-
# which
|
|
42
|
+
# which the plates spec § 6 permits us to build to and forbids us to reproduce.
|
|
43
43
|
# Consequently `design.plate` is ABSENT from every series in this file and
|
|
44
44
|
# its absence is a sourced finding, not an omission. `design.characters`
|
|
45
45
|
# carries the metrics the Regulations do give.
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
# DVLA memory-tag alphabet and the age-identifier value set from INF104, which
|
|
93
93
|
# `regex` cannot carry because the lint generates "I", "Q" and "00".
|
|
94
94
|
#
|
|
95
|
-
# SEPARATOR NOTE (
|
|
95
|
+
# SEPARATOR NOTE (the plates spec § 2.6): a British mark prints NO separator glyph.
|
|
96
96
|
# What Table B line 5 prescribes is a GAP in millimetres — 33 mm between the
|
|
97
97
|
# age identifier and the random letters on a current-style plate. The space in
|
|
98
98
|
# every `pattern` here is the conventional textual rendering of that gap (and
|
|
@@ -163,7 +163,7 @@ common:
|
|
|
163
163
|
first registered on or after 1.9.2001, nor on a replacement plate fitted
|
|
164
164
|
on or after that date, "except where the vehicle was first registered
|
|
165
165
|
before 1st January 1973". The DIAGRAMS THEMSELVES are line drawings in
|
|
166
|
-
Schedule 3 Part 2 and are not reproduced here (
|
|
166
|
+
Schedule 3 Part 2 and are not reproduced here (the plates spec § 6: cite,
|
|
167
167
|
never embed) — but note they are Crown-copyright material published
|
|
168
168
|
inside a statutory instrument under OGL v3.0, not a paywalled standard.
|
|
169
169
|
source: "https://www.legislation.gov.uk/uksi/2001/561/schedule/3 # Sch 3 Part 1 Table A rows 1-9 verbatim; Part 2 diagram list; Part 3 Table B"
|
|
@@ -180,7 +180,7 @@ common:
|
|
|
180
180
|
The Regulations NAME the colours and never number them. The chromaticity
|
|
181
181
|
coordinates live in BS AU 145d/145e, which are copyrighted BSI documents
|
|
182
182
|
(Sch 2 Part 1 marginal citation M5 even gives the ISBN and tells the
|
|
183
|
-
reader to buy a copy). Under
|
|
183
|
+
reader to buy a copy). Under the plates spec § 6 we build to them and never
|
|
184
184
|
reproduce them, so every hex in this file is `hex_basis: observed` inside
|
|
185
185
|
a statutorily named colour — the same posture plates/de.yml takes for
|
|
186
186
|
"grünes Kennzeichen" and "rotes Kennzeichen".
|
|
@@ -198,7 +198,7 @@ common:
|
|
|
198
198
|
and at least 7 mm below the mark. Para 8 permits a border that is
|
|
199
199
|
permanent, non-retroreflecting, single-shade, at least 10 mm clear of any
|
|
200
200
|
character, not above the other markings, and no more than 5 mm wide.
|
|
201
|
-
ip_note: "BS AU 145e is paywalled BSI copyright.
|
|
201
|
+
ip_note: "BS AU 145e is paywalled BSI copyright. The plates spec § 6 applies: cite, build to, never redistribute. No dimension in this file is taken from it."
|
|
202
202
|
source: "https://www.legislation.gov.uk/uksi/2001/561/schedule/2 # Sch 2 Part A1 paras 1, 5-8; Part 1 para 1 + M5; Part 2 para 1 + M6; Part 3 B.1 + M7"
|
|
203
203
|
characters:
|
|
204
204
|
current_style:
|
|
@@ -230,7 +230,7 @@ common:
|
|
|
230
230
|
tolerance: "reg 12(2): character height may be +/- 1 mm; any other dimension +/- 0.5 mm"
|
|
231
231
|
dossier_correction: >-
|
|
232
232
|
THE SOURCE APPENDIX IS WRONG ON ONE NUMBER AND THIS FILE CORRECTS IT.
|
|
233
|
-
|
|
233
|
+
the EU research dossier § 2.6 tabulates
|
|
234
234
|
"Character width (except 1 / I) ... Current style: 57". It is 50 mm.
|
|
235
235
|
Table B line 1 ("Character width (all new registration plates from 1.9.01
|
|
236
236
|
except replacement of 'classic' plates)") gives 50 mm at 79 mm height and
|
|
@@ -460,13 +460,13 @@ legacy_layouts_not_modelled: >-
|
|
|
460
460
|
and dateless arrangements (1234 AB, 123 ABC, ABC 123, AB 1234) that Britain
|
|
461
461
|
issued before 1963 and that survive in enormous numbers on personalised and
|
|
462
462
|
historic vehicles. They are DELIBERATELY not authored as series in this L1
|
|
463
|
-
pass:
|
|
463
|
+
pass: The plates spec scopes L1 at the current standard series plus ONE series
|
|
464
464
|
back, and no primary dating ANY of them was secured (the suffix system's
|
|
465
465
|
1963 start and the prefix system's 1983 start are both folklore in this
|
|
466
466
|
pass). Their SHAPES are nevertheless fully sourced in `common.layouts` above
|
|
467
467
|
and are carried in the union regex of gb-historic-blacksilver, so a parse
|
|
468
468
|
API can already recognise them as British without this file inventing a
|
|
469
|
-
period for them. Authoring them is L4 work (
|
|
469
|
+
period for them. Authoring them is L4 work (the plates spec § 7, "Historical
|
|
470
470
|
depth (the pre-2000 world)").
|
|
471
471
|
|
|
472
472
|
series:
|
|
@@ -523,7 +523,7 @@ series:
|
|
|
523
523
|
S.I. 2001/561 nor its Schedules prescribe a plate width or height. Only
|
|
524
524
|
characters, spacings and MINIMUM margins are regulated (reg 14,
|
|
525
525
|
Table B). Plate sizes live in BS AU 145e, which is paywalled BSI
|
|
526
|
-
copyright (
|
|
526
|
+
copyright (the plates spec § 6).
|
|
527
527
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "Sch 2 Part A1 para 2: black characters on a white background at the FRONT. Retroreflection per BS AU 145e (para 1)." }
|
|
528
528
|
background_rear: { color: "#FFFF00", finish: retroreflective, hex_basis: observed, spec_note: "Sch 2 Part A1 para 3: black characters on a yellow background at the BACK. The statute names 'yellow' and gives no coordinates." }
|
|
529
529
|
foreground: "#000000"
|
|
@@ -567,7 +567,7 @@ series:
|
|
|
567
567
|
BS AU 145d to BS AU 145e is NOT cut as a second series. The MARK did not
|
|
568
568
|
change, the colours did not change and the character metrics did not
|
|
569
569
|
change; what changed is the plate-manufacturing standard and the
|
|
570
|
-
supplier-marking and border rules. Under
|
|
570
|
+
supplier-marking and border rules. Under the plates spec § 2.3 that is a
|
|
571
571
|
specification change inside one design, so it is recorded in
|
|
572
572
|
`design.spec_history` with both instruments cited. Splitting it would
|
|
573
573
|
have created two series with byte-identical regexes and no consumer-
|
|
@@ -618,7 +618,7 @@ series:
|
|
|
618
618
|
BRITISH MOTORCYCLES CARRY AN ORDINARY MARK ON AN EXTRAORDINARY PLATE.
|
|
619
619
|
A separate series and not a variant because the design differs on four
|
|
620
620
|
axes at once — rear-only, two-line-only, 64 mm characters and a second
|
|
621
|
-
statutory font drawing — which is exactly the
|
|
621
|
+
statutory font drawing — which is exactly the plates spec § 2.3 test.
|
|
622
622
|
Two edge cases INF104 § 07 states and this series carries: a tricycle
|
|
623
623
|
"made from four-wheeled bodies, such as saloon cars" may use EITHER the
|
|
624
624
|
car or the motorcycle requirements, while a tricycle built from a
|
|
@@ -691,7 +691,7 @@ series:
|
|
|
691
691
|
S.I. 2020/1276 came into force on 8 December 2020 and INF104 § 09 gives
|
|
692
692
|
the same date, so this is `enabling-instrument`, not folklore. Its own
|
|
693
693
|
series rather than a sub-entry of gb-standard-2001 because BOTH the
|
|
694
|
-
period and the design differ (
|
|
694
|
+
period and the design differ (the plates spec § 2.3), and because the class
|
|
695
695
|
vocabulary's `electric` value would otherwise have no British home. The
|
|
696
696
|
flash is OPTIONAL — a zero-emission vehicle without one is entirely
|
|
697
697
|
lawful — so a green flash is evidence of a ZEV and its absence is
|
|
@@ -801,7 +801,7 @@ series:
|
|
|
801
801
|
|
|
802
802
|
# =========================================================================
|
|
803
803
|
# THE PREVIOUS STANDARD FORMAT — the PREFIX system. Table A row 2. This is
|
|
804
|
-
# the "one series back"
|
|
804
|
+
# the "one series back" the plates spec L1 requires, and the one period claim in
|
|
805
805
|
# this file that is NOT firmly dated at its start.
|
|
806
806
|
# =========================================================================
|
|
807
807
|
- id: gb-prefix-1984
|
|
@@ -1067,7 +1067,7 @@ series:
|
|
|
1067
1067
|
|
|
1068
1068
|
# =========================================================================
|
|
1069
1069
|
# HISTORIC — the black-and-silver regime. A DESIGN laid over whatever mark
|
|
1070
|
-
# the vehicle already holds, so RECALL-ONLY (
|
|
1070
|
+
# the vehicle already holds, so RECALL-ONLY (the plates spec § 2.7).
|
|
1071
1071
|
# =========================================================================
|
|
1072
1072
|
- id: gb-historic-blacksilver
|
|
1073
1073
|
class: historic
|
|
@@ -1150,7 +1150,7 @@ series:
|
|
|
1150
1150
|
constructed on or before 1st January 1980" were INSERTED by S.I.
|
|
1151
1151
|
2020/1363 reg 6 with effect from 1 January 2021.
|
|
1152
1152
|
source_disagreement: >-
|
|
1153
|
-
RECORDED, NOT AVERAGED (
|
|
1153
|
+
RECORDED, NOT AVERAGED (the plates spec § 5.3). INF104 § 07 says: "From April
|
|
1154
1154
|
2020 vehicles manufactured before 1 January 1980 are also able to display
|
|
1155
1155
|
traditional 'black and white' number plates. You must: have applied to
|
|
1156
1156
|
DVLA; be registered within the 'historic vehicles' tax class." The
|
data/data/plates/gr.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/gr.yml — Greece (
|
|
1
|
+
# plates/gr.yml — Greece (the plates spec gate L1, wave 2).
|
|
2
2
|
#
|
|
3
3
|
# THE CENTRAL FACT OF THIS JURISDICTION, AND IT IS A REGULATED ONE: a Greek
|
|
4
4
|
# ordinary plate is spelled in GREEK CAPITALS, but only in the fourteen Greek
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
# be shown in capital Latin characters and Arabic numerals — on that reading,
|
|
34
34
|
# issuing only the intersection of the two alphabets lets one physical plate
|
|
35
35
|
# satisfy the domestic Greek script and the international requirement at once.
|
|
36
|
-
# That is a plausible and widely repeated rationale, but
|
|
36
|
+
# That is a plausible and widely repeated rationale, but the plates spec §4 records
|
|
37
37
|
# the Vienna Convention annexes as UNPINNED in this program (UNECE returned
|
|
38
38
|
# 403s), and Greece's own ratification status was not checked in this pass.
|
|
39
39
|
# The instrument itself says only "common to the Greek and the Latin alphabet"
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
# * ΥΑ 282069/2023 (ΦΕΚ Β' 5645 of 25-9-2023) and ΥΑ 178239/2024 (ΦΕΚ Β' 5096
|
|
126
126
|
# of 9-9-2024) — live amendments to the 1982 allocation annex.
|
|
127
127
|
#
|
|
128
|
-
# THE INSTRUMENT-DATE RULE, APPLIED TWICE AND HONESTLY (
|
|
128
|
+
# THE INSTRUMENT-DATE RULE, APPLIED TWICE AND HONESTLY (the plates spec §5.3):
|
|
129
129
|
#
|
|
130
130
|
# 1. The 2004 series does NOT start on 4-2-2004, the date of its instrument.
|
|
131
131
|
# Art. 9 states its own commencement: "Η ισχύς της απόφασης αυτής αρχίζει
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
# the specifications of decision 19800/1982 CONTINUES UNTIL STOCKS ARE
|
|
151
151
|
# EXHAUSTED.")
|
|
152
152
|
# So pre-band plates went on being ISSUED, lawfully, for an undated period
|
|
153
|
-
# after 1-5-2004. This is the
|
|
153
|
+
# after 1-5-2004. This is the spec's "old stock issues on" case stated by the
|
|
154
154
|
# authority itself, and it is why the two standard series overlap at 2004.
|
|
155
155
|
#
|
|
156
156
|
# ============================================================================
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
#
|
|
178
178
|
# Transliterating ΔΣ to "DS" would be a CHOICE, not a glyph identity: no Greek
|
|
179
179
|
# diplomatic plate has ever shown the letters D and S, and a regex spelling
|
|
180
|
-
# "DS" would be a fabricated string presented as a format. Per
|
|
180
|
+
# "DS" would be a fabricated string presented as a format. Per the plates spec §2.6
|
|
181
181
|
# ("a jurisdiction that prints a glyph inside a serial is a schema amendment,
|
|
182
182
|
# not a data entry"), these series are REPORTED AS A GAP requiring a schema
|
|
183
183
|
# decision — a `script:` field on the series plus a Greek-capital extension to
|
|
@@ -237,7 +237,7 @@ font_spec: # cited once; referenced by every design below
|
|
|
237
237
|
Mittelschrift for the digits — and art. 2 para. 2 puts the euroband's "GR"
|
|
238
238
|
in Engschrift as well. This is unusual and is easy to miss: most
|
|
239
239
|
jurisdictions name one typeface for the whole serial. A render layer that
|
|
240
|
-
sets a Greek plate in a single cut is wrong by the instrument.
|
|
240
|
+
sets a Greek plate in a single cut is wrong by the instrument. The plates spec
|
|
241
241
|
§6 applies to DIN 1451 itself: build to it, never redistribute its
|
|
242
242
|
drawings; the statute names the standard rather than supplying a
|
|
243
243
|
Schriftmuster, so the render layer needs a metrically-compatible free face
|
|
@@ -251,7 +251,7 @@ security_marking:
|
|
|
251
251
|
Art. 2 para. 7 requires the marking to be integrated "έτσι ώστε να μην
|
|
252
252
|
μπορεί να γίνει απομίμηση, αντικατάσταση, τροποποίηση" — so that imitation,
|
|
253
253
|
substitution or alteration is impossible without changing the appearance of
|
|
254
|
-
the plate.
|
|
254
|
+
the plate. The plates spec §3 emblem rule applies: the render layer emits a
|
|
255
255
|
neutral placeholder in both emblem slots.
|
|
256
256
|
source: "https://www.dsanet.gr/Epikairothta/Nomothesia/yaoik4700-330_04.htm # art. 2 paras. 7 and 8; art. 3 para. 2(δ) places the embossed seal on the hyphen"
|
|
257
257
|
|
|
@@ -336,7 +336,7 @@ series:
|
|
|
336
336
|
white. That last detail is stated in art. 2 para. 2 and is routinely
|
|
337
337
|
drawn wrong.
|
|
338
338
|
emblem: { present: true, rendered: placeholder, note: "two distinct emblems — the printed security-marking εθνόσημο and the embossed state seal; see the file-level security_marking block" }
|
|
339
|
-
font: { name: "DIN 1451 Teil 4", note: "see file-level font_spec — Engschrift for letters, Mittelschrift for digits", license: "standards document; build to it, never redistribute (
|
|
339
|
+
font: { name: "DIN 1451 Teil 4", note: "see file-level font_spec — Engschrift for letters, Mittelschrift for digits", license: "standards document; build to it, never redistribute (the plates spec §6)" }
|
|
340
340
|
rear_differs: false
|
|
341
341
|
tolerances: { element_sizes: 0.5, overall: 1.0, other: 1.0, unit: mm, note: "art. 2 paras. 12-14" }
|
|
342
342
|
region_encoding: "plates/_decode/gr-prefectures.yml"
|
|
@@ -365,7 +365,7 @@ series:
|
|
|
365
365
|
characters on a WHITE retroreflective ground for private cars,
|
|
366
366
|
motorcycles and trailers, and on a YELLOW retroreflective ground for
|
|
367
367
|
public-use cars. Same format, same period, colour-only difference,
|
|
368
|
-
therefore a sub-entry and not its own series (
|
|
368
|
+
therefore a sub-entry and not its own series (the plates spec §2.3).
|
|
369
369
|
CLASS CAVEAT, and it matters: Δ.Χ. is BROADER THAN `taxi`. It is the
|
|
370
370
|
whole public-use category — taxis, hire cars, and the licensed
|
|
371
371
|
haulage and bus fleets whose reserved prefixes (ΤΑ, ΕΚ, ΙΑ, ΝΧ ->
|
|
@@ -444,7 +444,7 @@ series:
|
|
|
444
444
|
GREEK MOTORCYCLE PLATE — 280 x 210 mm, nearly square, two rows. It is NOT
|
|
445
445
|
a size variant of the car plate and is not modelled as one, because the
|
|
446
446
|
DIGIT COUNT differs (three, not four): that is a format difference and
|
|
447
|
-
therefore its own series under
|
|
447
|
+
therefore its own series under the plates spec §2.3. Worth stating for a parse
|
|
448
448
|
API: a three-letter/three-digit Greek string is a motorcycle, and a
|
|
449
449
|
three-letter/four-digit one is not — the digit count is the only
|
|
450
450
|
discriminator in the string, and it is reliable because both are fixed by
|
|
@@ -565,14 +565,14 @@ series:
|
|
|
565
565
|
self-governing units altogether while the plate codes kept their
|
|
566
566
|
prefecture names. Decoding a 1980s or 1990s Greek plate through the
|
|
567
567
|
current table will therefore be right often and wrong silently. Historic
|
|
568
|
-
decode rows are L4 work (
|
|
568
|
+
decode rows are L4 work (the plates spec §7) — recorded gap.
|
|
569
569
|
sources:
|
|
570
570
|
- "https://www.e-nomothesia.gr/index.php/pinakides-kuklophorias/ya-19800-1982.html # ΥΑ 19800/1982 «Πινακίδες αριθμού κυκλοφορίας αυτοκινήτων οχημάτων και ρυμουλκουμένων», ΦΕΚ Β' 455/1-7-1982 — the instrument's IDENTITY, title and gazette reference. Its TEXT is paywalled and was NOT read; every claim in this entry that depends on the text is marked. Accessed 2026-08-02"
|
|
571
571
|
- "https://www.dsanet.gr/Epikairothta/Nomothesia/yaoik4700-330_04.htm # ΥΑ οικ. 4700/330/2004 art. 9: repeals paragraphs Α, Β, ΙΑ, ΙΓ, ΙΕ and ΙΣΤ of Chapter Ι of the 1982 decision as regards state plates for cars, trailers and motorcycles, commences 1-5-2004, and expressly continues issuance of 1982-specification plates until stocks are exhausted — i.e. this series' END, dated, from the instrument that ended it"
|
|
572
572
|
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Greece # secondary-wikipedia: the first-issue date of the three-letter format, given as 1983-1984, which DIVERGES from the 1982 instrument date recorded here. Revision 1367180219 of 2026-08-01. Recorded, not averaged"
|
|
573
573
|
notes: >-
|
|
574
574
|
THE PRE-EUROBAND THREE-LETTER SERIES. PERIOD HONESTY, stated at point of
|
|
575
|
-
use, because this is exactly the boundary
|
|
575
|
+
use, because this is exactly the boundary the plates spec §5.3 warns about.
|
|
576
576
|
START: ΥΑ 19800/1982 was published in ΦΕΚ Β' 455 on 1-7-1982 and is the
|
|
577
577
|
instrument that frames this system, but ITS TEXT WAS NOT OBTAINED, so its
|
|
578
578
|
own commencement clause is unknown and it may contain a delayed or
|
|
@@ -653,7 +653,7 @@ series:
|
|
|
653
653
|
does NOT point it at plates/_decode/gr-prefectures.yml, because that table
|
|
654
654
|
is the CURRENT allocation and there is no evidence the 1972 codes survived
|
|
655
655
|
into it unchanged. Pointing a 1972 plate at a 2004 table would be the
|
|
656
|
-
French-SIV error
|
|
656
|
+
French-SIV error the plates spec §2.4 records. Recorded gap.
|
|
657
657
|
sources:
|
|
658
658
|
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Greece # secondary-wikipedia: two letters + four digits, prefecture letters introduced 1972, superseded by the three-letter format in the mid-1980s. Revision 1367180219 of 2026-08-01T14:31:31Z"
|
|
659
659
|
- "https://el.wikipedia.org/wiki/%CE%A0%CE%B9%CE%BD%CE%B1%CE%BA%CE%AF%CE%B4%CE%B5%CF%82_%CE%BA%CF%85%CE%BA%CE%BB%CE%BF%CF%86%CE%BF%CF%81%CE%AF%CE%B1%CF%82_%CE%BF%CF%87%CE%B7%CE%BC%CE%AC%CF%84%CF%89%CE%BD_%CF%84%CE%B7%CF%82_%CE%95%CE%BB%CE%BB%CE%AC%CE%B4%CE%B1%CF%82 # secondary-wikipedia: the same era given as 1972-1984, corroborating the end but note the two articles differ (see notes)"
|
|
@@ -670,7 +670,7 @@ series:
|
|
|
670
670
|
being issued. PRE-1972 GREECE IS NOT MODELLED: the purely numeric eras
|
|
671
671
|
(reported as 1911-1954 and 1956-1972) and the short 1954-1956
|
|
672
672
|
letter-and-number era have no instrument, no reliable format and no
|
|
673
|
-
colour source here, and pre-2000 depth is L4 work under
|
|
673
|
+
colour source here, and pre-2000 depth is L4 work under the plates spec §7.
|
|
674
674
|
Recorded as a deliberate gap rather than authored from folklore.
|
|
675
675
|
|
|
676
676
|
# =========================================================================
|