vehicles 0.6.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +274 -0
  4. data/README.md +55 -10
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +5 -4
  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/fr-departements.yml +191 -0
  14. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  15. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  16. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  17. data/data/plates/_decode/hr-cities.yml +315 -0
  18. data/data/plates/_decode/ie-counties.yml +227 -0
  19. data/data/plates/_decode/in-state-codes.yml +169 -0
  20. data/data/plates/_decode/is-districts-1938.yml +116 -0
  21. data/data/plates/_decode/it-provinces.yml +348 -0
  22. data/data/plates/_decode/jp-office-marks.yml +960 -0
  23. data/data/plates/_decode/jp-use-marks.yml +205 -0
  24. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  25. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  26. data/data/plates/_decode/lu-series-order.yml +638 -0
  27. data/data/plates/_decode/mx-entity-series.yml +380 -0
  28. data/data/plates/_decode/my-index-marks.yml +271 -0
  29. data/data/plates/_decode/no-counties-1913.yml +148 -0
  30. data/data/plates/_decode/no-districts.yml +901 -0
  31. data/data/plates/_decode/pl-powiats.yml +567 -0
  32. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  33. data/data/plates/_decode/ro-counties.yml +213 -0
  34. data/data/plates/_decode/se-diplomatic.yml +220 -0
  35. data/data/plates/_decode/si-regions.yml +123 -0
  36. data/data/plates/_decode/sk-districts.yml +314 -0
  37. data/data/plates/_decode/th-registration-elements.yml +208 -0
  38. data/data/plates/_decode/ua-regions.yml +393 -0
  39. data/data/plates/_decode/za-licence-marks.yml +215 -0
  40. data/data/plates/_meta/classes.yml +1 -0
  41. data/data/plates/_meta/separators.yml +102 -0
  42. data/data/plates/ad.yml +961 -0
  43. data/data/plates/ar.yml +762 -0
  44. data/data/plates/at.yml +1424 -0
  45. data/data/plates/au-act.yml +472 -0
  46. data/data/plates/au-nsw.yml +282 -0
  47. data/data/plates/au-nt.yml +431 -0
  48. data/data/plates/au-qld.yml +272 -0
  49. data/data/plates/au-sa.yml +248 -0
  50. data/data/plates/au-tas.yml +302 -0
  51. data/data/plates/au-vic.yml +215 -0
  52. data/data/plates/au-wa.yml +309 -0
  53. data/data/plates/be.yml +1840 -0
  54. data/data/plates/br.yml +1152 -0
  55. data/data/plates/ca-ab.yml +430 -0
  56. data/data/plates/ca-bc.yml +697 -0
  57. data/data/plates/ca-mb.yml +499 -0
  58. data/data/plates/ca-nb.yml +537 -0
  59. data/data/plates/ca-nl.yml +743 -0
  60. data/data/plates/ca-ns.yml +808 -0
  61. data/data/plates/ca-nt.yml +610 -0
  62. data/data/plates/ca-nu.yml +280 -0
  63. data/data/plates/ca-on.yml +881 -0
  64. data/data/plates/ca-pe.yml +592 -0
  65. data/data/plates/ca-qc.yml +1036 -0
  66. data/data/plates/ca-sk.yml +256 -0
  67. data/data/plates/ca-yt.yml +656 -0
  68. data/data/plates/ch.yml +1273 -0
  69. data/data/plates/cn.yml +1431 -0
  70. data/data/plates/cy.yml +688 -0
  71. data/data/plates/cz.yml +1179 -0
  72. data/data/plates/de.yml +553 -118
  73. data/data/plates/dk.yml +1647 -0
  74. data/data/plates/ee.yml +1275 -0
  75. data/data/plates/es.yml +228 -32
  76. data/data/plates/fi.yml +1271 -0
  77. data/data/plates/fr.yml +1265 -0
  78. data/data/plates/gb.yml +1188 -0
  79. data/data/plates/gr.yml +721 -0
  80. data/data/plates/hr.yml +860 -0
  81. data/data/plates/hu.yml +959 -0
  82. data/data/plates/ie.yml +775 -0
  83. data/data/plates/in.yml +1172 -0
  84. data/data/plates/is.yml +667 -0
  85. data/data/plates/it.yml +1317 -0
  86. data/data/plates/jp.yml +3650 -0
  87. data/data/plates/kr.yml +1375 -0
  88. data/data/plates/li.yml +1010 -0
  89. data/data/plates/lt.yml +879 -0
  90. data/data/plates/lu.yml +842 -0
  91. data/data/plates/lv.yml +924 -0
  92. data/data/plates/mc.yml +1024 -0
  93. data/data/plates/mt.yml +854 -0
  94. data/data/plates/mx.yml +1372 -0
  95. data/data/plates/my.yml +685 -0
  96. data/data/plates/nl.yml +44 -0
  97. data/data/plates/no.yml +1018 -0
  98. data/data/plates/nz.yml +1699 -0
  99. data/data/plates/pl.yml +1296 -0
  100. data/data/plates/pt.yml +847 -0
  101. data/data/plates/ro.yml +785 -0
  102. data/data/plates/se.yml +1091 -0
  103. data/data/plates/si.yml +1105 -0
  104. data/data/plates/sk.yml +1439 -0
  105. data/data/plates/sm.yml +1119 -0
  106. data/data/plates/th.yml +1150 -0
  107. data/data/plates/ua.yml +1672 -0
  108. data/data/plates/us-ak.yml +763 -0
  109. data/data/plates/us-al.yml +457 -0
  110. data/data/plates/us-ar.yml +427 -0
  111. data/data/plates/us-as.yml +454 -0
  112. data/data/plates/us-az.yml +430 -0
  113. data/data/plates/us-ca.yml +892 -0
  114. data/data/plates/us-co.yml +452 -0
  115. data/data/plates/us-ct.yml +427 -0
  116. data/data/plates/us-dc.yml +614 -0
  117. data/data/plates/us-de.yml +551 -0
  118. data/data/plates/us-fl.yml +319 -96
  119. data/data/plates/us-ga.yml +644 -0
  120. data/data/plates/us-gu.yml +658 -0
  121. data/data/plates/us-hi.yml +585 -0
  122. data/data/plates/us-ia.yml +438 -0
  123. data/data/plates/us-id.yml +531 -0
  124. data/data/plates/us-il.yml +516 -0
  125. data/data/plates/us-in.yml +324 -0
  126. data/data/plates/us-ks.yml +351 -0
  127. data/data/plates/us-ky.yml +770 -0
  128. data/data/plates/us-la.yml +568 -0
  129. data/data/plates/us-ma.yml +379 -0
  130. data/data/plates/us-md.yml +536 -0
  131. data/data/plates/us-me.yml +445 -0
  132. data/data/plates/us-mi.yml +408 -0
  133. data/data/plates/us-mn.yml +411 -0
  134. data/data/plates/us-mo.yml +356 -0
  135. data/data/plates/us-mp.yml +402 -0
  136. data/data/plates/us-ms.yml +432 -0
  137. data/data/plates/us-mt.yml +619 -0
  138. data/data/plates/us-nc.yml +602 -0
  139. data/data/plates/us-nd.yml +419 -0
  140. data/data/plates/us-ne.yml +483 -0
  141. data/data/plates/us-nh.yml +394 -0
  142. data/data/plates/us-nj.yml +547 -0
  143. data/data/plates/us-nm.yml +574 -0
  144. data/data/plates/us-nv.yml +655 -0
  145. data/data/plates/us-ny.yml +592 -0
  146. data/data/plates/us-oh.yml +404 -0
  147. data/data/plates/us-ok.yml +513 -0
  148. data/data/plates/us-or.yml +392 -0
  149. data/data/plates/us-pa.yml +506 -0
  150. data/data/plates/us-pr.yml +507 -0
  151. data/data/plates/us-ri.yml +445 -0
  152. data/data/plates/us-sc.yml +605 -0
  153. data/data/plates/us-sd.yml +428 -0
  154. data/data/plates/us-tn.yml +471 -0
  155. data/data/plates/us-tx.yml +535 -0
  156. data/data/plates/us-ut.yml +384 -0
  157. data/data/plates/us-va.yml +567 -0
  158. data/data/plates/us-vi.yml +489 -0
  159. data/data/plates/us-vt.yml +458 -0
  160. data/data/plates/us-wa.yml +484 -0
  161. data/data/plates/us-wi.yml +509 -0
  162. data/data/plates/us-wv.yml +446 -0
  163. data/data/plates/us-wy.yml +523 -0
  164. data/data/plates/va.yml +604 -0
  165. data/data/plates/za.yml +1141 -0
  166. data/data/vehicles.json +160653 -105090
  167. data/lib/vehicles/configuration.rb +17 -3
  168. data/lib/vehicles/dataset.rb +73 -18
  169. data/lib/vehicles/fuzzy.rb +115 -0
  170. data/lib/vehicles/http.rb +48 -0
  171. data/lib/vehicles/make.rb +36 -6
  172. data/lib/vehicles/mcp_server.rb +5 -5
  173. data/lib/vehicles/model.rb +21 -2
  174. data/lib/vehicles/plates/series.rb +172 -18
  175. data/lib/vehicles/plates/template_fill.rb +188 -0
  176. data/lib/vehicles/plates/templates.rb +162 -0
  177. data/lib/vehicles/plates.rb +12 -0
  178. data/lib/vehicles/providers/hosted_provider.rb +28 -55
  179. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  180. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  181. data/lib/vehicles/version.rb +1 -1
  182. data/lib/vehicles.rb +32 -16
  183. data/rakelib/data_refresh.rake +109 -0
  184. data/rakelib/plates_refresh.rake +29 -0
  185. data/sig/vehicles.rbs +18 -0
  186. metadata +164 -2
@@ -0,0 +1,667 @@
1
+ # plates/is.yml — Iceland (PRD-PLATES gate L1, wave 2).
2
+ #
3
+ # THE 1989 CUTOVER IS THE WHOLE STORY, AND IT IS DATED — just not by the
4
+ # instrument that made it. Read this before trusting any period below.
5
+ #
6
+ # On 1 January 1989 Iceland replaced a district-letter system with the
7
+ # FASTANÚMER: a number chosen at random, fixed to the vehicle for its life.
8
+ # What that abolished is the point. Under the old system the letter recorded
9
+ # the district where the OWNER was domiciled, so selling a car across district
10
+ # lines RE-PLATED it, and an owner could keep his number and move it to a new
11
+ # car. The 1989 reform severed the number from the owner and welded it to the
12
+ # vehicle — the same reform Norway made in 1971, eighteen years earlier.
13
+ #
14
+ # THE INSTRUMENT THAT DID IT HAS NO RETRIEVABLE TEXT. Reglugerð nr. 523/1988 um
15
+ # skráningu ökutækja, set 15 December 1988, is on reglugerd.is as a stub: no
16
+ # body ("Texti ekki kominn"), no sett/birt/gildistaka date fields at all. Its
17
+ # commencement clause is therefore UNVERIFIED and is not asserted anywhere in
18
+ # this file.
19
+ #
20
+ # THE DATE IS NEVERTHELESS PRIMARY, from two downstream instruments that make
21
+ # 1 January 1989 legally operative and are both readable:
22
+ # * reglugerð 78/1997, 34. gr. "Notkun eldri skráningarmerkja": "Ökutæki sem
23
+ # skráð voru fyrir 1. janúar 1989 mega áfram bera skráningarmerki af eldri
24
+ # gerð, enda séu merkin heil og vel læsileg" — with sunsets of 31 December
25
+ # 1997 for bifhjól and eftirvagnar and 31 December 1998 for the rest.
26
+ # * reglugerð 751/2003, VII. kafli, which splits its transitional articles at
27
+ # exactly that date: 28. gr. for vehicles registered 1 January 1989 to
28
+ # 31 December 2003, 29. gr. for those registered BEFORE 1 January 1989.
29
+ # So the boundary is `transitional-provision` — carried by the saving clauses of
30
+ # LATER instruments — rather than `instrument-in-force`, and the distinction is
31
+ # deliberate: nothing here rests on 523/1988's own unread commencement clause.
32
+ #
33
+ # A DATE CORRECTED AWAY FROM FOLKLORE. The move from two letters + three digits
34
+ # to THREE letters + two digits is dated "2007" almost everywhere, on the story
35
+ # that the combinations ran out that year. The instrument says otherwise:
36
+ # reglugerð nr. 691/2006, 2. gr. — "Við 3. mgr. 4. gr. bætist: eða þrír
37
+ # bókstafir og tveir tölustafir" — was set on 25 JULY 2006 and "öðlast þegar
38
+ # gildi", immediately, with no transitional deferral. The only 2007 amendment
39
+ # to 751/2003 is reglugerð 1231/2007, which is about the age-65 rule for
40
+ # personalised plates and has nothing to do with the format. period.start on
41
+ # `is-standard-2006` is 2006 accordingly.
42
+ #
43
+ # A METHODOLOGICAL WARNING THAT AFFECTS EVERY CLAIM BELOW. The body text of
44
+ # reglugerð 751/2003 served by reglugerd.is is NOT a reliable consolidation: it
45
+ # omits reglugerð 691/2006's addition to 4. gr. (the three-letter shape) and
46
+ # reglugerð 1515/2020's new plate type E. Each amending reglugerð has to be
47
+ # read separately, and this file cites them individually where they bite. Of
48
+ # the thirteen amendments listed (299/2004, 506/2005, 656/2005, 158/2006,
49
+ # 307/2006, 691/2006, 756/2006, 1231/2007, 669/2008, 408/2009, 169/2016,
50
+ # 1086/2018, 1515/2020) ten were read individually in this pass; 299/2004,
51
+ # 506/2005 and 656/2005 were NOT — a recorded gap.
52
+ #
53
+ # THE ENABLING CHAIN. Reglugerð 751/2003 was made under umferðarlög nr. 50/1987
54
+ # (dated 30 March 1987, in force 1 March 1988), whose 64. gr. empowers the
55
+ # minister to make rules on, among other things, c) skráningarmerki. That act
56
+ # was repealed by umferðarlög nr. 77/2019 with effect from 1 January 2020, and
57
+ # the current statutory hooks are 72. gr. (skráning) and 73. gr. (einkamerki).
58
+ # AN EVIDENCED NEGATIVE WORTH RECORDING: the word "fastanúmer" appears NOWHERE
59
+ # in umferðarlög 50/1987. The concept that defines the modern Icelandic plate
60
+ # is purely regulatory and has never been statutory.
61
+ #
62
+ # COLOUR POLICY: reglugerð 751/2003 names colours only — "hvítur með endurskini",
63
+ # "blá", "rauð", "grænn", "blár" — and gives no RAL, CIE or RGB value for any of
64
+ # them. Every hex below is therefore `hex_basis: observed` and INDICATIVE, the
65
+ # same posture se.yml and de.yml record for Sweden and Germany.
66
+ #
67
+ # NO EU BAND. Iceland is in the EEA but not the EU, and its plates carry no
68
+ # Reg. 2411/98 blue band. 18. gr. prescribes instead a þjóðarmerki: a 95 x 50 mm
69
+ # field bearing the Icelandic flag at 30 x 42 mm and the letters IS in BLACK.
70
+ # It commenced on 1 February 2004 under the regulation's own gildistaka clause.
71
+ jurisdiction: "is"
72
+ authority:
73
+ name: Samgöngustofa (Icelandic Transport Authority)
74
+ url: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003"
75
+ binding: vehicle
76
+
77
+ instrument:
78
+ citation: "Reglugerð nr. 751/2003 um skráningu ökutækja"
79
+ set: "2003-10-06"
80
+ in_force: "2003-10-06"
81
+ deferred_provisions: "18. gr., 2. mgr. 28. gr. and 3. mgr. 34. gr., so far as they concern the þjóðarmerki, from 2004-02-01 (37. gr.)"
82
+ replaces: "Reglugerð nr. 78/1997 um skráningu ökutækja (in force 1997-02-04), which replaced reglugerð nr. 523/1988 (set 1988-12-15)"
83
+ enabling: "Umferðarlög nr. 50/1987, 60., 64. gr. a og 67. gr.; the current enabling act is umferðarlög nr. 77/2019 (in force 2020-01-01), 72.-73. gr."
84
+ source: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 37. gr. gildistaka: 'Reglugerð þessi tekur þegar gildi, þó ekki 18. gr., 2. mgr. 28. gr., og 3. mgr. 34. gr., að því er varðar þjóðarmerki ... sem tekur gildi 1. febrúar 2004.' Accessed 2026-08-02"
85
+
86
+ common:
87
+ fastanumer:
88
+ text: >-
89
+ 4. gr., 3. mgr., verbatim as originally enacted: "Ökutækið fær í
90
+ ökutækjaskrá fastanúmer, valið af handahófi, sem í eru tveir bókstafir og
91
+ þrír tölustafir." Reglugerð 691/2006, 2. gr. appended "eða þrír bókstafir
92
+ og tveir tölustafir" and added "Síðasti stafur í fastanúmeri skal vera
93
+ tölustafir" — the last character of a fastanúmer must be a digit, which
94
+ both shapes satisfy inherently and which is what forbids a third shape.
95
+ randomness: >-
96
+ "VALIÐ AF HANDAHÓFI" — chosen AT RANDOM, and this is the single most
97
+ consequential fact about Icelandic plates for a parse API. There is no
98
+ sequence, so there is no age inference, no regional inference and no
99
+ block structure. The only signal an Icelandic fastanúmer carries is its
100
+ SHAPE: a three-letter mark cannot predate 25 July 2006.
101
+ source: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 4. gr. 3. mgr. Accessed 2026-08-02"
102
+ charset:
103
+ excluded_letters: []
104
+ basis: evidenced-negative
105
+ note: >-
106
+ THERE IS NO LETTER-EXCLUSION RULE. A direct reading of reglugerð 751/2003
107
+ found no provision excluding the Icelandic letters (Á, Ð, É, Í, Ó, Ú, Ý,
108
+ Þ, Æ, Ö) or the lookalikes I and O from a fastanúmer, and none of the ten
109
+ amendments read adds one. Recorded as an evidenced negative rather than as
110
+ an absence of research — but note the practical consequence: because no
111
+ rule bars them and no rule admits them either, this file makes NO claim
112
+ about whether Icelandic letters occur in fastanúmer, and every regex below
113
+ is written over A-Z per _meta/separators.yml. Einkamerki are different and
114
+ expressly DO admit Icelandic letters — see is-personal-2003.
115
+ source: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # whole-text reading. Accessed 2026-08-02"
116
+ plate_types:
117
+ text: >-
118
+ 18. gr. "Gerð skráningarmerkja", four types as enacted plus one added in
119
+ 2020: A 520 x 110 mm (character height 70, stroke 11); B 280 x 200 mm
120
+ (70/11); C 240 x 130 mm (49/7); D 305 x 155 mm (61/9); E 168 x 133 mm
121
+ (added by reglugerð 1515/2020). Material: "Skráningarmerki skal vera úr
122
+ a.m.k. 1,0 mm þykku áli" — at least 1.0 mm aluminium.
123
+ two_row: >-
124
+ Reglugerð 669/2008 (20 June 2008) added 18. gr. 4. mgr.: "Skráningarmerki
125
+ af gerð B, C og D skulu hafa áletrun í tveim röðum", with "tvo bókstafi og
126
+ bandstrik í þeirri efri" — two letters AND THE BANDSTRIK on the upper row,
127
+ the digits below. Note what that settles: the bandstrik is a printed
128
+ element that travels with the LETTER group, not a mere gap.
129
+ sources:
130
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 18. gr.: types A-D, dimensions, character heights and stroke widths, aluminium thickness, and the þjóðarmerki field. Accessed 2026-08-02"
131
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/669-2008 # 18. gr. 4. mgr., the two-row rule for types B, C and D. Accessed 2026-08-02"
132
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/1515-2020 # 14 December 2020: adds gerð E (168 x 133 mm) and orange plates for létt bifhjól í flokki I. Accessed 2026-08-02"
133
+ national_mark:
134
+ side: left
135
+ content: "icelandic-flag-over-IS"
136
+ text: >-
137
+ 18. gr.: a field 95 x 50 mm carrying "Íslenski fáninn, 30 x 42 mm" and
138
+ "stafirnir IS, svartir að lit". NOT an EU band — Iceland is in the EEA but
139
+ not the EU, so there is no Reg. 2411/98 blue field and no ring of stars.
140
+ in_force: "2004-02-01"
141
+ in_force_basis: >-
142
+ From the regulation's own gildistaka clause (37. gr.), which defers
143
+ 18. gr. and the þjóðarmerki provisions of 28. gr. and 34. gr. to
144
+ 1 February 2004 while the rest of the regulation took effect at once. An
145
+ instrument dating its own provision — the strongest shape of evidence in
146
+ this file.
147
+ source: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 18. gr. and 37. gr. Accessed 2026-08-02"
148
+ separator:
149
+ text: >-
150
+ Icelandic plates print a BANDSTRIK between the letter group and the digit
151
+ group, and it is a coloured element in its own right: 19. gr. colours
152
+ "rönd á brúnum, stafir og bandstrik" together in every colour rule, and
153
+ the two-row rule of 669/2008 places the bandstrik on the letter row. It is
154
+ therefore written as the emitted HYPHEN in every `pattern` below, per
155
+ PRD-PLATES §2.6, and the regexes accept a hyphen or a space at that
156
+ position under the §2.8 separator-only class rule.
157
+ source: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 18.-19. gr. Accessed 2026-08-02"
158
+
159
+ series:
160
+
161
+ # =========================================================================
162
+ # THE CURRENT SERIES — two shapes, one system, and one of them is dated.
163
+ # =========================================================================
164
+ - id: is-standard-1989
165
+ class: standard
166
+ categories: [car, van, truck, bus]
167
+ period: { start: 1989 }
168
+ period_evidence: transitional-provision
169
+ matching: strict
170
+ format:
171
+ pattern: "LL-999"
172
+ regex: '\A[A-Z]{2}[- ]?\d{3}\z'
173
+ charset:
174
+ notes: "no letter exclusion is prescribed — see common.charset. No regex_strict is offered, because there is no sourced alphabet to narrow to."
175
+ progression: >-
176
+ NONE. The fastanúmer is "valið af handahófi" (4. gr.) — chosen at
177
+ random, not issued in sequence — so no age, region or class can be
178
+ inferred from the characters. See common.fastanumer.
179
+ separator_note: "the bandstrik; see common.separator"
180
+ design:
181
+ plate: { w: 520, h: 110, unit: mm, note: "gerð A; character height 70 mm, stroke 11 mm" }
182
+ plate_variants:
183
+ - { w: 280, h: 200, unit: mm, note: "gerð B — two rows, letters and bandstrik above" }
184
+ - { w: 240, h: 130, unit: mm, note: "gerð C — two rows; characters 49 mm, stroke 7 mm" }
185
+ - { w: 305, h: 155, unit: mm, note: "gerð D — two rows; characters 61 mm, stroke 9 mm" }
186
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec, spec_note: "19. gr.: 'Grunnur skráningarmerkis skal vera hvítur með endurskini'" }
187
+ foreground: "#003399"
188
+ foreground_note: "19. gr.: 'Rönd á brúnum, stafir og bandstrik skulu vera blá' — the border stripe, the characters AND the bandstrik are all blue. Colour named, not numbered; hex is observed."
189
+ border: { color: "#003399", hex_basis: observed }
190
+ band: { side: left, content: "icelandic-flag+IS", note: "the þjóðarmerki, from 1 February 2004 — NOT an EU band; see common.national_mark" }
191
+ emblem: { present: false }
192
+ rear_differs: false
193
+ material: "at least 1.0 mm aluminium (18. gr.)"
194
+ inspection_sticker: "a year sticker is usually placed in the middle, after the letter group"
195
+ region_encoding: none
196
+ region_encoding_note: >-
197
+ NONE, and by design: severing the number from the owner's district was the
198
+ entire point of the 1989 reform. A modern Icelandic plate encodes no
199
+ geography whatsoever. For the pre-1989 system that did, see
200
+ is-district-1938 and is-districts-1938.yml.
201
+ sources:
202
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 4. gr. 3. mgr. (two letters + three digits, chosen at random); 18. gr. (types, dimensions, aluminium, þjóðarmerki); 19. gr. (white reflective ground, blue border/characters/bandstrik); 37. gr. (gildistaka). Accessed 2026-08-02"
203
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/78-1997 # 34. gr.: 'Ökutæki sem skráð voru fyrir 1. janúar 1989 mega áfram bera skráningarmerki af eldri gerð' — the boundary that dates this series, plus the 1997/1998 sunsets on the old plates. Accessed 2026-08-02"
204
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/523-1988 # the 1989 cutover instrument, set 15 December 1988 — CITED FOR THE GAP: body text absent ('Texti ekki kominn'), no date fields published, commencement clause unverified. Accessed 2026-08-02"
205
+ - "https://www.althingi.is/lagas/149c/1987050.html # umferðarlög nr. 50/1987, 64. gr.: 'Ráðherra setur reglur um: ... c. skráningarmerki'; the act took effect 1 March 1988. Accessed 2026-08-02"
206
+ notes: >-
207
+ THE FIRST FASTANÚMER SHAPE, AB-123. period.start 1989 is the 1 January
208
+ 1989 cutover, `statutory-date` because it is stated in reglugerð 78/1997
209
+ 34. gr. and reglugerð 751/2003 VII. kafli rather than in the instrument
210
+ that made it — reglugerð 523/1988's text is not retrievable and its
211
+ commencement clause is therefore not asserted here. period.end is OPEN
212
+ and that is a deliberate reading: 4. gr. still admits this shape, and
213
+ reglugerð 691/2006 ADDED the three-letter alternative without withdrawing
214
+ it. In practice the two-letter combinations are exhausted and new
215
+ registrations receive the three-letter shape, so a consumer wanting
216
+ "currently issued" should read is-standard-2006 — but the two-letter shape
217
+ is not legally closed, and this file does not invent an end date for it.
218
+
219
+ - id: is-standard-2006
220
+ class: standard
221
+ categories: [car, van, truck, bus]
222
+ period: { start: 2006 }
223
+ period_evidence: instrument-in-force
224
+ matching: strict
225
+ format:
226
+ pattern: "LLL-99"
227
+ regex: '\A[A-Z]{3}[- ]?\d{2}\z'
228
+ charset:
229
+ notes: >-
230
+ Three letters, two digits. Reglugerð 691/2006 also added "Síðasti
231
+ stafur í fastanúmeri skal vera tölustafir" — the last character must
232
+ be a digit — which both shapes satisfy and which closes the door on a
233
+ letter-final Icelandic mark. No letter exclusion is prescribed.
234
+ progression: "none — chosen at random, as is-standard-1989"
235
+ separator_note: "the bandstrik; see common.separator"
236
+ design:
237
+ plate: { w: 520, h: 110, unit: mm, note: "gerð A" }
238
+ plate_variants:
239
+ - { w: 280, h: 200, unit: mm, note: "gerð B" }
240
+ - { w: 240, h: 130, unit: mm, note: "gerð C" }
241
+ - { w: 305, h: 155, unit: mm, note: "gerð D" }
242
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
243
+ foreground: "#003399"
244
+ border: { color: "#003399", hex_basis: observed }
245
+ band: { side: left, content: "icelandic-flag+IS" }
246
+ emblem: { present: false }
247
+ rear_differs: false
248
+ note: "IDENTICAL in every respect to is-standard-1989 except the character arrangement — same colours, same plate types, same national mark."
249
+ region_encoding: none
250
+ sources:
251
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/691-2006 # reglugerð nr. 691/2006, set 25 July 2006, 'öðlast þegar gildi'; 2. gr.: 'Við 3. mgr. 4. gr. bætist: eða þrír bókstafir og tveir tölustafir', and 'Síðasti stafur í fastanúmeri skal vera tölustafir'. THE DATING INSTRUMENT. Accessed 2026-08-02"
252
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 18.-19. gr. for the design, which this shape shares unchanged. Accessed 2026-08-02"
253
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Iceland # secondary-wikipedia (rev. 2026-06-08): the widely repeated '2007' account — 'In 2007 the system ran out of combinations and the first digit was changed to a letter' — cited as the FOLKLORE this entry corrects, not as evidence for it. Accessed 2026-08-02"
254
+ notes: >-
255
+ THE THREE-LETTER SHAPE, ABC-12, AND THE FOLKLORE CORRECTION IN THIS FILE.
256
+ Secondary sources date this to 2007 essentially unanimously. The
257
+ instrument is reglugerð nr. 691/2006, set 25 JULY 2006 and in force
258
+ immediately ("öðlast þegar gildi") with no transitional deferral — so
259
+ period.start is 2006. The 2007 story is not baseless, merely mistargeted:
260
+ the only 2007 amendment to 751/2003 is reglugerð 1231/2007, which
261
+ concerns the age-65 restriction on renewing a personalised plate. It is
262
+ possible that first ISSUANCE of three-letter marks lagged into 2007, and
263
+ 691/2006 contains no first-issue wording either way; but a legal date is
264
+ pinned and an issuance date is not, so the pinned one is recorded and this
265
+ note carries the caveat. This shape is the ONLY era signal an Icelandic
266
+ plate carries: three letters means on or after 25 July 2006.
267
+
268
+ # =========================================================================
269
+ # THE PRE-1989 DISTRICT SYSTEM — Iceland's only decodable era.
270
+ # =========================================================================
271
+ - id: is-district-1938
272
+ class: standard
273
+ categories: [car, van, truck, bus, motorcycle, tractor]
274
+ period: { start: 1938, end: 1989 }
275
+ period_evidence: statutory-date-end-secondary-start
276
+ matching: recall-only
277
+ format:
278
+ pattern: "L-99999"
279
+ regex: '\A[A-Z]{1,3}[- ]?\d{1,5}\z'
280
+ pattern_note: >-
281
+ RECALL-ONLY, FOR A REASON THAT IS NOT LAZINESS. Four of the district
282
+ letters actually issued — Í, Ó, Þ and Ö, plus the variant Ø — lie
283
+ OUTSIDE this dataset's serial alphabet (_meta/separators.yml admits only
284
+ A-Z and 0-9), so no regex here can match a plate from Ísafjörður,
285
+ Ólafsfjörður, Þingeyjarsýsla or Keflavík at all. The regex is
286
+ deliberately wide over the letters it CAN spell, and a match is a shape
287
+ hit only. Digit width is likewise unsourced: it grew with motorisation
288
+ and no instrument fixing it was retrieved, so 1 to 5 is an observed
289
+ envelope, not a grammar. The two-letter codes JO, VL and the
290
+ three-letter VLE are why the letter group runs to three.
291
+ progression: >-
292
+ Sequential within each district, but the number followed the OWNER, not
293
+ the vehicle: a sale across district lines produced a NEW number, and an
294
+ owner could carry his number to a new car. That is exactly what 1989
295
+ abolished.
296
+ design:
297
+ plate: { w: 520, h: 110, unit: mm, note: "REPRESENTATIVE ONLY — no dimension source for this era was retrieved" }
298
+ background: { color: "#000000", finish: painted, hex_basis: observed }
299
+ foreground: "#FFFFFF"
300
+ band: { side: none }
301
+ emblem: { present: false }
302
+ design_history: >-
303
+ Two materials, one appearance. From 1938 the plates were ENAMELLED
304
+ ("emeleruð númer"), black with white characters. They wore badly, and
305
+ from 1950 struck plates ("steðjanúmer") replaced them — also black with
306
+ white characters. The white-on-blue livery of the modern plate arrives
307
+ only with the 1989 cutover. All of this is secondary-wikipedia.
308
+ district_sticker: >-
309
+ After the 1989 change, plates were permitted to carry a sticker showing
310
+ the DISTRICT'S emblem in the position the ÍS national mark later
311
+ occupied — a vestige of the district system surviving its abolition
312
+ (secondary-wikipedia).
313
+ region_encoding: is-districts-1938.yml
314
+ region_encoding_note: >-
315
+ The letter decodes the district of the OWNER'S DOMICILE at the time of
316
+ issue — not the vehicle's home, not where it was used, and not anything
317
+ after a sale. The decode file is `secondary-wikipedia` throughout and
318
+ names the primary that could not be reached.
319
+ sources:
320
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/78-1997 # 34. gr.: vehicles registered before 1 January 1989 may keep old-type plates, with sunsets of 31 December 1997 (bifhjól, eftirvagnar) and 31 December 1998 (others). PRIMARY, and the source of this series' end date. Accessed 2026-08-02"
321
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # VII. kafli 'Skráningarmerki samkvæmt eldri reglugerðum - notkun þeirra': 29. gr. governs vehicles registered before 1 January 1989, 30.-31. gr. vintage vehicles. PRIMARY. Accessed 2026-08-02"
322
+ - "https://is.wikipedia.org/wiki/N%C3%BAmeraplata # secondary-wikipedia: the 1938 single-letter reform and enamel plates; the 1950 change to struck plates; both black with white characters; the owner-domicile rule and re-plating on sale between districts; and the 1 January 1989 change to white with blue characters. Accessed 2026-08-02"
323
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Iceland # secondary-wikipedia (rev. 2026-06-08): the same index; 'From 1 January 1989, all further use of those plates was forbidden (except for vehicles that already had them on)'; the post-1989 district-emblem sticker. Accessed 2026-08-02"
324
+ notes: >-
325
+ ICELAND'S DECODABLE ERA. period.end 1989 is primary and precise; the 1938
326
+ START is secondary-wikipedia and marks the year each district was reduced
327
+ to a SINGLE letter with enamelled plates — Icelandic vehicles carried
328
+ district ABBREVIATIONS before that, from 1914, beginning with
329
+ Bifreiðafélag Reykjavíkur's "Br1", and this series does not cover them.
330
+ No pre-1988 Icelandic vehicle-registration regulation is held by
331
+ reglugerd.is, so neither the 1938 reform nor the letter index has a
332
+ primary here; the decode file names the best unclosed lead (a pre-1988
333
+ regulation cited by Hagtíðindi 1989 as "nr. 40"). NOTE THE SUNSET: the old
334
+ plates were not merely superseded, they were withdrawn — 78/1997 34. gr.
335
+ required them off bifhjól and eftirvagnar by 31 December 1997 and off
336
+ everything else by 31 December 1998, so a pre-1989 plate on a road-going
337
+ Icelandic vehicle today is a vintage-scheme plate under 751/2003
338
+ 30.-31. gr., not a survivor.
339
+
340
+ # =========================================================================
341
+ # COLOUR-CODED USE CLASSES — all from 19.-22. gr., all sharing the fastanúmer.
342
+ # =========================================================================
343
+ - id: is-vat-free-2003
344
+ class: standard
345
+ categories: [van, truck]
346
+ period: { start: 2003 }
347
+ period_evidence: instrument-in-force
348
+ matching: strict
349
+ format:
350
+ pattern: "LL-999"
351
+ regex: '\A(?:[A-Z]{2}[- ]?\d{3}|[A-Z]{3}[- ]?\d{2})\z'
352
+ pattern_note: "the pattern shows the two-letter shape; the regex is the UNION of both fastanúmer shapes, because the plate carries whichever mark the vehicle has"
353
+ design:
354
+ plate: { w: 520, h: 110, unit: mm }
355
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
356
+ foreground: "#CC0000"
357
+ foreground_note: "19. gr. 2. mgr. a: 'brúnir, stafir, bandstrik og tígullaga flöturinn vera rauð' — border, characters, bandstrik AND a DIAMOND-SHAPED field, all red"
358
+ border: { color: "#CC0000", hex_basis: observed }
359
+ band: { side: left, content: "icelandic-flag+IS" }
360
+ extra_field: { shape: diamond, color: "#CC0000", content: "the tígullaga flötur — a red diamond marking the VAT status" }
361
+ emblem: { present: false }
362
+ region_encoding: none
363
+ sources:
364
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 19. gr. 2. mgr. a: red border, characters, bandstrik and diamond for VAT-free sendibifreiðar. Accessed 2026-08-02"
365
+ notes: >-
366
+ THE RED VAT-FREE PLATE, for goods vehicles on which value-added tax was
367
+ not paid and which may not be used privately. The DIAMOND is the
368
+ distinguishing device and is prescribed in terms — Iceland is unusual in
369
+ colouring a named geometric field rather than the ground. Shares the
370
+ ordinary fastanúmer, so the plate string alone cannot reveal the class.
371
+ period.start 2003 is the parent regulation's entry into force; the regime
372
+ is older (reglugerð 78/1997 already coloured tax-exempt vehicles red) but
373
+ no earlier dating instrument was pinned. CLASS CAVEAT: `standard`, because
374
+ _meta/classes.yml has no VAT/commercial class.
375
+
376
+ - id: is-oil-2006
377
+ class: standard
378
+ categories: [truck, machine, bus]
379
+ period: { start: 2006 }
380
+ period_evidence: instrument-in-force
381
+ matching: strict
382
+ format:
383
+ pattern: "LL-999"
384
+ regex: '\A(?:[A-Z]{2}[- ]?\d{3}|[A-Z]{3}[- ]?\d{2})\z'
385
+ pattern_note: "union of both fastanúmer shapes"
386
+ design:
387
+ plate: { w: 520, h: 110, unit: mm }
388
+ background: { color: "#C8A415", finish: retroreflective, hex_basis: observed, spec_note: "a dark-yellow ground; the regulation names the colour only" }
389
+ foreground: "#000000"
390
+ border: { color: "#000000", hex_basis: observed }
391
+ band: { side: left, content: "icelandic-flag+IS" }
392
+ emblem: { present: false }
393
+ region_encoding: none
394
+ sources:
395
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/307-2006 # reglugerð nr. 307/2006, 15 March 2006: adds 19. gr. 2. mgr. c, the dark-yellow plate for special-use vehicles exempt from the oil levy. THE DATING INSTRUMENT. Accessed 2026-08-02"
396
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 19. gr. as amended. Accessed 2026-08-02"
397
+ notes: >-
398
+ THE OIL PLATE — dark yellow with black characters, for vehicles running on
399
+ tax-exempt diesel and restricted to stationary or special use. Cleanly
400
+ instrument-dated to reglugerð 307/2006 of 15 March 2006, which is why it
401
+ is its own series rather than a colour note on is-vat-free-2003: it enters
402
+ the regulation on a different day. CLASS CAVEAT: `standard`, as above.
403
+
404
+ - id: is-offroad-2003
405
+ class: standard
406
+ categories: [atv, snowmobile, machine]
407
+ period: { start: 2003 }
408
+ period_evidence: instrument-in-force
409
+ matching: strict
410
+ format:
411
+ pattern: "LL-999"
412
+ regex: '\A(?:[A-Z]{2}[- ]?\d{3}|[A-Z]{3}[- ]?\d{2})\z'
413
+ pattern_note: "union of both fastanúmer shapes"
414
+ design:
415
+ plate: { w: 240, h: 130, unit: mm, note: "gerð C is the usual form on torfærutæki" }
416
+ background: { color: "#CC0000", finish: retroreflective, hex_basis: observed, spec_note: "22. gr.: 'grunnur skráningarmerkisins skal vera rauður og rönd á brúnum, stafir og bandstrik hvít'" }
417
+ foreground: "#FFFFFF"
418
+ border: { color: "#FFFFFF", hex_basis: observed }
419
+ band: { side: none }
420
+ emblem: { present: false }
421
+ inspection_sticker: "none"
422
+ region_encoding: none
423
+ sources:
424
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 22. gr.: red ground with white border, characters and bandstrik for torfærutæki. Accessed 2026-08-02"
425
+ notes: >-
426
+ THE OFF-ROAD PLATE — the INVERSE of the trade plate below (red ground with
427
+ white characters, against red ground with black characters), and the two
428
+ are easily confused. For tracked and off-highway vehicles not approved for
429
+ ordinary road use. CLASS CAVEAT: `standard`, because _meta/classes.yml has
430
+ no off-road class — the same course se.yml takes for the Swedish
431
+ terrängskoter plate and no.yml for the Norwegian anleggsskilt.
432
+
433
+ - id: is-moped-2003
434
+ class: moped
435
+ categories: [moped, quadricycle]
436
+ period: { start: 2003 }
437
+ period_evidence: instrument-in-force
438
+ matching: strict
439
+ format:
440
+ pattern: "LL-999"
441
+ regex: '\A(?:[A-Z]{2}[- ]?\d{3}|[A-Z]{3}[- ]?\d{2})\z'
442
+ pattern_note: "union of both fastanúmer shapes"
443
+ design:
444
+ plate: { w: 168, h: 133, unit: mm, note: "gerð E, added by reglugerð 1515/2020; smaller types were used before" }
445
+ background: { color: "#003399", finish: retroreflective, hex_basis: observed, spec_note: "20. gr.: 'Á léttu bifhjóli skal grunnur merkisins þó vera blár en rönd á brúnum, stafir og bandstrik hvít'" }
446
+ foreground: "#FFFFFF"
447
+ border: { color: "#FFFFFF", hex_basis: observed }
448
+ band: { side: none }
449
+ emblem: { present: false }
450
+ region_encoding: none
451
+ variants:
452
+ - class: moped
453
+ design:
454
+ background: { color: "#E87722", finish: retroreflective, hex_basis: observed }
455
+ foreground: "#FFFFFF"
456
+ note: >-
457
+ ORANGE, for létt bifhjól í flokki I (the slowest class, up to 25 km/h),
458
+ added by reglugerð 1515/2020 of 14 December 2020 together with plate
459
+ type E. A colour-only variant of the same format and period, hence a
460
+ sub-entry per PRD-PLATES §2.3.
461
+ sources:
462
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/1515-2020 # adds gerð E (168 x 133 mm) and the orange plate for létt bifhjól í flokki I. Accessed 2026-08-02"
463
+ sources:
464
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 20. gr.: blue ground with white border, characters and bandstrik on a létt bifhjól. Accessed 2026-08-02"
465
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/1515-2020 # gerð E and the orange flokkur I variant. Accessed 2026-08-02"
466
+ notes: >-
467
+ THE BLUE MOPED PLATE — Iceland inverts the usual convention, putting the
468
+ colour in the GROUND and the white in the characters, so a létt bifhjól
469
+ plate is the visual negative of an ordinary plate. RECORDED GAP:
470
+ en.wikipedia states that mopeds and quadricycles under 25 km/h ceased to
471
+ require registration in 2019, which would materially narrow this series'
472
+ scope, but no instrument confirming it was retrieved and reglugerð
473
+ 1515/2020 still legislates for flokkur I in 2020 — so the claim is noted
474
+ and NOT acted on.
475
+
476
+ - id: is-tractor-2003
477
+ class: agricultural
478
+ categories: [tractor, machine]
479
+ period: { start: 2003 }
480
+ period_evidence: instrument-in-force
481
+ matching: strict
482
+ format:
483
+ pattern: "LL-999"
484
+ regex: '\A(?:[A-Z]{2}[- ]?\d{3}|[A-Z]{3}[- ]?\d{2})\z'
485
+ pattern_note: "union of both fastanúmer shapes"
486
+ design:
487
+ plate: { w: 240, h: 130, unit: mm, note: "gerð C" }
488
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
489
+ foreground: "#003399"
490
+ border: { color: "#003399", hex_basis: observed }
491
+ band: { side: left, content: "icelandic-flag+IS" }
492
+ emblem: { present: false }
493
+ inspection_sticker: "none — the distinguishing feature, since the colours are the ordinary ones"
494
+ region_encoding: none
495
+ sources:
496
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 21. gr.: dráttarvélar take the ordinary colours. Accessed 2026-08-02"
497
+ notes: >-
498
+ TRACTORS — a series only because 21. gr. gives them their own article and
499
+ their own plate type; visually they are ordinary white-and-blue plates
500
+ carrying an ordinary fastanúmer, distinguished in practice by the absence
501
+ of an inspection sticker. Recorded so that a class-keyed query reaches
502
+ them; a parse API cannot separate them from is-standard-1989 on the string.
503
+
504
+ # =========================================================================
505
+ # DIPLOMATIC, TRADE, PERSONAL.
506
+ # =========================================================================
507
+ - id: is-diplomatic-2003
508
+ class: diplomatic
509
+ categories: [car, van]
510
+ period: { start: 2003 }
511
+ period_evidence: instrument-in-force
512
+ matching: strict
513
+ format:
514
+ pattern: "CD-L99"
515
+ regex: '\ACD[- ]?[A-Z]\d{2}\z'
516
+ charset:
517
+ notes: >-
518
+ The literal CD, then ONE letter identifying the mission, then a
519
+ two-digit sequence allocated within that mission. The letter is the
520
+ only decodable element on any current Icelandic plate.
521
+ design:
522
+ plate: { w: 520, h: 110, unit: mm }
523
+ background: { color: "#006A4E", finish: retroreflective, hex_basis: observed, spec_note: "25. gr.: 'Grunnur skal vera grænn en stafir og rönd á brúnum hvít'" }
524
+ foreground: "#FFFFFF"
525
+ border: { color: "#FFFFFF", hex_basis: observed }
526
+ band: { side: none, note: "diplomatic plates do NOT bear the Icelandic national mark" }
527
+ emblem: { present: false }
528
+ region_encoding: "mission letter — inline below"
529
+ mission_letters:
530
+ basis: secondary-wikipedia
531
+ note: >-
532
+ THE PRIMARY IS DEAD. en.wikipedia cites Samgöngustofa's verklagsreglur
533
+ page (3.10.2 Sendiráðsmerki) for this table, but every deep
534
+ samgongustofa.is URL now 302s to a generic island.is landing page — the
535
+ registration-rules pages did not survive the site migration, and no
536
+ replacement was found. The table below is therefore secondary-wikipedia
537
+ and is re-expressed keyed by LETTER, the decode direction. Missions open
538
+ and close; no row is dated, and none should be treated as current.
539
+ source: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Iceland # secondary-wikipedia (rev. 2026-06-08). Accessed 2026-08-02"
540
+ letters:
541
+ A: "United States"
542
+ B: "United Kingdom"
543
+ C: "Denmark"
544
+ D: "Finland"
545
+ E: "France"
546
+ F: "India"
547
+ G: "China"
548
+ H: "Norway"
549
+ I: "Poland"
550
+ J: "Russia"
551
+ K: "Sweden"
552
+ L: "Czech Republic"
553
+ M: "Canada"
554
+ N: "Germany"
555
+ O: "International Monetary Fund"
556
+ P: "Japan"
557
+ R: "European Union"
558
+ S: "North Atlantic Treaty Organisation"
559
+ T: "Spain"
560
+ sources:
561
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 25. gr.: green ground with white characters and white border for diplomatic plates. PRIMARY for the design. Accessed 2026-08-02"
562
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Iceland # secondary-wikipedia (rev. 2026-06-08): the CD + mission-letter + two-digit format, the sequential allocation within each country, the absence of the Icelandic emblem, and the mission-letter table above. Accessed 2026-08-02"
563
+ notes: >-
564
+ THE GREEN DIPLOMATIC PLATE, and the ONLY current Icelandic plate with any
565
+ decodable content — everything else is random by regulation. Note the
566
+ letter set: it includes I and O, which is worth recording because those
567
+ are the two letters most jurisdictions drop for lookalike reasons, and
568
+ Iceland has no exclusion rule (common.charset). The design is primary; the
569
+ mission letters are secondary-wikipedia resting on a now-dead
570
+ Samgöngustofa citation, and a verifier should treat the table as the
571
+ weakest content in this file.
572
+
573
+ - id: is-trade-2003
574
+ class: dealer
575
+ categories: [car, van, truck, bus, motorcycle, trailer]
576
+ period: { start: 2003 }
577
+ period_evidence: instrument-in-force
578
+ matching: strict
579
+ format:
580
+ pattern: "LL-999"
581
+ regex: '\A[A-Z]{2}[- ]?\d{3}\z'
582
+ charset:
583
+ notes: >-
584
+ en.wikipedia reports that these marks begin with the fixed prefix
585
+ "RN"; reglugerð 751/2003 27. gr. prescribes the colours but no prefix,
586
+ so the regex does NOT encode RN and the claim sits here as
587
+ secondary-wikipedia. Narrowing the regex on an unsourced prefix would
588
+ make a validity claim the primary does not support.
589
+ design:
590
+ plate: { w: 520, h: 110, unit: mm }
591
+ background: { color: "#CC0000", finish: retroreflective, hex_basis: observed, spec_note: "27. gr.: red ground with a black border and black characters" }
592
+ foreground: "#000000"
593
+ border: { color: "#000000", hex_basis: observed }
594
+ band: { side: none }
595
+ emblem: { present: false }
596
+ binding: business
597
+ region_encoding: none
598
+ sources:
599
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 27. gr.: reynslumerki — red ground, black border, black characters. Accessed 2026-08-02"
600
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Iceland # secondary-wikipedia (rev. 2026-06-08): temporary/dealer plates starting 'RN'. Accessed 2026-08-02"
601
+ notes: >-
602
+ REYNSLUMERKI — the trade plate, bound to a business rather than a vehicle.
603
+ Red with BLACK characters, against the off-road plate's red with WHITE
604
+ characters: the two Icelandic red plates differ only in character colour,
605
+ which is worth flagging for any OCR-based consumer. period.start 2003 is
606
+ the parent regulation's entry into force; the regime is older and no
607
+ earlier dating instrument was pinned.
608
+
609
+ - id: is-personal-2003
610
+ class: personalized
611
+ categories: [car, van, truck, bus, motorcycle]
612
+ period: { start: 2003 }
613
+ period_evidence: instrument-in-force
614
+ matching: strict
615
+ format:
616
+ pattern: "LLLLLL"
617
+ regex: '\A[A-Z0-9]{2,6}\z'
618
+ charset:
619
+ notes: >-
620
+ 26. gr.: "2-6 íslenskir bókstafir eða tölustafir að vali eiganda" —
621
+ two to six ICELANDIC letters or digits, the owner's choice. Note the
622
+ word "íslenskir": unlike a fastanúmer, an einkamerki expressly admits
623
+ the Icelandic letters Á, Ð, É, Í, Ó, Ú, Ý, Þ, Æ and Ö, NONE of which
624
+ this dataset's serial alphabet can spell (_meta/separators.yml). The
625
+ regex is therefore narrower than the law in a way no `regex_statutory`
626
+ can fix — the missing characters are unwritable, not merely
627
+ unwritten. Recorded as a known limitation rather than hidden.
628
+ forbidden_shapes: >-
629
+ 26. gr. 2. mgr. a bars an einkamerki from imitating an ordinary mark:
630
+ "Á einkamerki má þó hvorki vera áletrun sem í eru tveir bókstafir og
631
+ þrír tölustafir" — a real and unusual rule, and the reason a
632
+ well-formedness check for this series must EXCLUDE the AB123 shape
633
+ rather than merely allow it.
634
+ progression: "owner-chosen, subject to refusal"
635
+ design:
636
+ plate: { w: 520, h: 110, unit: mm }
637
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
638
+ foreground: "#003399"
639
+ border: { color: "#003399", hex_basis: observed }
640
+ band: { side: none, note: "no national mark — the inspection sticker occupies the left field instead (secondary-wikipedia)" }
641
+ emblem: { present: false }
642
+ region_encoding: none
643
+ validity:
644
+ term_years: 8
645
+ note: >-
646
+ 26. gr. gives the right an EIGHT-year term. Reglugerð 1231/2007 (3
647
+ December 2007) added an age restriction on renewal — "nema umsækjandi sé
648
+ orðinn 65 ára" — and the statutory hook, umferðarlög 50/1987 64. gr. a,
649
+ set the fee at 25,000 kr. That provision is now 73. gr. of umferðarlög
650
+ 77/2019.
651
+ sources:
652
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 26. gr.: 2-6 Icelandic letters or digits, eight-year term, the standard plate types under 18. gr., no national emblem, and the bar on imitating the ordinary format. Accessed 2026-08-02"
653
+ - "https://www.reglugerd.is/reglugerdir/allar/nr/1231-2007 # reglugerð nr. 1231/2007, 3 December 2007: the age-65 qualification on renewal of an einkamerki. Accessed 2026-08-02"
654
+ - "https://www.althingi.is/lagas/149c/1987050.html # umferðarlög nr. 50/1987, 64. gr. a: einkamerki, owner-chosen letters and numbers, 25,000 kr, eight-year term, renewal restricted for those over 65. The STATUTORY hook, and the one plate type Iceland legislates for directly. Accessed 2026-08-02"
655
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Iceland # secondary-wikipedia (rev. 2026-06-08): the inspection sticker sits on the left in place of the country identifier. Accessed 2026-08-02"
656
+ notes: >-
657
+ EINKAMERKI. The one Icelandic plate type with a STATUTORY basis of its
658
+ own: 64. gr. a of umferðarlög 50/1987 (now 73. gr. of umferðarlög
659
+ 77/2019) legislates for it directly, where every other plate type in this
660
+ file rests on the general rule-making power in 64. gr. c. period.start
661
+ 2003 is the parent regulation's entry into force; the einkamerki regime is
662
+ OLDER — 64. gr. a is a later insertion into the 1987 act and pairs with
663
+ reglugerð 312/1996, which added 14. gr. a and 14. gr. b on einkamerki to
664
+ the 1988 regulation, so the scheme dates from about 1996. No commencement
665
+ instrument for it was pinned, and 1996 is therefore recorded here rather
666
+ than in period.start — a deliberate choice not to assert a date this pass
667
+ did not secure.