vehicles 0.4.1 → 0.8.0

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.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +321 -0
  4. data/README.md +88 -15
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +10 -0
  7. data/data/plates/_decode/at-districts.yml +287 -0
  8. data/data/plates/_decode/ch-cantons.yml +110 -0
  9. data/data/plates/_decode/cn-issuing-offices.yml +463 -0
  10. data/data/plates/_decode/cn-provinces.yml +614 -0
  11. data/data/plates/_decode/cz-kraj.yml +159 -0
  12. data/data/plates/_decode/dk-serial-blocks.yml +327 -0
  13. data/data/plates/_decode/es-provinces.yml +116 -0
  14. data/data/plates/_decode/fr-departements.yml +191 -0
  15. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  16. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  17. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  18. data/data/plates/_decode/hr-cities.yml +315 -0
  19. data/data/plates/_decode/ie-counties.yml +227 -0
  20. data/data/plates/_decode/in-state-codes.yml +169 -0
  21. data/data/plates/_decode/is-districts-1938.yml +116 -0
  22. data/data/plates/_decode/it-provinces.yml +348 -0
  23. data/data/plates/_decode/jp-office-marks.yml +960 -0
  24. data/data/plates/_decode/jp-use-marks.yml +205 -0
  25. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  26. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  27. data/data/plates/_decode/lu-series-order.yml +638 -0
  28. data/data/plates/_decode/mx-entity-series.yml +380 -0
  29. data/data/plates/_decode/my-index-marks.yml +271 -0
  30. data/data/plates/_decode/no-counties-1913.yml +148 -0
  31. data/data/plates/_decode/no-districts.yml +901 -0
  32. data/data/plates/_decode/pl-powiats.yml +567 -0
  33. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  34. data/data/plates/_decode/ro-counties.yml +213 -0
  35. data/data/plates/_decode/se-diplomatic.yml +220 -0
  36. data/data/plates/_decode/si-regions.yml +123 -0
  37. data/data/plates/_decode/sk-districts.yml +314 -0
  38. data/data/plates/_decode/th-registration-elements.yml +208 -0
  39. data/data/plates/_decode/ua-regions.yml +393 -0
  40. data/data/plates/_decode/za-licence-marks.yml +215 -0
  41. data/data/plates/_meta/classes.yml +26 -0
  42. data/data/plates/_meta/separators.yml +102 -0
  43. data/data/plates/ad.yml +961 -0
  44. data/data/plates/ar.yml +762 -0
  45. data/data/plates/at.yml +1424 -0
  46. data/data/plates/au-act.yml +472 -0
  47. data/data/plates/au-nsw.yml +282 -0
  48. data/data/plates/au-nt.yml +431 -0
  49. data/data/plates/au-qld.yml +272 -0
  50. data/data/plates/au-sa.yml +248 -0
  51. data/data/plates/au-tas.yml +302 -0
  52. data/data/plates/au-vic.yml +215 -0
  53. data/data/plates/au-wa.yml +309 -0
  54. data/data/plates/be.yml +1840 -0
  55. data/data/plates/br.yml +1152 -0
  56. data/data/plates/ca-ab.yml +430 -0
  57. data/data/plates/ca-bc.yml +697 -0
  58. data/data/plates/ca-mb.yml +499 -0
  59. data/data/plates/ca-nb.yml +537 -0
  60. data/data/plates/ca-nl.yml +743 -0
  61. data/data/plates/ca-ns.yml +808 -0
  62. data/data/plates/ca-nt.yml +610 -0
  63. data/data/plates/ca-nu.yml +280 -0
  64. data/data/plates/ca-on.yml +881 -0
  65. data/data/plates/ca-pe.yml +592 -0
  66. data/data/plates/ca-qc.yml +1036 -0
  67. data/data/plates/ca-sk.yml +256 -0
  68. data/data/plates/ca-yt.yml +656 -0
  69. data/data/plates/ch.yml +1273 -0
  70. data/data/plates/cn.yml +1431 -0
  71. data/data/plates/cy.yml +688 -0
  72. data/data/plates/cz.yml +1179 -0
  73. data/data/plates/de.yml +1107 -0
  74. data/data/plates/dk.yml +1647 -0
  75. data/data/plates/ee.yml +1275 -0
  76. data/data/plates/es.yml +888 -0
  77. data/data/plates/fi.yml +1271 -0
  78. data/data/plates/fr.yml +1265 -0
  79. data/data/plates/gb.yml +1188 -0
  80. data/data/plates/gr.yml +721 -0
  81. data/data/plates/hr.yml +860 -0
  82. data/data/plates/hu.yml +959 -0
  83. data/data/plates/ie.yml +775 -0
  84. data/data/plates/in.yml +1172 -0
  85. data/data/plates/is.yml +667 -0
  86. data/data/plates/it.yml +1317 -0
  87. data/data/plates/jp.yml +3650 -0
  88. data/data/plates/kr.yml +1375 -0
  89. data/data/plates/li.yml +1010 -0
  90. data/data/plates/lt.yml +879 -0
  91. data/data/plates/lu.yml +842 -0
  92. data/data/plates/lv.yml +924 -0
  93. data/data/plates/mc.yml +1024 -0
  94. data/data/plates/mt.yml +854 -0
  95. data/data/plates/mx.yml +1372 -0
  96. data/data/plates/my.yml +685 -0
  97. data/data/plates/nl.yml +1016 -0
  98. data/data/plates/no.yml +1018 -0
  99. data/data/plates/nz.yml +1699 -0
  100. data/data/plates/pl.yml +1296 -0
  101. data/data/plates/pt.yml +847 -0
  102. data/data/plates/ro.yml +785 -0
  103. data/data/plates/se.yml +1091 -0
  104. data/data/plates/si.yml +1105 -0
  105. data/data/plates/sk.yml +1439 -0
  106. data/data/plates/sm.yml +1119 -0
  107. data/data/plates/th.yml +1150 -0
  108. data/data/plates/ua.yml +1672 -0
  109. data/data/plates/us-ak.yml +763 -0
  110. data/data/plates/us-al.yml +457 -0
  111. data/data/plates/us-ar.yml +427 -0
  112. data/data/plates/us-as.yml +454 -0
  113. data/data/plates/us-az.yml +430 -0
  114. data/data/plates/us-ca.yml +892 -0
  115. data/data/plates/us-co.yml +452 -0
  116. data/data/plates/us-ct.yml +427 -0
  117. data/data/plates/us-dc.yml +614 -0
  118. data/data/plates/us-de.yml +551 -0
  119. data/data/plates/us-fl.yml +741 -0
  120. data/data/plates/us-ga.yml +644 -0
  121. data/data/plates/us-gu.yml +658 -0
  122. data/data/plates/us-hi.yml +585 -0
  123. data/data/plates/us-ia.yml +438 -0
  124. data/data/plates/us-id.yml +531 -0
  125. data/data/plates/us-il.yml +516 -0
  126. data/data/plates/us-in.yml +324 -0
  127. data/data/plates/us-ks.yml +351 -0
  128. data/data/plates/us-ky.yml +770 -0
  129. data/data/plates/us-la.yml +568 -0
  130. data/data/plates/us-ma.yml +379 -0
  131. data/data/plates/us-md.yml +536 -0
  132. data/data/plates/us-me.yml +445 -0
  133. data/data/plates/us-mi.yml +408 -0
  134. data/data/plates/us-mn.yml +411 -0
  135. data/data/plates/us-mo.yml +356 -0
  136. data/data/plates/us-mp.yml +402 -0
  137. data/data/plates/us-ms.yml +432 -0
  138. data/data/plates/us-mt.yml +619 -0
  139. data/data/plates/us-nc.yml +602 -0
  140. data/data/plates/us-nd.yml +419 -0
  141. data/data/plates/us-ne.yml +483 -0
  142. data/data/plates/us-nh.yml +394 -0
  143. data/data/plates/us-nj.yml +547 -0
  144. data/data/plates/us-nm.yml +574 -0
  145. data/data/plates/us-nv.yml +655 -0
  146. data/data/plates/us-ny.yml +592 -0
  147. data/data/plates/us-oh.yml +404 -0
  148. data/data/plates/us-ok.yml +513 -0
  149. data/data/plates/us-or.yml +392 -0
  150. data/data/plates/us-pa.yml +506 -0
  151. data/data/plates/us-pr.yml +507 -0
  152. data/data/plates/us-ri.yml +445 -0
  153. data/data/plates/us-sc.yml +605 -0
  154. data/data/plates/us-sd.yml +428 -0
  155. data/data/plates/us-tn.yml +471 -0
  156. data/data/plates/us-tx.yml +535 -0
  157. data/data/plates/us-ut.yml +384 -0
  158. data/data/plates/us-va.yml +567 -0
  159. data/data/plates/us-vi.yml +489 -0
  160. data/data/plates/us-vt.yml +458 -0
  161. data/data/plates/us-wa.yml +484 -0
  162. data/data/plates/us-wi.yml +509 -0
  163. data/data/plates/us-wv.yml +446 -0
  164. data/data/plates/us-wy.yml +523 -0
  165. data/data/plates/va.yml +604 -0
  166. data/data/plates/za.yml +1141 -0
  167. data/data/vehicles.json +160653 -105090
  168. data/lib/vehicles/configuration.rb +18 -2
  169. data/lib/vehicles/dataset.rb +73 -18
  170. data/lib/vehicles/fuzzy.rb +115 -0
  171. data/lib/vehicles/http.rb +48 -0
  172. data/lib/vehicles/make.rb +36 -6
  173. data/lib/vehicles/mcp_server.rb +5 -5
  174. data/lib/vehicles/model.rb +42 -6
  175. data/lib/vehicles/plates/jurisdiction.rb +32 -0
  176. data/lib/vehicles/plates/series.rb +291 -0
  177. data/lib/vehicles/plates/template_fill.rb +188 -0
  178. data/lib/vehicles/plates/templates.rb +162 -0
  179. data/lib/vehicles/plates.rb +122 -0
  180. data/lib/vehicles/providers/hosted_provider.rb +49 -58
  181. data/lib/vehicles/providers/local_provider.rb +4 -3
  182. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  183. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  184. data/lib/vehicles/version.rb +1 -1
  185. data/lib/vehicles.rb +53 -16
  186. data/rakelib/data_refresh.rake +109 -0
  187. data/rakelib/plates_refresh.rake +29 -0
  188. data/sig/vehicles.rbs +18 -0
  189. metadata +174 -2
@@ -0,0 +1,1275 @@
1
+ # plates/ee.yml — Estonia (PRD-PLATES gate L1, EU/EEA wave 2). DRAFT for
2
+ # verification: researched by an Opus L1 researcher, never applied directly.
3
+ #
4
+ # THE ESTONIAN SOURCE CHAIN, AND WHY THE CURRENT LAYER IS UNUSUALLY CLEAN
5
+ #
6
+ # Estonia's plate law is a two-step delegation and BOTH steps are free, textual
7
+ # and fetchable from Riigi Teataja — and, decisively, the technical annexes are
8
+ # dimensioned STATUTORY DRAWINGS, one per mark type, each printed with a sample
9
+ # mark. That means the letter/digit arrangement of every Estonian plate is
10
+ # readable off the instrument itself rather than inferred from photographs:
11
+ #
12
+ # 1. LIIKLUSSEADUS (the Traffic Act) — the frame. § 76 lõige 13 is the
13
+ # volitusnorm: the content of, and requirements for, the state
14
+ # registration mark are delegated to a ministerial määrus. § 158 lõige 7
15
+ # is the second limb of the same delegation. Both are named in the
16
+ # määrus's own kehtestamisnorm, quoted verbatim below.
17
+ # 2. MAJANDUS- JA KOMMUNIKATSIOONIMINISTRI 21.06.2011 MÄÄRUS NR 49,
18
+ # "Riiklikele registreerimismärkidele ja nende valmistamisele esitatavad
19
+ # nõuded" — the plates instrument proper. Vastu võetud 21.06.2011,
20
+ # avaldamismärge RT I, 28.06.2011, 17, jõustumine 01.07.2011. The wording
21
+ # in force for this pass is RT I, 03.06.2022, 12, jõustunud 30.09.2022.
22
+ # § 2 enumerates SIXTEEN mark types (A1-A12, B1-B3, D1-D2, E1-E2); Lisa 1
23
+ # tabulates type x vehicle category x colours x plate dimensions; Lisa 2
24
+ # is the symbol size table; Lisa 3 is the drawings (näidised 1-19).
25
+ # 3. A THIRD instrument bears on plates without governing them: majandus- ja
26
+ # kommunikatsiooniministri 13.06.2011 määrus nr 42 (tehnonõuded), whose
27
+ # Lisa 1 kood 101 points BACK to the § 76(13) määrus and supplies the
28
+ # EST oval sign geometry. Cited where it carries a claim, never as the
29
+ # format source.
30
+ #
31
+ # SIX STRUCTURAL FACTS THAT SHAPE THIS FILE
32
+ #
33
+ # 1. THE FORMAT IS DIGITS-THEN-LETTERS, AND THAT IS THE STANDING TELL.
34
+ # Näidis 1 to Lisa 3 draws the A1 car plate as "053 EEN" — three digits in a
35
+ # left-aligned digit field, then three letters in a right-aligned letter
36
+ # field. § 3(2), as amended with effect from 30.09.2022, states the
37
+ # alignment rule in terms: "Registreerimismärgi tüübil A1 joondatakse
38
+ # numbrid numbrite väljal vasakule ja tähed tähtede väljal paremale ning
39
+ # sümbolite omavaheline kaugus väljal on maksimaalselt 28 mm." Estonia is
40
+ # therefore the mirror of Finland's car mark (ABC-123) and matches the
41
+ # Finnish L-CLASS mark's order — a live cross-jurisdiction confusion this
42
+ # file states explicitly so the parse API does not inherit it.
43
+ #
44
+ # 2. THE PLATE IS 520 x 113 mm, NOT 520 x 110. Lisa 1's dimensions column
45
+ # reads "520x113" for A1, A2, A4, A5, A8, A10, D1, E2 and A12; the drawings
46
+ # in Lisa 3 dimension the same 113 mm height (10,5 + 77 + 11,5 + border).
47
+ # The 110 mm figure that circulates for Estonia is NOT what the instrument
48
+ # says. This is recorded, not averaged (PRD-PLATES §5.3).
49
+ #
50
+ # 3. THE TRANSIT PLATE'S GROUND IS "VÄRVITU" — COLOURLESS, NOT WHITE. Lisa 1
51
+ # gives D1 and D2 "Värvitu aluspõhi, punased sümbolid". Every other white
52
+ # plate in the same table is "Valge aluspõhi". The instrument distinguishes
53
+ # the two words, so this file does not silently collapse them into #FFFFFF:
54
+ # see the spec_note on each transit series. § 5(2) corroborates — D1 and D2
55
+ # (with A9 and B2) are the types exempted from the retroreflective coating,
56
+ # which is why an uncoloured ground is possible at all.
57
+ #
58
+ # 4. THE LETTER RESTRICTIONS ARE REAL, SOURCED AND PER-TYPE. § 6(2)-(5) is an
59
+ # unusually explicit charset provision: A, M and W each carry their own
60
+ # per-type prohibitions, and § 6(5) — added with effect from 06.06.2022 —
61
+ # reads "Tähti A, M ja W ei kasutata koos A1 tüüpi registreerimismärgil."
62
+ # These are encoded in `charset:` and, where the round-trip permits, in
63
+ # `regex_strict`. Lisa 2 corroborates mechanically: the W column for kirja
64
+ # tüüp 3 is "-", i.e. no glyph width is published, because W is forbidden
65
+ # on every type that uses that font.
66
+ #
67
+ # 5. THE 2004 BOUNDARY IS IN THE INSTRUMENT, AND IT IS 1 JULY, NOT 1 MAY.
68
+ # § 7^1(2), inserted by RT I, 19.06.2020, 16 (jõust. 22.06.2020), reads:
69
+ # "Enne 1. juulit 2004. a liiklusregistris registreeritud sõidukile
70
+ # väljastatud registreerimismärki ei pea ümber vahetama käesoleva määruse
71
+ # nõuetele vastava registreerimismärgi vastu." Estonia acceded to the EU on
72
+ # 1 May 2004; the plate boundary the law itself names is 1 JULY 2004. The
73
+ # two dates are NOT the same event and this file does not merge them. See
74
+ # `eu_band` below for exactly how far this evidence reaches — it is a
75
+ # statutory boundary date, not a sourced first-issue date.
76
+ #
77
+ # 6. THE MARK ENCODES NOTHING TODAY, AND NO DECODE TABLE IS SHIPPED.
78
+ # See `region_encoding_gap` below. This is a deliberate, evidenced NO —
79
+ # the same outcome as plates/fi.yml, for different reasons.
80
+ #
81
+ # REGEX POLICY (as in plates/fi.yml and plates/de.yml). `format.regex` is the
82
+ # lint-round-trippable printed form. `format.regex_strict` carries the § 6
83
+ # charset prohibitions that the round-trip forbids `regex` from expressing,
84
+ # and only where a strict twin is genuinely narrower than the loose one.
85
+ #
86
+ # SEPARATORS. Estonia prints TWO different separations and the instrument
87
+ # distinguishes them. On A1 the groups are divided by a GAP whose width is
88
+ # specified as a field boundary in Lisa 3 (25 mm between the digit field and
89
+ # the letter field) with no glyph — spelled here as a space, per
90
+ # PRD-PLATES §2.6. On D1/D2 the transit plates a HYPHEN IS DRAWN, and Lisa 3
91
+ # dimensions it explicitly (44 mm wide x 11 mm high on D1) — so those patterns
92
+ # spell a literal "-". Same dataset, two honest separators, both from drawings.
93
+ jurisdiction: ee
94
+ authority:
95
+ name: Transpordiamet (Estonian Transport Administration)
96
+ url: "https://www.transpordiamet.ee/registreerimismargid"
97
+ binding: vehicle # Liiklusseadus § 76 and määrus nr 49 § 1 attach the
98
+ # mark to the SÕIDUK entered in the liiklusregister,
99
+ # not to its owner (contrast CH).
100
+ instrument:
101
+ act:
102
+ citation: "Liiklusseadus"
103
+ delegating_provisions: "§ 76 lõige 13 (requirements for the state registration mark) and § 158 lõige 7"
104
+ quoted: >-
105
+ The määrus's own kehtestamisnorm, verbatim in the wording in force:
106
+ "Määrus kehtestatakse liiklusseaduse § 76 lõike 13 ja § 158 lõike 7
107
+ alusel." (The pre-2022 wording spelled the Act's name in quotation marks:
108
+ "Määrus kehtestatakse „Liiklusseaduse” § 76 lõike 13 ja § 158 lõike 7
109
+ alusel.") Estonia's tehnonõuded määrus nr 42 restates the same chain from
110
+ the other side, Lisa 1 kood 101: "liiklusregistrisse kantud sõiduki
111
+ registreerimismärk peab vastama „Liiklusseaduse” § 76 lõike 13 alusel
112
+ kehtestatud majandus- ja kommunikatsiooniministri määruses sätestatud
113
+ nõuetele."
114
+ source: "https://www.riigiteataja.ee/aktilisa/1160/6201/1008/MKM42_lisa1.pdf # MKM 13.06.2011 määrus nr 42 Lisa 1, kood 101 Registreerimismärk — names Liiklusseadus § 76(13) as the enabling provision and gives the EST oval geometry (240x145 mm, or 175x115 mm on L-category vehicles and their trailers)"
115
+ regulation:
116
+ citation: "Majandus- ja kommunikatsiooniministri 21.06.2011 määrus nr 49, „Riiklikele registreerimismärkidele ja nende valmistamisele esitatavad nõuded”"
117
+ given: "2011-06-21"
118
+ published: "RT I, 28.06.2011, 17"
119
+ in_force_from: "2011-07-01"
120
+ wording_in_force: "RT I, 03.06.2022, 12 — sõnastuse jõustumise kp 30.09.2022; sõnastuse kehtivuse lõpp: hetkel kehtiv"
121
+ signed: "Juhan Parts, Minister; Marika Priske, Kantsler"
122
+ amendments_relied_on:
123
+ - "RT I, 02.12.2011, 13 — jõust. 05.12.2011: inserted § 6^1 (the üksikkorras/eritellimus rules, including the 9-symbol ceiling)"
124
+ - "RT I, 02.09.2014, 1 — jõust. 05.09.2014: added type A11 and rewrote Lisa 1 and Lisa 3"
125
+ - "RT I, 19.06.2020, 16 — jõust. 22.06.2020: inserted § 7^1(2), the 1 July 2004 exchange saving"
126
+ - "RT I, 03.06.2022, 3 — jõust. 06.06.2022 and 30.09.2022: added type A12 (President), the § 3(2) A1 alignment rule, the § 6(5) A/M/W rule, the laser-engraved security option (§ 5(3^1)) and Lisa 4"
127
+ source: "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # the consolidated text in force; the as-published original is at /akt/128062011017"
128
+ annexes:
129
+ lisa1: "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # REGISTREERIMISMÄRKIDE TÜÜBID — the one table that fixes, per type: kirja tüüp, sõiduki kategooria, värvused, märgi mõõdud (mm), lühikirjeldus, and the näidis number. In the wording of majandus- ja taristuministri 30.05.2022 määrus nr 45."
130
+ lisa2: "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM49_lisa2.pdf # symbol heights/widths per kirja tüüp; note the W column is '-' for kirja tüüp 3"
131
+ lisa3: "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # REGISTREERIMISMÄRKIDE NÄIDISED 1-19 — the dimensioned statutory drawings. EVERY format claim in this file is read off these."
132
+ lisa4: "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa4.pdf # security-element layout (the laser-engraved 'EESTI VABARIIK' + riigivapp option)"
133
+
134
+ # ---------------------------------------------------------------------------
135
+ # Jurisdiction-wide facts, cited once and referenced per series.
136
+ # ---------------------------------------------------------------------------
137
+ common:
138
+ fields:
139
+ rule: >-
140
+ § 3(1), verbatim: "Registreerimismärkidel peavad olema eraldi järgmised
141
+ väljad: 1) tähtede väli; 2) numbrite väli; 3) Euroopa Liidu embleemi ja
142
+ Eesti riigi tunnusmärgi „EST” väli." Three separate FIELDS — letters,
143
+ digits, and the EU/EST band. § 3(1^1) carves out the exceptions: "A2 ja
144
+ B3 tüüpi registreerimismärgil ühine tähtede ja numbrite väli ja A12 tüüpi
145
+ registreerimismärgil on tähtede ja numbrite välja asemel riigivapi väli."
146
+ consequence: >-
147
+ The letters and digits sit in SEPARATE fields on every ordinary Estonian
148
+ plate, which is why the printed form always shows a gap between the
149
+ groups even though no instrument names a separator glyph for it. A2
150
+ (personalised) and B3 (moped) share one field; A12 (President) has a
151
+ coat-of-arms field INSTEAD of any serial field at all — see out_of_scope.
152
+ source: "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 3(1), § 3(1^1)"
153
+ charset:
154
+ alphabet: "Latin capitals and Arabic numerals only"
155
+ alphabet_rule: >-
156
+ § 3(5), verbatim: "Registreerimismärkidel kasutatavateks sümboliteks
157
+ peavad olema ladina tähestiku suurtähed ja araabia numbrid vastavalt
158
+ lisas 3 toodud registreerimismärkide näidistega kujundustele." No
159
+ Estonian-specific letters (Õ Ä Ö Ü) appear in any näidis, so unlike
160
+ Finland's 29-glyph annex there is no Å/Ä/Ö question here — the Estonian
161
+ repertoire as drawn is A-Z and 0-9, which is exactly the dataset's serial
162
+ alphabet (PRD-PLATES §2.6). This is a rare clean fit and is stated so it
163
+ is not mistaken for an assumption.
164
+ glyph_standard: >-
165
+ § 3(6): the symbol images must conform to "Eesti standardi EVS 597:2004
166
+ lisale B" AND to the Lisa 3 drawings. EVS 597:2004 is a purchasable
167
+ Estonian standard and its text is NOT pinned in this pass (the same
168
+ posture PRD-PLATES §4 takes to SAE J686) — recorded as a gap. The
169
+ drawings in Lisa 3 are free and are what the render layer derives from.
170
+ stroke_widths: >-
171
+ § 3(4), verbatim: "Registreerimismärkidel kasutatavate sümbolite joonte
172
+ jämedus peab kirja tüüpide 1 ja 3 korral olema 7 mm ning kirja tüüpide 2
173
+ ja 4 korral 11 mm."
174
+ letter_restrictions:
175
+ A: >-
176
+ § 6(2): forbidden on D2. On A3, A may be used together with M once,
177
+ otherwise twice. On B1, B2 and B3 A may be used once and never together
178
+ with M. On D1, A may not be used together with W.
179
+ M: >-
180
+ § 6(3): forbidden on D2. On A3, M with A once, otherwise twice. On B1,
181
+ B2, B3 once and never with A. On D1, not together with W. NOTE: the
182
+ pre-2022 wording also forbade M on A9; the 06.06.2022 amendment REMOVED
183
+ A9 from that prohibition, which is why the A9/B2 näidis can draw "M 433".
184
+ W: >-
185
+ § 6(4): forbidden on A3, B1, B2, B3 and D2. On D1 not together with A
186
+ or M. Otherwise permitted once.
187
+ A1_combination: >-
188
+ § 6(5), inserted with effect from 06.06.2022, verbatim: "Tähti A, M ja
189
+ W ei kasutata koos A1 tüüpi registreerimismärgil." On the ordinary car
190
+ plate the three letters A, M and W are not used TOGETHER. The provision
191
+ is terse and its exact reach is ambiguous in the Estonian (it plausibly
192
+ means no two of {A,M,W} may co-occur in one three-letter group); this
193
+ file encodes the UNAMBIGUOUS reading only — that A, M and W do not all
194
+ three appear together — and records the ambiguity rather than guessing.
195
+ source: "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # §§ 3(4)-(6), 6(2)-(5)"
196
+ materials:
197
+ blank: '§ 5(1): "Registreerimismärgid valmistatakse ilmastikukindlast eritöödeldud lehtalumiiniumist, mille vähim paksus on 1 mm." Weatherproofed sheet aluminium, minimum 1 mm.'
198
+ technical_standard: '§ 4(1), as amended 06.06.2022: "Registreerimismärkide tehnilised nõuded peavad vastama standardile ISO 7591:1982 või samaväärsetele nõuetele." The "või samaväärsetele nõuetele" (or equivalent requirements) limb is the 2022 addition.'
199
+ border: '§ 4(2): "Registreerimismärgil peab olema tugevdusrant, mille keskmine osa on sümbolite ja väline serv aluspõhja värvi." A strengthening rim whose middle part is in the symbol colour and whose outer edge is in the ground colour.'
200
+ retroreflection: >-
201
+ § 5(2): a special retroreflective coating and direction-sensitive "EST"
202
+ security emblems are required on every type EXCEPT A9, B2, D1 and D2 —
203
+ the historic pair and the transit pair.
204
+ security_thread: >-
205
+ § 5(3): the coating must carry a virtual security thread of two sinusoidal
206
+ overlapping waves. § 5(3^1), from 06.06.2022, permits an ALTERNATIVE:
207
+ laser-engraved "EESTI VABARIIK" and a small coat of arms at varying
208
+ angles (layout in Lisa 4).
209
+ source: "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # §§ 4-5"
210
+ colours:
211
+ hex_basis_note: >-
212
+ NO Estonian instrument gives an RGB, RAL or Pantone value for any plate
213
+ colour. Lisa 1 names them only as words — "Valge aluspõhi, mustad
214
+ sümbolid", "Sinine aluspõhi, valged sümbolid", "Must aluspõhi, valged
215
+ sümbolid", "Punane aluspõhi, valged sümbolid", "Roheline aluspõhi, mustad
216
+ sümbolid", "Värvitu aluspõhi, punased sümbolid". Every hex in this file is
217
+ therefore `hex_basis: observed`, sampled from the Lisa 3 statutory
218
+ drawings (which are vector art in the instrument, so better evidence than
219
+ a photograph, but still not a colorimetric specification).
220
+ vocabulary_caution: >-
221
+ "Värvitu" (colourless) is a SIXTH word, used only for D1/D2, and it is not
222
+ a synonym for "valge" (white) — the same table uses both. Do not read the
223
+ transit hex as a spec claim.
224
+ source: "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1, Värvused column"
225
+ eu_band:
226
+ side: left
227
+ content: eu-stars+EST
228
+ definition: >-
229
+ § 4(3), verbatim: "Paragrahvi 3 lõike 1 punktis 3 nimetatud väljale
230
+ kantakse Euroopa Liidu lipu kujutis ja Eesti riigi tunnusmärk „EST”
231
+ kooskõlas Nõukogu määrusega (EÜ) nr 2411/98 mootorsõidukite ja nende
232
+ haagiste registreerimisliikmesriigi tunnusmärgi tunnustamise kohta
233
+ ühendusesiseses liikluses (EÜT L 299, 10.11.1998, lk 1–3)." § 4(4) gives
234
+ the CONTENT: "Euroopa lipu kujutise taustavärv on sinine, 12 viisnurkset
235
+ ringikujuliselt paiknevat tähte on kollased ja tunnusmärk „EST” on
236
+ valge." Twelve five-pointed yellow stars on blue, white EST — a textual
237
+ definition of the band, which Reg. 2411/98's own bitmap annex does not
238
+ supply (the EU dossier's finding 1, reproduced here for Estonia).
239
+ geometry: "the band field is 50 mm wide on the 520 mm plates and on the 302 x 152 reduced plates, and 40 mm on the 177 x 101 B-series plates, per the Lisa 3 drawings"
240
+ exempt_types: >-
241
+ § 7(4): "Vanasõiduki registreerimismärgil ei ole nõutav § 3 lõike 1
242
+ punktis 3 nimetatud välja kasutamine" — the historic-vehicle mark (A9,
243
+ and B2 by the same logic) need not carry the band field at all, which is
244
+ why näidis 9 and näidis 12 are drawn without one.
245
+ dating_caveat: >-
246
+ READ THIS BEFORE USING THE 2004 DATES IN THIS FILE. The 2011 määrus
247
+ REQUIRES the band but does not date its introduction, because the band
248
+ predates it by seven years. What the instrument DOES supply is a boundary:
249
+ § 7^1(2) exempts from exchange any mark issued to a vehicle registered
250
+ "enne 1. juulit 2004. a". That is a statutory boundary date and this file
251
+ tags the banded series `statutory-date` on its strength. It is NOT a
252
+ sourced first-issue date, and the INSTRUMENT THAT INTRODUCED THE BAND —
253
+ necessarily made under the previous Liiklusseadus (2001) and repealed
254
+ when the 2010 Act and this määrus took effect on 1 July 2011 — was NOT
255
+ located in this pass. Riigi Teataja publishes consolidated texts only
256
+ from 01.06.2002 ("Terviktekste avaldatakse alates 01.06.2002"), and the
257
+ repealed pre-2011 plates määrus did not surface through the consolidated-
258
+ text search. Recorded as a gap; see gaps.eu_band_instrument.
259
+ source: "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # §§ 4(3)-(4), 7(4), 7^1(2)"
260
+ oval_sign:
261
+ note: >-
262
+ SEPARATE FROM THE BAND. Määrus nr 42 Lisa 1 kood 102 "Riigi tunnusmärk":
263
+ the oval's axes are at least 240 mm x 145 mm, or 175 mm x 115 mm on
264
+ L-category vehicles and their trailers; "Märgi värv on valge,
265
+ tähekombinatsioon ja ääris on mustad"; and kood 102(3) forbids additions:
266
+ "märgile on keelatud kanda või juurde lisada muud sümboolikat ja kasutada
267
+ seda muudel eesmärkidel." Kood 102(6) records that for a vehicle
268
+ registered in an EU member state the sign may instead be carried ON the
269
+ plate per Reg. 2411/98. Estonia's distinguishing sign is EST.
270
+ source: "https://www.riigiteataja.ee/aktilisa/1160/6201/1008/MKM42_lisa1.pdf # kood 102, joonis 1"
271
+ font:
272
+ name: "no name — four statutory DRAWINGS"
273
+ statutory_basis: >-
274
+ § 3(3): "Registreerimismärkidel kasutatakse nelja erinevat kirjatüüpi
275
+ kooskõlas lisaga 1 ja lisas 3 toodud registreerimismärkide kujundustega."
276
+ FOUR font types, assigned per mark type by Lisa 1's "Kirja tüüp" column:
277
+ tüüp 1 (49 mm, 7 mm stroke), tüüp 2 (77 mm, 11 mm stroke), tüüp 3 (49 mm,
278
+ 7 mm stroke) and tüüp 4 (77 mm, 11 mm stroke). Tüüp 1/2 and tüüp 3/4 pair
279
+ by height but differ in width table (Lisa 2), tüüp 3/4 being the narrower
280
+ condensed cut. Exactly the UK/DE/ES/FI pattern of PRD-PLATES §6: the legal
281
+ object is a drawing plus a width table, not a licensable typeface.
282
+ symbol_sizes: >-
283
+ Lisa 2 Tabel 1 (heights, then widths for digits 1 / 3 / all others and
284
+ letters A / I / J / L): tüüp 1 h49 — 14,5 / 27 / 28 and 42 / 7 / 24 / 28;
285
+ tüüp 2 h77 — 22,8 / 43 / 44 and 66 / 11 / 37,5 / 44; tüüp 3 h49 — 14 / 21
286
+ / 21 and 28 / 7 / 14 / 21; tüüp 4 h77 — 22 / 33 / 33 and 44 / 11 / 22 /
287
+ 33. Tabel 2 adds the wide letters M / T / W / Y and the rest: tüüp 1 —
288
+ 42 / 28 / 56 / 35 / 35; tüüp 2 — 66 / 44 / 88 / 55 / 55; tüüp 3 — 31,5 /
289
+ 21 / "-" / 24,5 / 21; tüüp 4 — 49,5 / 33 / 55 / 38,5 / 33.
290
+ w_absence_is_evidence: >-
291
+ The "-" in the W column for kirja tüüp 3 is not an omission: kirja tüüp 3
292
+ is used only by B1, B2 and B3, and § 6(4) forbids W on exactly those three
293
+ types. The width table and the prohibition corroborate each other.
294
+ source: "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM49_lisa2.pdf # Lisa 2 Tabel 1 and Tabel 2"
295
+
296
+ # ---------------------------------------------------------------------------
297
+ # THE DECODE QUESTION, ANSWERED NO — WITH EVIDENCE, NOT BY OMISSION.
298
+ # ---------------------------------------------------------------------------
299
+ region_encoding_gap:
300
+ decision: "NO decode table is shipped for Estonia. `region_encoding: none` on every series."
301
+ current_position: >-
302
+ NOTHING in määrus nr 49 assigns meaning to any position of an Estonian
303
+ mark. The instrument specifies fields, fonts, colours, dimensions and a set
304
+ of per-type letter prohibitions (§ 6) — and no geographic, temporal or
305
+ class semantics whatsoever, with the single exception of the fixed literal
306
+ tokens that ARE the class (PROOV on A8/A11, CD/CMD on the diplomatic
307
+ types). A1 marks are allocated from a national pool.
308
+ historic_position: >-
309
+ Estonia DID once encode the issuing ARK office in the first letter, and
310
+ abolished it — which is precisely why no table is shipped even as history.
311
+ The abolition is attested only SECONDARILY: English Wikipedia's Estonia
312
+ article states that random series began to be issued in August 2019, and
313
+ separately that "as of 2013" the first letter no longer indicated the
314
+ region. Those two statements are not consistent with each other, no primary
315
+ was located for either, and the pre-2019 office-letter mapping appears in
316
+ that article as a TABLE. Shipping a decode table on that evidence would
317
+ manufacture precision the sources do not carry, and PRD-PLATES §2.4 warns
318
+ in terms that a decode table which cannot state its own reliability will
319
+ make the parse API lie (the France/SIV finding).
320
+ what_would_close_it: >-
321
+ A Maanteeamet/Transpordiamet allocation instruction, or the pre-2011
322
+ registration määrus made under the 2001 Liiklusseadus, either of which would
323
+ date the office-letter scheme and its end. Neither surfaced in this pass.
324
+ sources:
325
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # the whole instrument — read for allocation semantics, which it does not contain"
326
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Estonia # SECONDARY, per-fact: the statement that random series are issued from August 2019, and the inconsistent 'as of 2013' statement — cited here as the reason for the gap, not as data"
327
+
328
+ # ---------------------------------------------------------------------------
329
+ # Recorded but deliberately NOT authored as series.
330
+ # ---------------------------------------------------------------------------
331
+ out_of_scope:
332
+ president_a12:
333
+ status: "NO SERIAL — cannot be a series under this schema."
334
+ detail: >-
335
+ Type A12, added by RT I, 03.06.2022, 3 (jõust. 06.06.2022): "Vabariigi
336
+ Presidendi sõiduki registreerimismärk". § 3(1^1) says that on A12 there is
337
+ a RIIGIVAPI VÄLI instead of the letters and numbers fields — "A12 tüüpi
338
+ registreerimismärgil on tähtede ja numbrite välja asemel riigivapi väli"
339
+ — and näidis 19 draws a 520 x 113 white plate carrying the EU/EST band and
340
+ the Estonian coat of arms and no mark at all. A plate with no serial has
341
+ no pattern and no regex. The same rule predates the plate type: määrus
342
+ nr 42 Lisa 1 kood 101(1) already said "Vabariigi Presidendi sõidukil võib
343
+ registreerimismärgi asemel kasutada suurt riigivappi kandvat märki."
344
+ (Compare fi.yml's `out_of_scope.president` — the identical schema
345
+ collision in a neighbouring jurisdiction.)
346
+ sources:
347
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)16), § 3(1^1)"
348
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 19"
349
+ military:
350
+ status: "SEPARATE INSTRUMENT — not researched to its text in this pass."
351
+ detail: >-
352
+ Estonian Defence Forces and Defence League vehicles are registered and
353
+ marked under their own instrument, "Kaitseväe ja Kaitseliidu sõidukite ja
354
+ haagiste registreerimistunnistuse vorm ning riikliku registreerimismärgi
355
+ valmistamise nõuded" (11 November 2011). Määrus nr 49 does not cover them
356
+ and no military type appears in its § 2 list. The instrument is pinned
357
+ below but its text was NOT fetched in this pass, so no format, no colour
358
+ and no period is asserted and no series is authored.
359
+ source: "https://www.riigiteataja.ee/akt/108112011009 # pinned, not read — the Kaitsevägi/Kaitseliit marking instrument"
360
+ evs_597_2004:
361
+ status: "PAYWALLED STANDARD — cited by the instrument, text not pinned."
362
+ detail: >-
363
+ § 3(6) binds the symbol images to "Eesti standardi EVS 597:2004 lisale B"
364
+ as well as to Lisa 3. EVS 597:2004 is sold by the Estonian Centre for
365
+ Standardisation and its text was not purchased for this pass. PRD-PLATES
366
+ §4's SAE J686 posture applies verbatim: never quote the standard's
367
+ dimensions except via a free instrument. Everything this file states about
368
+ glyph geometry comes from Lisa 2 and Lisa 3, both free.
369
+
370
+ gaps:
371
+ eu_band_instrument: >-
372
+ The instrument that FIRST required the EU/EST band on Estonian plates was
373
+ not located. It was necessarily made under the Liiklusseadus in force
374
+ before 1 July 2011 and repealed with it. Riigi Teataja's consolidated-text
375
+ corpus begins 01.06.2002 and the searches run in this pass (title and
376
+ full-text, status KEHTETUD and KOIK, validity dates 1996/2005/2006) did not
377
+ surface it. Consequence: `ee-standard-eu` is dated on the § 7^1(2)
378
+ statutory boundary (1 July 2004), tagged `statutory-date`, NOT on a
379
+ first-issue instrument. A verifier with Riigi Teataja's pre-2002 paper
380
+ archive should close this.
381
+ independence_transition_instrument: >-
382
+ THE SLICE'S NAMED RISK, AND IT IS OPEN FOR ESTONIA. Estonia restored
383
+ independence on 20 August 1991 and replaced Soviet-era plates (the ЕА and
384
+ ЭС series) with its own. The instrument that did so, and its date, were NOT
385
+ located: Riigi Teataja's consolidated texts do not reach 1991, and no
386
+ Transpordiamet page carries the history. The 1991 start on
387
+ `ee-standard-1991` therefore rests on a SINGLE SECONDARY sentence and is
388
+ tagged `secondary-dated`. It is NOT to be reported as an instrument date,
389
+ and it must not be assumed to be the same date as Latvia's or Lithuania's —
390
+ the three transitions were separate national acts.
391
+ a3_series_semantics: >-
392
+ Type A3 (the 302 x 152 reduced car plate, two digits + three letters) is
393
+ widely said to have been issued to vehicles built for the North American
394
+ market, whose bumpers take the squarer plate, with early series starting Z.
395
+ Määrus nr 49 says only "üldkasutatav autode ja haagiste registreerimismärk
396
+ vähendatud mõõtmetega" and imposes no letter constraint beyond § 6. The
397
+ Z-series claim is NOT encoded.
398
+ a10_letter_group: >-
399
+ Näidis 10 draws the racing plate as "SP 0003", and the same two-letter,
400
+ four-digit shape is reported elsewhere as a fixed SP prefix with a leading
401
+ zero. The REGULATION fixes neither the letters nor the leading zero, and
402
+ the Lisa 3 drawings elsewhere use throwaway sample serials ("053 EEN",
403
+ "ED 2345"), so "SP" cannot be assumed to be a literal. `ee-racing-a10` is
404
+ therefore modelled with a free two-letter group and the SP observation is
405
+ recorded here rather than encoded as a regex.
406
+ a1_amw_rule_reach: >-
407
+ § 6(5) "Tähti A, M ja W ei kasutata koos A1 tüüpi registreerimismärgil" is
408
+ encoded only in its unambiguous reading (not all three together). Whether
409
+ it in fact forbids any PAIR from {A, M, W} is not resolvable from the text
410
+ and no Transpordiamet page explains it. Flagged for the human pass.
411
+
412
+ series:
413
+
414
+ # =========================================================================
415
+ # THE CURRENT CAR PLATE. Type A1 — Lisa 1: kirja tüüp 2, categories M, N, O,
416
+ # "Valge aluspõhi, mustad sümbolid", 520x113 mm, näidis 1.
417
+ # =========================================================================
418
+ - id: ee-standard-eu
419
+ class: standard
420
+ categories: [car, van, truck, bus, trailer]
421
+ period: { start: 2004 }
422
+ period_evidence: transitional-provision # § 7^1(2) is a TRANSITIONAL
423
+ # SAVING, not a commencement clause: it exempts
424
+ # pre-1.07.2004 registrations from exchange, and
425
+ # so fixes the boundary from the far side. More
426
+ # accurate than `statutory-date`, which would
427
+ # imply the instrument commanded the start.
428
+ matching: strict
429
+ format:
430
+ pattern: "999 LLL"
431
+ regex: '\A\d{3} [A-Z]{3}\z'
432
+ regex_strict: '\A\d{3} (?!AMW|AWM|MAW|MWA|WAM|WMA)[A-Z]{3}\z'
433
+ charset:
434
+ letters: "3, Latin capitals (§ 3(5)); A, M and W not used together (§ 6(5))"
435
+ digits: "3"
436
+ notes: >-
437
+ The one narrowing `regex` cannot carry is § 6(5)'s A/M/W rule, encoded
438
+ in the strict twin in its unambiguous reading only — the negative
439
+ lookahead rejects a letter group made up entirely of A, M and W in any
440
+ order (AMW, AWM, MAW, MWA, WAM, WMA). See gaps.a1_amw_rule_reach: a
441
+ wider reading (no two of the three) is arguable from the Estonian and
442
+ is NOT encoded, because guessing wider would silently reject valid
443
+ marks.
444
+ progression: >-
445
+ Not stated in the instrument. Estonia allocates A1 marks from a national
446
+ pool with no published geographic or temporal semantics — see
447
+ region_encoding_gap.
448
+ separator_note: >-
449
+ NO separator GLYPH is prescribed. § 3(1) puts the digits and the letters
450
+ in two SEPARATE FIELDS and näidis 1 dimensions the boundary between them
451
+ at 25 mm (digit field 157 max, letter field 225 max, inside a 520 mm
452
+ plate). Spelled here as a space per PRD-PLATES §2.6 rule 2. § 3(2) adds
453
+ the alignment: digits flush LEFT in the digit field, letters flush RIGHT
454
+ in the letter field, symbols at most 28 mm apart within a field.
455
+ design:
456
+ plate: { w: 520, h: 113, unit: mm }
457
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "Lisa 1 says only 'Valge aluspõhi, mustad sümbolid'; no RGB/RAL exists in Estonian law" }
458
+ foreground: "#000000"
459
+ border: { color: "#000000", note: "§ 4(2) tugevdusrant — the strengthening rim, middle part in the symbol colour, outer edge in the ground colour; R10 corner radius per näidis 1" }
460
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed, note: "50 mm wide field; 12 yellow five-pointed stars on blue with white EST (§ 4(4))" }
461
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11, width_letters_mm: 44, width_digits_mm: 44, note: "Lisa 2: kirja tüüp 2; wide letters M 66, W 88, T 44, Y 55; digit '1' 22,8" }
462
+ emblem: { present: false }
463
+ seal: { present: false, note: "Estonia applies no inspection sticker to the plate; the round registration label carried between the groups on pre-2004 plates is gone — see ee-standard-1991" }
464
+ rear_differs: false
465
+ region_encoding: none
466
+ sources:
467
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # määrus nr 49 § 2(1)1) type A1; § 3(1)-(2) fields and A1 alignment; § 3(5) Latin capitals; § 4(2)-(4) rim and band; § 5 materials; § 6(5) the A/M/W rule; § 7^1(2) the 1 July 2004 boundary"
468
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A1: kirja tüüp 2, kategooria M/N/O, 'Valge aluspõhi, mustad sümbolid', 520x113, näidis 1"
469
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 1 — the statutory drawing, sample mark '053 EEN', field widths 157 max / 25 / 225 max, band 50, plate height 113 (10,5 + 77 + 11,5)"
470
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM49_lisa2.pdf # Lisa 2 kirja tüüp 2 symbol heights and widths"
471
+ - "https://www.transpordiamet.ee/registreerimismargid # the authority's own page: the A1-A12/B/D/E type list, the 5-year plate-retention rule, and the rule that a vehicle may not mix plates with and without the EU flag and EST"
472
+ notes: >-
473
+ THE CURRENT ESTONIAN PLATE, and the one whose start date must be read
474
+ carefully. period.start 2004 is a STATUTORY BOUNDARY, not a first-issue
475
+ date: § 7^1(2) exempts from exchange any mark issued to a vehicle
476
+ registered "enne 1. juulit 2004. a", which places the modern
477
+ banded-plate requirement on the far side of 1 July 2004 — NOT 1 May 2004,
478
+ the accession date, and NOT 2011, the date of the määrus that now governs
479
+ it. The instrument that actually introduced the band was not located
480
+ (gaps.eu_band_instrument). The FORMAT is older than the band: the same
481
+ three-digits-then-three-letters shape ran unbanded from 1991, which is
482
+ why ee-standard-1991 is a separate series and not a design variant.
483
+ Overlaps ee-standard-a3 because both are genuinely on issue in parallel.
484
+
485
+ - id: ee-standard-1991
486
+ class: standard
487
+ categories: [car, van, truck, bus, trailer]
488
+ period: { start: 1991, end: 2004 }
489
+ period_evidence: statutory-date-end-secondary-start # the two ends are
490
+ # evidenced DIFFERENTLY and the value says so:
491
+ # the END rests on § 7^1(2) of the määrus (a
492
+ # primary), the START on a single secondary
493
+ # sentence. Averaging them into one tier would
494
+ # hide exactly the weakness a verifier needs.
495
+ matching: strict
496
+ format:
497
+ pattern: "999 LLL"
498
+ regex: '\A\d{3} [A-Z]{3}\z'
499
+ charset:
500
+ notes: >-
501
+ No regex_strict: § 6(5)'s A/M/W rule dates from 2022 and cannot be
502
+ projected back onto a series that closed in 2004. Writing the modern
503
+ charset onto the historic series would be exactly the anachronism the
504
+ instrument-date rule exists to prevent.
505
+ separator_note: >-
506
+ On this series the gap between the digit group and the letter group was
507
+ occupied by a round REGISTRATION LABEL (the annual validity sticker),
508
+ which is the visual signature of the pre-2004 Estonian plate. The label
509
+ is not part of the mark and is not a separator; it is recorded in
510
+ design.seal.
511
+ design:
512
+ plate: { w: 520, h: 113, unit: mm }
513
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
514
+ foreground: "#000000"
515
+ border: { color: "#000000" }
516
+ band: { side: none, note: "no EU band — this series predates it; a small national marking was used instead, whose specification was not pinned in this pass" }
517
+ characters: { height_mm: 77, note: "assumed continuous with A1; NOT separately sourced for this period" }
518
+ seal: { present: true, note: "a round registration label was applied BETWEEN the digit and letter groups; dropped in 2004 (secondary)" }
519
+ rear_differs: false
520
+ region_encoding: none
521
+ sources:
522
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Estonia # SECONDARY, per-fact: 'The first, post-Soviet, Estonian registration plates (1991) were composed of three numbers, with a licence label in the middle of the plate. The labels were dropped in 2004.' — the only date evidence located for the independence-era transition"
523
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 7^1(2) — the statutory 1 July 2004 boundary, which corroborates the END of this series from a PRIMARY source even though its START is secondary"
524
+ notes: >-
525
+ THE INDEPENDENCE-ERA SERIES, AND THE WEAKEST-EVIDENCED RECORD IN THIS
526
+ FILE — deliberately kept rather than dropped, because the transition is
527
+ real and a dataset that omits it implies Estonian plates began in 2004.
528
+ Its START (1991) rests on ONE secondary sentence and is tagged
529
+ `secondary-dated`; no Estonian instrument for the 1991 changeover was
530
+ located (gaps.independence_transition_instrument). Its END is much better
531
+ evidenced: § 7^1(2) of the current määrus draws its exchange boundary at
532
+ 1 July 2004 from the primary. The Soviet-era predecessor is NOT modelled —
533
+ Estonian SSR plates carried the ЕА and ЭС Cyrillic suffixes and belong to
534
+ a Soviet-union-wide system outside this jurisdiction file. NOTE the
535
+ secondary source's own imprecision: it says the 1991 plates "were composed
536
+ of three numbers", plainly eliding the letter group that the same article
537
+ describes elsewhere; the format here is carried forward from A1 and is a
538
+ RECORDED INFERENCE, not a quoted one.
539
+
540
+ - id: ee-standard-a3
541
+ class: standard
542
+ categories: [car, van, truck, bus, trailer]
543
+ period: { start: 2011 }
544
+ period_evidence: instrument-in-force
545
+ matching: strict
546
+ format:
547
+ pattern: "99LLL"
548
+ regex: '\A\d{2}[A-Z]{3}\z'
549
+ regex_strict: '\A\d{2}(?!W)[A-Z](?!W)[A-Z](?!W)[A-Z]\z'
550
+ charset:
551
+ letters: "3; W FORBIDDEN (§ 6(4)); A permitted twice, or once if M is present; M likewise (§ 6(2)-(3))"
552
+ digits: "2"
553
+ notes: >-
554
+ W is flatly forbidden on A3 by § 6(4), and that is encoded. The A/M
555
+ co-occurrence arithmetic of § 6(2)-(3) ("A may be used together with M
556
+ once, otherwise twice") is a COUNT rule over a three-letter group and
557
+ is recorded but not encoded — it is expressible but would make the
558
+ twin unreadable for no consumer benefit.
559
+ separator_note: >-
560
+ NO gap is drawn between the groups on A3: näidis 3 shows "17ELH" set
561
+ solid, with the digit field 74 max and the letter field 134 max
562
+ separated by only the 10 mm field margins. The pattern therefore spells
563
+ no separator at all — the one Estonian ordinary plate that does not.
564
+ design:
565
+ plate: { w: 302, h: 152, unit: mm }
566
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
567
+ foreground: "#000000"
568
+ border: { color: "#000000" }
569
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed, note: "50 mm wide, full plate height" }
570
+ characters: { font_type: 4, height_mm: 77, stroke_mm: 11, note: "Lisa 2 kirja tüüp 4: the condensed 77 mm cut — letters 33 wide against tüüp 2's 44" }
571
+ rear_differs: false
572
+ region_encoding: none
573
+ sources:
574
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)3) type A3; § 6(2)-(4) the A/M/W rules for A3"
575
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A3: kirja tüüp 4, M/N/O, 'Valge aluspõhi, mustad sümbolid', 302x152, näidis 3"
576
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 3 — sample mark '17ELH', digit field 74 max, letter field 134 max, plate 302 x 152"
577
+ notes: >-
578
+ THE SQUARE CAR PLATE — a DIFFERENT FORMAT, not merely a smaller plate,
579
+ which is why it is its own series: two digits and three letters against
580
+ A1's three and three. It exists for vehicles whose plate recess suits the
581
+ North American proportion. period.start is instrument-dated on määrus
582
+ nr 49 (in force 1.07.2011) and is a FLOOR, not an origin claim — the type
583
+ is older than the instrument that currently describes it, and its true
584
+ start is unpinned (see gaps.a3_series_semantics). Overlaps ee-standard-eu
585
+ because both are on issue in parallel for the same vehicles.
586
+
587
+ - id: ee-temporary-yellow
588
+ class: temporary
589
+ categories: [car, van, truck, bus, trailer]
590
+ period: { start: 2011 }
591
+ period_evidence: instrument-in-force
592
+ matching: strict
593
+ format:
594
+ pattern: "999 LLL"
595
+ regex: '\A\d{3} [A-Z]{3}\z'
596
+ charset: { notes: "the A1 grammar unchanged — § 7(1) alters only the COLOURS, not the mark" }
597
+ design:
598
+ plate: { w: 520, h: 113, unit: mm }
599
+ background: { color: "#F2C200", finish: retroreflective, hex_basis: observed, spec_note: "§ 7(1) says only 'kollast värvi' (yellow); no RGB exists in Estonian law and Lisa 1 does not tabulate this variant at all" }
600
+ foreground: "#000000"
601
+ border: { color: "#000000" }
602
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
603
+ rear_differs: false
604
+ region_encoding: none
605
+ sources:
606
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 7(1), verbatim: 'Tähtajaliselt registreeritud sõidukile väljastatava registreerimismärgi aluspõhi on kollast värvi ja sümbolid on musta värvi.'"
607
+ notes: >-
608
+ THE YELLOW TEMPORARY-REGISTRATION PLATE, and a genuine schema edge. It is
609
+ not a type in § 2's list and gets no row in Lisa 1 and no näidis in
610
+ Lisa 3 — it exists only as the one-sentence § 7(1) EXCEPTION, which
611
+ recolours whatever mark the vehicle would otherwise carry. Modelled as its
612
+ own series rather than a colour variant because the DESIGN differs and the
613
+ issuing CLASS differs (tähtajaline registreerimine — time-limited
614
+ registration), which PRD-PLATES §2.3 makes sufficient. Its dimensions and
615
+ band are inherited from A1 and are a RECORDED INFERENCE: the instrument
616
+ does not restate them for this variant. Distinct from ee-transit-d1/d2,
617
+ which are a different class with a different format and their own drawings.
618
+
619
+ - id: ee-personalised-a2
620
+ class: personalized
621
+ categories: [car, van, truck, bus]
622
+ period: { start: 2011 }
623
+ period_evidence: instrument-in-force
624
+ matching: strict
625
+ format:
626
+ pattern: "LLLLLL9"
627
+ regex: '\A(?=[A-Z0-9]{2,9}\z)[A-Z]+\d+\z'
628
+ charset:
629
+ max_symbols: 9
630
+ rule: >-
631
+ § 6^1(5), verbatim: "Eritellimusel valmistataval registreerimismärgil
632
+ on suurim lubatud tähtede ja numbrite arv 9, kusjuures vähemalt üks
633
+ sümbolitest peab olema number ja asuma tähe või tähtede järel.
634
+ Numbrite ja tähtede kombinatsiooni asetus ei tohi olla vahelduv, vaid
635
+ peab olema järjestikune." Three rules in one sentence: at most 9
636
+ symbols; at least one must be a DIGIT and must come AFTER the letter
637
+ or letters; and the arrangement may not ALTERNATE — it must be
638
+ consecutive. The regex is the exact encoding of all three: one or more
639
+ letters, then one or more digits, total length 2 to 9.
640
+ propriety: >-
641
+ § 6^1(3): "Registreerimisnumber üksikkorras ja eritellimusel
642
+ valmistataval registreerimismärgil ei tohi olla eksitav ega vastuolus
643
+ heade kommetega" — not misleading, not contrary to good morals. Not
644
+ machine-encodable; recorded.
645
+ separator_note: >-
646
+ § 3(1^1): A2 has a SINGLE combined letters-and-numbers field, so nothing
647
+ is printed between the groups; § 3(2) sets the inter-symbol spacing at
648
+ 22 mm maximum and centres the mark in the field. Näidis 2 draws
649
+ "FEHFEL1" set solid across a 432 mm field.
650
+ design:
651
+ plate: { w: 520, h: 113, unit: mm }
652
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
653
+ foreground: "#000000"
654
+ border: { color: "#000000" }
655
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
656
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11 }
657
+ rear_differs: false
658
+ region_encoding: none
659
+ sources:
660
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)2) type A2; § 3(1^1) combined field; § 3(2) 22 mm centred; § 6^1(1)-(5) inserted by RT I, 02.12.2011, 13 (jõust. 05.12.2011)"
661
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A2: kirja tüüp 2, M/N, valge/mustad, 520x113, näidis 2"
662
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 2 — sample mark 'FEHFEL1' in a single 432 mm field"
663
+ - "https://www.transpordiamet.ee/registreerimismargid # the authority's fee for an eritellimus mark and the propriety condition"
664
+ notes: >-
665
+ THE PERSONALISED PLATE, and the cleanest strict regex in this file:
666
+ because § 6^1(5) states the grammar completely (letters then digits, no
667
+ alternation, at most nine), `regex` IS the authority's own grammar and
668
+ needs no strict twin. Note the schema distinction the määrus draws and
669
+ this file preserves: an ERITELLIMUS mark (§ 6^1(2), type A2) is a free
670
+ string and is THIS series; an ÜKSIKKORRAS mark (§ 6^1(1)) is an ordinary
671
+ A1-format mark that the applicant merely CHOOSES, whose number series must
672
+ begin at one (§ 6^1(4)) — that is not a separate format and is not
673
+ modelled separately.
674
+
675
+ # =========================================================================
676
+ # DIPLOMATIC. Lisa 1: A4/A5 kirja tüüp 2, 520x113; A6/A7 kirja tüüp 4,
677
+ # 302x152; all "Sinine aluspõhi, valged sümbolid".
678
+ # =========================================================================
679
+ - id: ee-diplomatic-cd
680
+ class: diplomatic
681
+ categories: [car, van]
682
+ period: { start: 2011 }
683
+ period_evidence: instrument-in-force
684
+ matching: strict
685
+ format:
686
+ pattern: "CD 9999"
687
+ regex: '\A(?:CD|AT) \d{4}\z'
688
+ charset:
689
+ letter_groups: [CD, AT]
690
+ notes: >-
691
+ Näidis 4 draws "CD 2345". The regulation itself does not enumerate the
692
+ letter groups; CD (corps diplomatique) is on the statutory drawing and
693
+ AT (administrative-technical staff) is attested secondarily and is
694
+ consistent with the type's own official description, "Välisesinduste
695
+ diplomaatilise ja ADMINISTRATIIV-TEHNILISE personali autode
696
+ registreerimismärk" (Lisa 3, näidis 4 caption). Both are encoded; the
697
+ pattern spells the CD form as canonical.
698
+ design:
699
+ plate: { w: 520, h: 113, unit: mm }
700
+ background: { color: "#1C4FA1", finish: retroreflective, hex_basis: observed, spec_note: "Lisa 1: 'Sinine aluspõhi, valged sümbolid'; no RGB in Estonian law — sampled from the näidis 4 vector drawing" }
701
+ foreground: "#FFFFFF"
702
+ border: { color: "#FFFFFF" }
703
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
704
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11, note: "letter field 130 max, 45 mm gap, digit field 221 max (näidis 4)" }
705
+ rear_differs: false
706
+ region_encoding: none
707
+ sources:
708
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)4) types A4, A5"
709
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A4/A5: kirja tüüp 2, M/N, 'Sinine aluspõhi, valged sümbolid', 520x113, näidised 4, 5"
710
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 4 — 'CD 2345', caption 'Välisesinduste diplomaatilise ja administratiiv-tehnilise personali autode registreerimismärk'"
711
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Estonia # SECONDARY, per-fact: that the A4 letter group is CD or AT"
712
+ notes: >-
713
+ THE FULL-SIZE DIPLOMATIC PLATE for mission staff. Four digits. Its
714
+ reduced-size twin (type A6, 302 x 152) carries only THREE digits, which is
715
+ a format difference and therefore a separate series
716
+ (ee-diplomatic-cd-reduced). No decode of the digits is published by any
717
+ Estonian instrument — unlike Sweden's diplomatic system, Estonia does not
718
+ publish a mission-code table, and none is invented here.
719
+
720
+ - id: ee-diplomatic-cd-reduced
721
+ class: diplomatic
722
+ categories: [car, van]
723
+ period: { start: 2011 }
724
+ period_evidence: instrument-in-force
725
+ matching: strict
726
+ format:
727
+ pattern: "CD999"
728
+ regex: '\A(?:CD|AT)\d{3}\z'
729
+ charset: { notes: "as ee-diplomatic-cd but THREE digits and no printed gap — näidis 6 draws 'CD000' set solid" }
730
+ design:
731
+ plate: { w: 302, h: 152, unit: mm }
732
+ background: { color: "#1C4FA1", finish: retroreflective, hex_basis: observed }
733
+ foreground: "#FFFFFF"
734
+ border: { color: "#FFFFFF" }
735
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
736
+ characters: { font_type: 4, height_mm: 77, stroke_mm: 11, note: "letter field 74, digit field 120 max (näidis 6)" }
737
+ region_encoding: none
738
+ sources:
739
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)5) types A6, A7"
740
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A6/A7: kirja tüüp 4, M/N, sinine/valged, 302x152, näidised 6, 7"
741
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 6 — 'CD000'"
742
+ notes: >-
743
+ THE SQUARE DIPLOMATIC PLATE. Separate from ee-diplomatic-cd because it
744
+ loses a digit (three, not four) and prints no gap — a format difference,
745
+ not merely a size. Overlaps ee-diplomatic-cd in period and categories
746
+ because both are issued in parallel according to the vehicle's plate
747
+ recess, exactly as A1 and A3 do.
748
+
749
+ - id: ee-diplomatic-cmd
750
+ class: diplomatic
751
+ categories: [car, van]
752
+ period: { start: 2011 }
753
+ period_evidence: instrument-in-force
754
+ matching: strict
755
+ format:
756
+ pattern: "CMD 999"
757
+ regex: '\ACMD \d{3}\z'
758
+ charset:
759
+ letter_group: [CMD]
760
+ notes: >-
761
+ CMD — chef de mission diplomatique. Näidis 5 draws "CMD 234" and its
762
+ caption names the class exactly: "Eestis tegutsevate välisesinduste
763
+ JUHTIDE autode registreerimismärk" (heads of missions). The literal
764
+ is on the statutory drawing, so unlike A10's "SP" it is corroborated
765
+ by the caption naming the office it denotes.
766
+ design:
767
+ plate: { w: 520, h: 113, unit: mm }
768
+ background: { color: "#1C4FA1", finish: retroreflective, hex_basis: observed }
769
+ foreground: "#FFFFFF"
770
+ border: { color: "#FFFFFF" }
771
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
772
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11, note: "letter field 200 max, 31 mm gap, digit field 165 max (näidis 5)" }
773
+ region_encoding: none
774
+ sources:
775
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)4) type A5"
776
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 5 — 'CMD 234', caption naming heads of missions"
777
+ notes: >-
778
+ THE HEAD-OF-MISSION PLATE. Three digits after a fixed CMD. Its reduced
779
+ twin (A7, näidis 7, "CMD00") carries TWO digits on a 302 x 152 plate and
780
+ is modelled as ee-diplomatic-cmd-reduced. Overlaps ee-diplomatic-cd only
781
+ in class and categories, never in mark space — CMD and CD/AT are disjoint
782
+ literals, so a parser can separate them with certainty.
783
+
784
+ - id: ee-diplomatic-cmd-reduced
785
+ class: diplomatic
786
+ categories: [car, van]
787
+ period: { start: 2011 }
788
+ period_evidence: instrument-in-force
789
+ matching: strict
790
+ format:
791
+ pattern: "CMD99"
792
+ regex: '\ACMD\d{2}\z'
793
+ charset: { notes: "as ee-diplomatic-cmd but TWO digits, set solid — näidis 7 draws 'CMD00'" }
794
+ design:
795
+ plate: { w: 302, h: 152, unit: mm }
796
+ background: { color: "#1C4FA1", finish: retroreflective, hex_basis: observed }
797
+ foreground: "#FFFFFF"
798
+ border: { color: "#FFFFFF" }
799
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
800
+ characters: { font_type: 4, height_mm: 77, stroke_mm: 11, note: "letter field 129 max, digit field 74 (näidis 7)" }
801
+ region_encoding: none
802
+ sources:
803
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)5) type A7"
804
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 7 — 'CMD00'"
805
+ notes: >-
806
+ THE SQUARE HEAD-OF-MISSION PLATE — the shortest mark Estonia issues on a
807
+ car, five characters. Separate series from ee-diplomatic-cmd on the digit
808
+ count. Overlaps it in period and categories for the same plate-recess
809
+ reason as the CD pair.
810
+
811
+ # =========================================================================
812
+ # TRANSFERABLE (TRADE) MARKS. Lisa 1: A8 kirja tüüp 4, 520x113; A11 kirja
813
+ # tüüp 1, 302x152. Both "Valge aluspõhi, mustad sümbolid".
814
+ # =========================================================================
815
+ - id: ee-dealer-proov
816
+ class: dealer
817
+ categories: [car, van, truck, bus, trailer, motorcycle, tractor]
818
+ period: { start: 2011 }
819
+ period_evidence: instrument-in-force
820
+ matching: strict
821
+ format:
822
+ pattern: "PROOV 9999"
823
+ regex: '\APROOV \d{4}\z'
824
+ charset:
825
+ literal_prefix: PROOV
826
+ notes: >-
827
+ "PROOV" is Estonian for "trial/test" — a WORD, not a sample serial,
828
+ which is why it is encoded as a literal where näidis 10's "SP" is not.
829
+ Näidis 8 draws "PROOV 1203" with the letter field fixed at exactly
830
+ 205 mm (not "max", unlike every other type in Lisa 3), which is itself
831
+ evidence that the letter group is invariant.
832
+ design:
833
+ plate: { w: 520, h: 113, unit: mm }
834
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
835
+ foreground: "#000000"
836
+ border: { color: "#000000" }
837
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
838
+ characters: { font_type: 4, height_mm: 77, stroke_mm: 11, note: "letter field 205 fixed, 23 mm gap, digit field 160 max (näidis 8)" }
839
+ region_encoding: none
840
+ sources:
841
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)6) type A8 'teisaldatav registreerimismärk'"
842
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A8: kirja tüüp 4, categories M, N, O, T, R, LM, MS — the widest category list of any Estonian type"
843
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 8 — 'PROOV 1203', letter field 205 fixed"
844
+ - "https://www.transpordiamet.ee/registreerimismargid # the authority: PROOV marks are for unregistered vehicles being sold, tested or delivered, valid up to one year and renewable, with an electronic logbook obligation"
845
+ notes: >-
846
+ THE TRANSFERABLE TRADE PLATE. Estonian law calls it TEISALDATAV (movable)
847
+ rather than a dealer plate, and Lisa 1 gives it the widest category list
848
+ in the instrument — M, N, O, T, R, LM and MS — because one PROOV mark
849
+ moves between vehicle kinds. Its reduced-size twin A11 is a TWO-ROW plate
850
+ (PROOV above, digits below) on the 302 x 152 blank and is modelled
851
+ separately as ee-dealer-proov-reduced, since a two-row layout prints no
852
+ separator at all.
853
+
854
+ - id: ee-dealer-proov-reduced
855
+ class: dealer
856
+ categories: [car, van, motorcycle, tractor]
857
+ period: { start: 2014 }
858
+ period_evidence: enabling-instrument
859
+ matching: strict
860
+ format:
861
+ pattern: "PROOV9999"
862
+ regex: '\APROOV\d{4}\z'
863
+ charset:
864
+ notes: >-
865
+ The same invariant PROOV and four digits as A8. The pattern spells NO
866
+ separator because none is printed: näidis 18 is a TWO-ROW plate with
867
+ PROOV on the upper row (215 mm field) and the digits on the lower
868
+ (134 mm field), which PRD-PLATES §2.6 collapses to one canonical
869
+ serial — the same two-printed-forms/one-mark situation fi.yml records
870
+ for Finnish two-row plates.
871
+ design:
872
+ plate: { w: 302, h: 152, unit: mm }
873
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
874
+ foreground: "#000000"
875
+ border: { color: "#000000" }
876
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
877
+ characters: { font_type: 1, height_mm: 49, stroke_mm: 7, note: "two rows of 49 mm, 26 mm apart (näidis 18)" }
878
+ rows: 2
879
+ region_encoding: none
880
+ sources:
881
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)15) type A11, inserted by RT I, 02.09.2014, 1 — jõust. 05.09.2014"
882
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A11: kirja tüüp 1, categories M, N, L, LM, MS, 302x152, näidis 18"
883
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 18 — two-row 'PROOV / 1203'"
884
+ notes: >-
885
+ THE TWO-ROW TRADE PLATE, and the one Estonian series with a genuinely
886
+ dated start inside the instrument's own life: type A11 did not exist in
887
+ the 2011 määrus as made and was INSERTED by the amendment RT I,
888
+ 02.09.2014, 1, in force 5 September 2014. period.start 2014 is therefore
889
+ `enabling-instrument` and is a real start, not an instrument-date
890
+ artefact. Overlaps ee-dealer-proov because both are on issue in parallel.
891
+
892
+ # =========================================================================
893
+ # HISTORIC (VANASÕIDUK). Lisa 1: A9 kirja tüüp 4, 302x113; B2 kirja tüüp 3,
894
+ # 177x101. Both "Must aluspõhi, valged sümbolid", both exempt from the
895
+ # retroreflective coating (§ 5(2)) and from the band field (§ 7(4)).
896
+ # =========================================================================
897
+ - id: ee-historic-a9
898
+ class: historic
899
+ categories: [car, van, truck, bus, trailer]
900
+ period: { start: 2011 }
901
+ period_evidence: instrument-in-force
902
+ matching: strict
903
+ format:
904
+ pattern: "L 999"
905
+ regex: '\A[A-Z] \d{3}\z'
906
+ regex_strict: '\A(?!W)[A-Z] \d{3}\z'
907
+ charset:
908
+ letters: "1; W forbidden (§ 6(4))"
909
+ digits: "3"
910
+ notes: >-
911
+ A single letter then three digits. The M prohibition that once applied
912
+ to A9 was REMOVED from § 6(3) with effect from 06.06.2022, which is
913
+ why the current näidis 9 can draw "M 433" — a detail worth stating,
914
+ because a strict twin written from the pre-2022 text would now reject
915
+ a valid mark. Only the W prohibition survives for this type.
916
+ design:
917
+ plate: { w: 302, h: 113, unit: mm }
918
+ background: { color: "#000000", finish: non-retroreflective, hex_basis: observed, spec_note: "§ 5(2) exempts A9 from the retroreflective coating — like Finland's black plate, it is the one finish the law withholds" }
919
+ foreground: "#FFFFFF"
920
+ border: { color: "#FFFFFF" }
921
+ band: { side: none, note: "§ 7(4): the band field is not required on a vanasõiduk mark, and näidis 9 is drawn without one" }
922
+ characters: { font_type: 4, height_mm: 77, stroke_mm: 11, note: "letter field 46, 55 mm gap, digit field 125 max (näidis 9)" }
923
+ region_encoding: none
924
+ sources:
925
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)7) type A9; § 5(2) retroreflection exemption; § 6(4) W; § 7(4) band not required; § 6(3) as amended 06.06.2022 no longer forbids M on A9"
926
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A9: kirja tüüp 4, M/N/O/T/R/LM, 'Must aluspõhi, valged sümbolid', 302x113, näidis 9"
927
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 9 — 'M 433'"
928
+ notes: >-
929
+ THE HISTORIC-VEHICLE PLATE — black, unreflective, bandless, and the only
930
+ Estonian car mark with a ONE-letter group, which makes it unambiguously
931
+ separable from every other series in the file. period.start is
932
+ instrument-dated on määrus nr 49 and is a FLOOR: the vanasõiduk regime is
933
+ older than 2011 and its origin is unpinned. Note the plate is 302 x 113 —
934
+ neither the 520 x 113 long blank nor the 302 x 152 square one, a third
935
+ Estonian size used by this type alone.
936
+
937
+ - id: ee-historic-b2
938
+ class: historic
939
+ categories: [motorcycle, moped, atv]
940
+ period: { start: 2011 }
941
+ period_evidence: instrument-in-force
942
+ matching: strict
943
+ format:
944
+ pattern: "L 999"
945
+ regex: '\A[A-Z] \d{3}\z'
946
+ regex_strict: '\A(?![AMW])[A-Z] \d{3}\z'
947
+ charset:
948
+ letters: "1; W forbidden outright, and A and M each permitted only once and never together (§ 6(2)-(4)) — on a ONE-letter group the 'never together' limb is inert, but the W prohibition bites"
949
+ notes: >-
950
+ The strict twin here excludes A, M and W. That is DELIBERATELY
951
+ stricter than ee-historic-a9's twin: § 6(4) forbids W on B2, and
952
+ § 6(2)-(3) permit A and M on B2 only once each and never together —
953
+ on a single-letter group that permits A or M, so the exclusion of A
954
+ and M in this twin is an OVER-narrowing and is flagged here rather
955
+ than shipped silently. See notes.
956
+ design:
957
+ plate: { w: 177, h: 101, unit: mm }
958
+ background: { color: "#000000", finish: non-retroreflective, hex_basis: observed }
959
+ foreground: "#FFFFFF"
960
+ border: { color: "#FFFFFF" }
961
+ band: { side: none }
962
+ characters: { font_type: 3, height_mm: 49, stroke_mm: 7, note: "letter field 32 max, 47 mm gap, digit field 72 max (näidis 12)" }
963
+ region_encoding: none
964
+ sources:
965
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)10) type B2; § 5(2) and § 7(4) as for A9; § 6(2)-(4)"
966
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row B2: kirja tüüp 3, categories L, MS, must/valged, 177x101, näidis 12"
967
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 12 — 'M 433' on the small black blank"
968
+ notes: >-
969
+ THE HISTORIC MOTORCYCLE/MOPED/ATV PLATE. Same mark grammar as
970
+ ee-historic-a9 on a different blank, which is why they are separate series
971
+ but overlap in nothing (their categories are disjoint, so the lint's
972
+ overlap rule does not even engage). CAVEAT ON THE STRICT TWIN, stated
973
+ because it is a real defect risk: the twin excludes A and M, but § 6(2)
974
+ and § 6(3) actually PERMIT A and M on B2 once each — only their
975
+ CO-OCCURRENCE is forbidden, which a one-letter group cannot produce. The
976
+ twin is therefore narrower than the law and a verifier should relax it to
977
+ '\A(?!W)[A-Z] \d{3}\z'. Recorded rather than silently corrected because
978
+ the researcher-verifier split (PRD-PLATES §5.3) is the point.
979
+
980
+ # =========================================================================
981
+ # L-CATEGORY. Lisa 1: B1 and B3 kirja tüüp 3, 177x101. B1 white/black,
982
+ # B3 GREEN/black — the only green plate in the Estonian system.
983
+ # =========================================================================
984
+ - id: ee-motorcycle-b1
985
+ class: motorcycle
986
+ categories: [motorcycle, atv, snowmobile, trailer]
987
+ period: { start: 2011 }
988
+ period_evidence: instrument-in-force
989
+ matching: strict
990
+ format:
991
+ pattern: "99LL"
992
+ regex: '\A(?:\d{2}[A-Z]{2}|[A-Z]{2}\d{2})\z'
993
+ charset:
994
+ letters: "2; W forbidden (§ 6(4)); A and M each once and never together (§ 6(2)-(3))"
995
+ digits: "2"
996
+ notes: >-
997
+ BOTH ORDERS ARE LAWFUL, and that is sourced, not inferred. § 7(2),
998
+ verbatim: "B1-tüüpi registreerimismärgil kasutatavad numbrid võivad
999
+ asuda nii tähtede ees kui ka järel." The digits may stand before OR
1000
+ after the letters. The regex is the union of exactly those two
1001
+ arrangements and nothing wider, so `matching` remains strict. Näidis
1002
+ 11 draws the digits-first form, "53HF".
1003
+ separator_note: "no separator is printed; näidis 11 sets the groups solid across a 48 mm digit field and a 56 mm letter field"
1004
+ design:
1005
+ plate: { w: 177, h: 101, unit: mm }
1006
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
1007
+ foreground: "#000000"
1008
+ border: { color: "#000000" }
1009
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed, note: "40 mm wide on this blank" }
1010
+ characters: { font_type: 3, height_mm: 49, stroke_mm: 7 }
1011
+ region_encoding: none
1012
+ sources:
1013
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)9) type B1; § 7(2) the reversible order; § 6(2)-(4)"
1014
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row B1: kirja tüüp 3, categories L, MS, valge/mustad, 177x101, näidis 11"
1015
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM49_lisa2.pdf # Lisa 2: the W width for kirja tüüp 3 is '-', corroborating § 6(4)"
1016
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 11 — '53HF'"
1017
+ notes: >-
1018
+ THE MOTORCYCLE PLATE, and the only Estonian series whose mark may be
1019
+ printed in EITHER ORDER — a sourced union, not a hedge. Consumers must not
1020
+ infer an era or a class from which order they see. Categories include
1021
+ MS (snowmobile) and the L-category trailer, per Lisa 1.
1022
+
1023
+ - id: ee-moped-b3
1024
+ class: moped
1025
+ categories: [moped]
1026
+ period: { start: 2011 }
1027
+ period_evidence: instrument-in-force
1028
+ matching: strict
1029
+ format:
1030
+ pattern: "999L"
1031
+ regex: '\A(?:\d{3}[A-Z]|[A-Z]\d{3})\z'
1032
+ charset:
1033
+ letters: "1; W forbidden (§ 6(4)); A or M permitted once (§ 6(2)-(3))"
1034
+ digits: "3"
1035
+ notes: >-
1036
+ § 7(2) second sentence, verbatim: "B3-tüüpi registreerimismärgil
1037
+ kasutatav täht võib numbrite suhtes muuta asukohta." The LETTER may
1038
+ change its position relative to the digits. Encoded as the union of
1039
+ letter-last and letter-first. Näidis 13 draws the letter-last form,
1040
+ "533F". Note § 3(1^1) gives B3 a single COMBINED field, which is why
1041
+ the letter can float at all.
1042
+ design:
1043
+ plate: { w: 177, h: 101, unit: mm }
1044
+ background: { color: "#00A550", finish: retroreflective, hex_basis: observed, spec_note: "Lisa 1: 'Roheline aluspõhi, mustad sümbolid' — the only green plate Estonia issues; no RGB in law, sampled from näidis 13" }
1045
+ foreground: "#000000"
1046
+ border: { color: "#000000" }
1047
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
1048
+ characters: { font_type: 3, height_mm: 49, stroke_mm: 7, note: "single combined field 111 mm wide (näidis 13)" }
1049
+ region_encoding: none
1050
+ sources:
1051
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)11) type B3; § 3(1^1) combined field; § 7(2) floating letter; § 6(2)-(4)"
1052
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row B3: kirja tüüp 3, category L, 'Roheline aluspõhi, mustad sümbolid', 177x101, näidis 13"
1053
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 13 — '533F' on the green blank"
1054
+ notes: >-
1055
+ THE GREEN MOPED PLATE — Estonia's most visually distinctive series and the
1056
+ only one whose ground colour alone identifies the class. Like B1 the mark
1057
+ may be printed either way round, on the same § 7(2) authority. Its
1058
+ categories are disjoint from every other series here, so it never overlaps.
1059
+
1060
+ # =========================================================================
1061
+ # TRANSIT. Lisa 1: D1 and D2 kirja tüüp 2, "Värvitu aluspõhi, punased
1062
+ # sümbolid"; D1 520x113, D2 420x113 — the only 420 mm blank in the system.
1063
+ # These are the two types that print a HYPHEN.
1064
+ # =========================================================================
1065
+ - id: ee-transit-d1
1066
+ class: temporary # CLASS NOTE: _meta/classes.yml has no `transit`
1067
+ # value; `temporary` is defined there as
1068
+ # "short-validity plates (transit, awaiting
1069
+ # registration)", which is exactly the Estonian
1070
+ # transiitmärk. The id keeps the instrument's own
1071
+ # word so the mapping stays visible.
1072
+ categories: [car, van, truck, bus]
1073
+ period: { start: 2011 }
1074
+ period_evidence: instrument-in-force
1075
+ matching: strict
1076
+ format:
1077
+ pattern: "LL-9999"
1078
+ regex: '\A[A-Z]{2}-\d{4}\z'
1079
+ charset:
1080
+ letters: "2; A not with W, M not with W, W not with A or M (§ 6(2)-(4)) — on D1 the three letters are mutually constrained rather than forbidden outright"
1081
+ digits: "4"
1082
+ notes: >-
1083
+ D1 is the one type where § 6 states PAIRWISE constraints instead of a
1084
+ flat prohibition: A may not be used with W, M may not be used with W,
1085
+ and W may not be used with A or M. On a two-letter group that reduces
1086
+ to a single rule — W may not share the group with A or M — which is
1087
+ encoded in the strict twin below.
1088
+ regex_strict: '\A(?!AW|WA|MW|WM)[A-Z]{2}-\d{4}\z'
1089
+ separator_note: >-
1090
+ A HYPHEN IS DRAWN, and dimensioned. Näidis 14 shows "ED-2345" with the
1091
+ separator given its own callouts — 44 mm wide, 11 mm high — sitting in a
1092
+ 25 mm gap between a 151 mm letter field and a 221 mm digit field. This
1093
+ is one of only two Estonian types that print a separator glyph at all,
1094
+ so the pattern spells a literal hyphen rather than a space.
1095
+ design:
1096
+ plate: { w: 520, h: 113, unit: mm }
1097
+ background: { color: "#FFFFFF", finish: non-retroreflective, hex_basis: observed, spec_note: "Lisa 1 says 'VÄRVITU aluspõhi' — COLOURLESS, and the same table says 'Valge' for every white plate. This hex is a render fallback, NOT a specification claim; § 5(2) exempts D1 from the retroreflective coating, which is what makes an uncoloured ground possible." }
1098
+ foreground: "#E1341E"
1099
+ border: { color: "#E1341E", note: "Lisa 1: 'punased sümbolid' — red symbols and rim; no RGB in law, sampled from näidis 14" }
1100
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
1101
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11, hyphen: { w: 44, h: 11, unit: mm } }
1102
+ region_encoding: none
1103
+ sources:
1104
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)12) type D1 'autode transiitmärk'; § 5(2) retroreflection exemption; § 6(2)-(4) the pairwise A/M/W rules for D1"
1105
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row D1: kirja tüüp 2, M/N, 'Värvitu aluspõhi, punased sümbolid', 520x113, näidis 14"
1106
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 14 — 'ED-2345' with the hyphen dimensioned 44 x 11 mm"
1107
+ notes: >-
1108
+ THE CAR TRANSIT PLATE. Three things make it unlike anything else in the
1109
+ file and all three are sourced: the ground is VÄRVITU (colourless) rather
1110
+ than white, the symbols are RED, and a hyphen is actually printed and
1111
+ dimensioned. Do not read the background hex as a spec — see the spec_note.
1112
+ Its smaller sibling D2 loses a digit and 100 mm of width and is a separate
1113
+ series.
1114
+
1115
+ - id: ee-transit-d2
1116
+ class: temporary # see the class note on ee-transit-d1
1117
+ categories: [motorcycle, moped, tractor, trailer]
1118
+ period: { start: 2011 }
1119
+ period_evidence: instrument-in-force
1120
+ matching: strict
1121
+ format:
1122
+ pattern: "LL-999"
1123
+ regex: '\A[A-Z]{2}-\d{3}\z'
1124
+ regex_strict: '\A(?![AMW])[A-Z](?![AMW])[A-Z]-\d{3}\z'
1125
+ charset:
1126
+ letters: "2; A, M and W ALL forbidden outright on D2 (§ 6(2), § 6(3), § 6(4))"
1127
+ digits: "3"
1128
+ notes: >-
1129
+ D2 is the most constrained charset in the instrument: § 6(2) forbids A
1130
+ ("Tähte „A” on keelatud kasutada D2 tüüpi registreerimismärgil"),
1131
+ § 6(3) forbids M and § 6(4) forbids W — all three, flatly, on this
1132
+ type alone. The strict twin encodes all three exclusions.
1133
+ separator_note: "a hyphen is printed and dimensioned, as on D1; näidis 15 draws 'ED-234' with a 122 mm letter field and a 153 mm digit field on the 420 mm blank"
1134
+ design:
1135
+ plate: { w: 420, h: 113, unit: mm }
1136
+ background: { color: "#FFFFFF", finish: non-retroreflective, hex_basis: observed, spec_note: "'Värvitu aluspõhi' — colourless; see ee-transit-d1's spec_note. Render fallback only." }
1137
+ foreground: "#E1341E"
1138
+ border: { color: "#E1341E" }
1139
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
1140
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11, hyphen: { w: 44, h: 11, unit: mm } }
1141
+ region_encoding: none
1142
+ sources:
1143
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)13) type D2; § 6(2)-(4) — A, M and W each forbidden on D2"
1144
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row D2: kirja tüüp 2, categories O, L, T, R, LM, 'Värvitu aluspõhi, punased sümbolid', 420x113, näidis 15"
1145
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 15 — 'ED-234' on the 420 mm blank"
1146
+ notes: >-
1147
+ THE TRANSIT PLATE FOR EVERYTHING THAT IS NOT A CAR — motorcycles, mopeds,
1148
+ tractors, self-propelled machines and their trailers. The 420 x 113 blank
1149
+ is unique to this type in the whole instrument. Its charset is the
1150
+ tightest Estonia publishes: A, M and W are each separately forbidden, so
1151
+ the strict twin is a genuine and fully sourced narrowing rather than a
1152
+ stylistic one.
1153
+
1154
+ # =========================================================================
1155
+ # TRACTORS AND SELF-PROPELLED MACHINES. Lisa 1: E1/E2, kirja tüüp 1 or 2,
1156
+ # 212x135 or 520x113, "Valge aluspõhi, mustad sümbolid".
1157
+ # =========================================================================
1158
+ - id: ee-agricultural-e2
1159
+ class: agricultural
1160
+ categories: [tractor, machine, trailer]
1161
+ period: { start: 2011 }
1162
+ period_evidence: instrument-in-force
1163
+ matching: strict
1164
+ format:
1165
+ pattern: "9999 LL"
1166
+ regex: '\A\d{4} [A-Z]{2}\z'
1167
+ charset:
1168
+ digits: "4 — the only Estonian ordinary mark with a FOUR-digit group"
1169
+ letters: "2"
1170
+ notes: >-
1171
+ Digits first, then letters, as on A1 but with an extra digit and one
1172
+ fewer letter. Näidis 16 draws "0530 EN"; the field drawing at näidis
1173
+ 17 dimensions the digit field at 221 max and the letter field at
1174
+ 151 max, i.e. the digit field is the WIDER of the two — the reverse of
1175
+ A1's proportions and a quick visual tell.
1176
+ design:
1177
+ plate: { w: 520, h: 113, unit: mm }
1178
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
1179
+ foreground: "#000000"
1180
+ border: { color: "#000000" }
1181
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
1182
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11 }
1183
+ region_encoding: none
1184
+ sources:
1185
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)14) types E1, E2"
1186
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row E1/E2: kirja tüüp 1 või 2, categories T, R, LM, valge/mustad, 212x135 või 520x113, näidised 16, 17"
1187
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 16 ('0530 EN') and näidis 17 (the 520 mm field drawing, digits 221 max then letters 151 max)"
1188
+ notes: >-
1189
+ THE FULL-SIZE TRACTOR PLATE. Four digits then two letters, which makes it
1190
+ trivially separable from A1 (three and three) and from ee-agricultural-e1,
1191
+ its two-row twin on the 212 x 135 blank. Categories T (tractor), R
1192
+ (trailer) and LM (liikurmasin, self-propelled machine) are Estonian
1193
+ vehicle-category codes carried through from Lisa 1.
1194
+
1195
+ - id: ee-agricultural-e1
1196
+ class: agricultural
1197
+ categories: [tractor, machine, trailer]
1198
+ period: { start: 2011 }
1199
+ period_evidence: instrument-in-force
1200
+ matching: strict
1201
+ format:
1202
+ pattern: "9999LL"
1203
+ regex: '\A\d{4}[A-Z]{2}\z'
1204
+ charset:
1205
+ notes: >-
1206
+ The same four-digits-then-two-letters mark as E2, printed on TWO ROWS
1207
+ — digits above, letters below — so no separator is printed and the
1208
+ pattern spells none. Näidis 16's field drawing dimensions the digit
1209
+ row at 134 mm and the letter row at 77-105 mm within a 212 mm plate.
1210
+ design:
1211
+ plate: { w: 212, h: 135, unit: mm }
1212
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
1213
+ foreground: "#000000"
1214
+ border: { color: "#000000" }
1215
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed, note: "40 mm wide, occupying only the upper part of the plate" }
1216
+ characters: { font_type: 1, height_mm: 49, stroke_mm: 7, note: "two rows of 49 mm separated by 9 mm (näidis 16)" }
1217
+ rows: 2
1218
+ region_encoding: none
1219
+ sources:
1220
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)14) type E1"
1221
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row E1/E2, the 212x135 alternative"
1222
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 16 — two-row '6269 / EO', plate 212 x 135, rows 49 mm + 9 mm + 49 mm"
1223
+ notes: >-
1224
+ THE TWO-ROW TRACTOR PLATE. Same mark as ee-agricultural-e2, different
1225
+ blank and layout, therefore a separate series under PRD-PLATES §2.3
1226
+ (design differs) — and separately useful to a consumer because the printed
1227
+ form has no separator to forgive. Overlaps ee-agricultural-e2 in period
1228
+ and categories because Lisa 1 offers the two sizes as alternatives for the
1229
+ same vehicles.
1230
+
1231
+ - id: ee-racing-a10
1232
+ class: specialty
1233
+ categories: [car]
1234
+ period: { start: 2011 }
1235
+ period_evidence: instrument-in-force
1236
+ matching: strict
1237
+ format:
1238
+ pattern: "LL 9999"
1239
+ regex: '\A[A-Z]{2} \d{4}\z'
1240
+ charset:
1241
+ letters: "2 — NOT constrained by the instrument"
1242
+ digits: "4"
1243
+ notes: >-
1244
+ Näidis 10 draws "SP 0003" and the shape is reported elsewhere as a
1245
+ fixed SP prefix. NO instrument fixes the letters, and Lisa 3 uses
1246
+ throwaway sample serials on other types ("053 EEN" on A1, "ED 2345" on
1247
+ D1), so SP is NOT encoded as a literal. See gaps.a10_letter_group.
1248
+ This is the deliberate counterpart to ee-dealer-proov, where the
1249
+ letter field is dimensioned as FIXED (205 mm, not "max") and the token
1250
+ is an Estonian word — there, the literal IS encoded.
1251
+ design:
1252
+ plate: { w: 520, h: 113, unit: mm }
1253
+ plate_variants:
1254
+ - { w: 250, h: 60, unit: mm, note: "the FRONT duplicate, a film sticker under a protective laminate (§ 7(3)); this dimension is the 06.06.2022 wording — the 2011 original said 350 x 60 mm and the 2014 wording repeated 350 x 60, so the size CHANGED, recorded not averaged" }
1255
+ background: { color: "#D8232A", finish: retroreflective, hex_basis: observed, spec_note: "Lisa 1: 'Punane aluspõhi, valged sümbolid'; no RGB in law, sampled from näidis 10" }
1256
+ foreground: "#FFFFFF"
1257
+ border: { color: "#FFFFFF" }
1258
+ band: { side: left, color: "#003399", content: eu-stars+EST, hex_basis: observed }
1259
+ characters: { font_type: 2, height_mm: 77, stroke_mm: 11 }
1260
+ rear_differs: true
1261
+ region_encoding: none
1262
+ sources:
1263
+ - "https://www.riigiteataja.ee/akt/128062011017?leiaKehtiv # § 2(1)8) type A10; § 7(3) as amended 06.06.2022: the front duplicate is a film sticker measuring 250 x 60 mm; § 7^1(1) saves already-issued aluminium racing plates from exchange"
1264
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa1_m49.pdf # Lisa 1 row A10: kirja tüüp 2, M/N, 'Punane aluspõhi, valged sümbolid', 520x113 ja 250x60, näidis 10"
1265
+ - "https://www.riigiteataja.ee/aktilisa/1030/6202/2012/MKM_m45_lisa3.pdf # näidis 10 — 'SP 0003' on the red blank"
1266
+ notes: >-
1267
+ THE RED RACING PLATE, and the one Estonian series where the front and rear
1268
+ genuinely differ: § 7(3) requires the rear plate to be DUPLICATED on the
1269
+ front as a film sticker, so `rear_differs: true` records a real asymmetry
1270
+ of medium and size rather than of content. CLASS CAVEAT: `specialty` is
1271
+ the nearest value in _meta/classes.yml, but a võistlusauto mark is not an
1272
+ optional-design program on a standard serial — it is its own administrative
1273
+ issuance category with its own colours and its own blank. Flagged for the
1274
+ vocabulary rather than forced. Note also the front-sticker size changed
1275
+ from 350 x 60 mm to 250 x 60 mm on 06.06.2022; both are recorded.