polytypo 1.19.0 → 1.20.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/polytypo/data/VERSION +1 -1
  3. data/lib/polytypo/data/fixtures/bg.json +1 -1
  4. data/lib/polytypo/data/fixtures/cs.json +1 -1
  5. data/lib/polytypo/data/fixtures/de-CH.json +1 -1
  6. data/lib/polytypo/data/fixtures/de-DE.json +1 -1
  7. data/lib/polytypo/data/fixtures/el.json +1 -1
  8. data/lib/polytypo/data/fixtures/en-GB.json +1 -1
  9. data/lib/polytypo/data/fixtures/en-US.json +1 -1
  10. data/lib/polytypo/data/fixtures/es.json +1 -1
  11. data/lib/polytypo/data/fixtures/fi.json +1 -1
  12. data/lib/polytypo/data/fixtures/fr-CA.json +1 -1
  13. data/lib/polytypo/data/fixtures/fr.json +1 -1
  14. data/lib/polytypo/data/fixtures/hr.json +1 -1
  15. data/lib/polytypo/data/fixtures/hu.json +1 -1
  16. data/lib/polytypo/data/fixtures/it.json +1 -1
  17. data/lib/polytypo/data/fixtures/locale-resolution.json +1 -1
  18. data/lib/polytypo/data/fixtures/lt.json +1 -1
  19. data/lib/polytypo/data/fixtures/nl.json +1 -1
  20. data/lib/polytypo/data/fixtures/pl.json +1 -1
  21. data/lib/polytypo/data/fixtures/pt-BR.json +1 -1
  22. data/lib/polytypo/data/fixtures/pt-PT.json +1 -1
  23. data/lib/polytypo/data/fixtures/ro.json +1 -1
  24. data/lib/polytypo/data/fixtures/ru.json +1 -1
  25. data/lib/polytypo/data/fixtures/sk.json +1 -1
  26. data/lib/polytypo/data/fixtures/sl.json +1 -1
  27. data/lib/polytypo/data/fixtures/sr.json +29 -5
  28. data/lib/polytypo/data/fixtures/sv.json +1 -1
  29. data/lib/polytypo/data/fixtures/tr.json +1 -1
  30. data/lib/polytypo/data/fixtures/uk.json +1 -1
  31. data/lib/polytypo/data/locales/registry.json +1 -1
  32. data/lib/polytypo/data/locales/sr.json +4 -4
  33. data/lib/polytypo/data/rules/order.json +1 -1
  34. data/lib/polytypo/version.rb +1 -1
  35. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c80490c6abd3577de5e13d2ace6d7c2bc7f2b10117b4724e160a7fc7e0abab9a
4
- data.tar.gz: 905d863a8de002599957525fba8e66436f1c416bf9b823573a3ec0ebc22680f0
3
+ metadata.gz: 7bff61b997418609ea76c2857f4d65da96354f33e72f36a6a6a3154598dd2e51
4
+ data.tar.gz: 98671cb5c466cff402fd8e15e90718a4c98150984e9931ba40258ff9d8b0e78e
5
5
  SHA512:
6
- metadata.gz: fd5296f82502fc9bad2cafb075f48e4ebe2d6a12d0629dfb2786a6a23c1ebd9df756d830db38515896f880ad029e0783ccbdc772573a0a140dc5af8c4bf0610d
7
- data.tar.gz: 3486aff14a8152b2cd836e37f350a7284f2286e9aab11bceb51e288843fd4c0e984f788f5b9a4d734a613ccc75a61f5aefc3d9e911814ff6a7e493c0867cb0c5
6
+ metadata.gz: bbd96abe50731f895b23862f721bfe274779e87a981eff15b16694a98d12c78249e1f2de994709835f203b968edd30671a5fa636861d403a25fe2509b9d7e6e1
7
+ data.tar.gz: 302875cf5c4d5e3c361fca3024a294a5fe0a0a82efeea53a293ef302bf4f2cf543fb125f9fdcf2f42a8e1cdfb2d45fe8673131ca22616fb0edb6762e807ed835
@@ -1 +1 @@
1
- 1.19.0
1
+ 1.20.0
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "bg",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "cs",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "de-CH",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "de-DE",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "el",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "en-GB",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "en-US",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "es",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "fi",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "fr-CA",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "fr",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "hr",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "hu",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "it",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "cases": [
4
4
  {
5
5
  "id": "exact-en-us",
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "lt",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "nl",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "pl",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "pt-BR",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "pt-PT",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "ro",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "ru",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "sk",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "sl",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "sr",
4
4
  "cases": [
5
5
  {
@@ -132,12 +132,36 @@
132
132
  "note": "No closed list ships, so nothing changes."
133
133
  },
134
134
  {
135
- "id": "sr-nbsp-units-inert",
135
+ "id": "sr-nbsp-units",
136
136
  "rule": "nbsp",
137
137
  "mode": "text",
138
- "in": "3 kg, 50 % и 99,90 €",
139
- "out": "3 kg, 50 % и 99,90 €",
140
- "note": "No verified rule: every nbsp list ships empty, so the plain spaces stay."
138
+ "in": "Тежи 3 kg, 20 cm и 5 mm.",
139
+ "out": "Тежи 3 kg, 20 cm и 5 mm.",
140
+ "note": "DMDM, Pravila upotrebe mernih jedinica: a space separates the unit symbol from its number and the symbol is never carried alone to a new line."
141
+ },
142
+ {
143
+ "id": "sr-nbsp-celsius",
144
+ "rule": "nbsp",
145
+ "mode": "text",
146
+ "in": "Било је 25 °C у хладу.",
147
+ "out": "Било је 25 °C у хладу.",
148
+ "note": "DMDM: «25 °C» is written with a space."
149
+ },
150
+ {
151
+ "id": "sr-nbsp-unattested-units-inert",
152
+ "rule": "nbsp",
153
+ "mode": "text",
154
+ "in": "Прешао је 5 km за 40 min.",
155
+ "out": "Прешао је 5 km за 40 min.",
156
+ "note": "km and min are not attested with a space in the source read, so they are not in beforeUnits."
157
+ },
158
+ {
159
+ "id": "sr-nbsp-percent-inert",
160
+ "rule": "nbsp",
161
+ "mode": "text",
162
+ "in": "Остало је 50 % и 99,90 €.",
163
+ "out": "Остало је 50 % и 99,90 €.",
164
+ "note": "'%' is deliberately absent from beforeUnits: BIPM spaces it, Serbian print closes it up, and no Serbian norm was read. A typed space is left as typed."
141
165
  },
142
166
  {
143
167
  "id": "sr-nbsp-short-words-inert",
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "sv",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "tr",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "locale": "uk",
4
4
  "cases": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "$comment": "Locale resolution input. Algorithm is specified in spec/rules/locale-resolution.md and is identical in every runtime — never delegate it to a platform locale-negotiation library. \"spec\" here must track spec/VERSION exactly — it is not itself the global version source; scripts/validate-spec.mjs enforces the match.",
4
4
  "locales": [
5
5
  "en-US",
@@ -35,7 +35,7 @@
35
35
  "narrowBeforePunctuation": [],
36
36
  "afterShortWords": [],
37
37
  "abbreviations": [],
38
- "beforeUnits": [],
38
+ "beforeUnits": ["kg", "cm", "mm", "°C"],
39
39
  "beforeNumber": [],
40
40
  "beforeWord": [],
41
41
  "afterSymbols": [],
@@ -74,9 +74,9 @@
74
74
  },
75
75
  {
76
76
  "rule": "nbsp",
77
- "cite": "Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, (not consulted)",
78
- "url": "https://www.fil.bg.ac.rs/uploads/files/Strane/Biblioteke/Izdavacka%20delatnost/Monografije%20-%20Jezik/SRSKA%20INTERPUNKCIJA%20elek%20izd.pdf",
79
- "note": "Every list is empty and initialBinding is none: no source consulted gives a rule for a space between a number and a unit or percent sign, for one-letter words or initials at a line end. Nothing is derived from another language. The 2010 Pravopis chapters on numbers and word division were not consulted. Operator decision (no paid sources, pick and pin): ship empty. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24."
77
+ "cite": "Direkcija za mere i dragocene metale (DMDM), «Pravila upotrebe i pisanja mernih jedinica i fizičkih veličina»: «Oznake mernih jedinica pišu se iza numeričkih vrednosti u izrazima za veličinu, ostavljajući razmak između numeričke vrednosti i oznake merne jedinice.»; «U novi red se ne sme preneti samo oznaka merne jedinice.»; primeri označeni kao ispravni: «2 kg, 3 kg i 4 kg», «80 mm • 25 mm • 50 mm», «lAl = 30 cm», «25 °C ± 5 °C». Uredba o zakonskim mernim jedinicama i načinu njihove upotrebe («Sl. glasnik RS», br. 132/2021), član 5: «Način pisanja mernih jedinica mora biti u skladu sa standardom SRPS EN ISO 80000.»",
78
+ "url": "https://www.dmdm.rs/sr/o-nama/merne-jedinice/pravila",
79
+ "note": "beforeUnits = kg, cm, mm, °C (U+00B0 U+0043): each printed with a space after the number by the national metrology authority, which also states outright that the unit symbol must not be carried alone to a new line. A metrology source, not a language authority, so MEDIUM — the same footing as the form evidence of hr, sk and bg. Single-letter units are excluded as in hr, sk and bg. km, km/h, ha, min and the Cyrillic forms (кг, км) are not attested with a space and are not added. '%' is deliberately absent: BIPM SI Brochure 9th ed. §5.4.7 sets a space before it, but Serbian practice in print is closed up (Брборић and Новокмет, Књижевност и језик 64/3–4, 2017, «96%», «73,5%») and no Serbian norm was read, so neither form is pinned; empty means a typed space is left as typed. Corroborated, language-neutrally, by BIPM SI Brochure 9th ed. §5.4.3 (https://www.bipm.org/documents/20126/41483022/SI-Brochure-9.pdf). Currency, afterSymbols, abbreviations, afterShortWords and initialBinding stay empty or none because no free source states a rule: Klikovac, Српска интерпункција, pp. 57–64 lists % and ° among signs of Пижурица и др. 2010 without any spacing rule; the Pravopis 2010 (paid) was not read. Operator decision (no paid sources, pick and pin). Retrieved 2026-11-06."
80
80
  }
81
81
  ]
82
82
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "spec": "1.19.0",
2
+ "spec": "1.20.0",
3
3
  "$comment": "Single source of truth for pipeline order. Rules run in ascending `order`. Disabling a rule removes it from the sequence and never reorders the rest. Rule ids are public API (see docs/ARCHITECTURE.md section 5). \"spec\" here must track spec/VERSION exactly — it is not itself the global version source; scripts/validate-spec.mjs enforces the match.",
4
4
  "rules": [
5
5
  {
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Polytypo
4
- VERSION = "1.19.0"
4
+ VERSION = "1.20.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polytypo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Iurii Rogulia