polytypo 1.16.0 → 1.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/polytypo/data/VERSION +1 -1
- data/lib/polytypo/data/fixtures/bg.json +1 -1
- data/lib/polytypo/data/fixtures/cs.json +1 -1
- data/lib/polytypo/data/fixtures/de-CH.json +1 -1
- data/lib/polytypo/data/fixtures/de-DE.json +1 -1
- data/lib/polytypo/data/fixtures/el.json +1 -1
- data/lib/polytypo/data/fixtures/en-GB.json +1 -1
- data/lib/polytypo/data/fixtures/en-US.json +1 -1
- data/lib/polytypo/data/fixtures/es.json +20 -4
- data/lib/polytypo/data/fixtures/fi.json +1 -1
- data/lib/polytypo/data/fixtures/fr-CA.json +1 -1
- data/lib/polytypo/data/fixtures/fr.json +1 -1
- data/lib/polytypo/data/fixtures/hr.json +1 -1
- data/lib/polytypo/data/fixtures/hu.json +1 -1
- data/lib/polytypo/data/fixtures/it.json +1 -1
- data/lib/polytypo/data/fixtures/locale-resolution.json +1 -1
- data/lib/polytypo/data/fixtures/lt.json +1 -1
- data/lib/polytypo/data/fixtures/nl.json +1 -1
- data/lib/polytypo/data/fixtures/pl.json +1 -1
- data/lib/polytypo/data/fixtures/pt-BR.json +1 -1
- data/lib/polytypo/data/fixtures/pt-PT.json +1 -1
- data/lib/polytypo/data/fixtures/ro.json +1 -1
- data/lib/polytypo/data/fixtures/ru.json +1 -1
- data/lib/polytypo/data/fixtures/sk.json +1 -1
- data/lib/polytypo/data/fixtures/sl.json +1 -1
- data/lib/polytypo/data/fixtures/sr.json +1 -1
- data/lib/polytypo/data/fixtures/sv.json +1 -1
- data/lib/polytypo/data/fixtures/tr.json +1 -1
- data/lib/polytypo/data/fixtures/uk.json +1 -1
- data/lib/polytypo/data/locales/es.json +2 -2
- data/lib/polytypo/data/locales/registry.json +1 -1
- data/lib/polytypo/data/rules/dashes.md +3 -2
- data/lib/polytypo/data/rules/order.json +1 -1
- data/lib/polytypo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 425cf39df821d3cebeaf6a7decfd7d5c3620f4b068a4c39aae67fe0557f71cec
|
|
4
|
+
data.tar.gz: 10cc3f7f0b1d42d4ef122eb26b56e002ab155397fd8ade250b200ef39e25e8db
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 87b57ce75053bc07efe2fdd934b7746319328b9030f3685dc29c7b21cf910e57fb6950216774c5d8d5ebc62ddd4d1bcd4b41a64f587c8986cce992eee1b1094b
|
|
7
|
+
data.tar.gz: f6a62f02aaf26c6976d4fb41690785de8591f15148924502873cdbb96966902314d48a7f759c4cf93c3ec429873881f21dc0ef8b99c9eb9e25ba0dcb06530ba2
|
data/lib/polytypo/data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.17.1
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"spec": "1.
|
|
2
|
+
"spec": "1.17.1",
|
|
3
3
|
"locale": "es",
|
|
4
4
|
"cases": [
|
|
5
5
|
{
|
|
@@ -43,12 +43,28 @@
|
|
|
43
43
|
"note": "abbreviatedAfterTerminal = false: la forma de dos puntos tras «?» que usa el ruso no existe en español, así que los dos puntos se completan a U+2026 en vez de conservarse."
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
"id": "es-dashes-parenthetical-
|
|
46
|
+
"id": "es-dashes-parenthetical-em-spaced-known-deviation",
|
|
47
47
|
"rule": "dashes",
|
|
48
48
|
"mode": "text",
|
|
49
49
|
"in": "El plan - si existe - fracasa.",
|
|
50
|
-
"out": "El plan
|
|
51
|
-
"note": "dash.parenthetical = \"
|
|
50
|
+
"out": "El plan — si existe — fracasa.",
|
|
51
|
+
"note": "dash.parenthetical = \"em-spaced\", una aproximación fijada por decisión del operador (spec 1.17.1). El DPD prescribe raya con espacios FUERA del par y ninguno dentro («El plan —si existe— fracasa.»); el enum no expresa esa asimetría, así que la salida lleva dos espacios interiores que la norma no admite. Se prefiere a dejar el guion U+002D del autor. Véase la voz dashes de es.json."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "es-dashes-double-hyphen-em-spaced-known-deviation",
|
|
55
|
+
"rule": "dashes",
|
|
56
|
+
"mode": "text",
|
|
57
|
+
"in": "Caminamos -- casi 3 km -- y estaba cerrada.",
|
|
58
|
+
"out": "Caminamos — casi 3 km — y estaba cerrada.",
|
|
59
|
+
"note": "Misma aproximación que es-dashes-parenthetical-em-spaced-known-deviation, con la forma «--» que se teclea a menudo; los espacios interiores no son los del DPD."
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "es-dashes-compound-hyphen",
|
|
63
|
+
"rule": "dashes",
|
|
64
|
+
"mode": "text",
|
|
65
|
+
"in": "un texto hispano-árabe",
|
|
66
|
+
"out": "un texto hispano-árabe",
|
|
67
|
+
"note": "Guardia P1 de dashes.md §3.2: un guion desnudo y sin espacios es una palabra compuesta y no se toca."
|
|
52
68
|
},
|
|
53
69
|
{
|
|
54
70
|
"id": "es-ranges-guion-none",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"dash": {
|
|
22
|
-
"parenthetical": "
|
|
22
|
+
"parenthetical": "em-spaced",
|
|
23
23
|
"range": "none"
|
|
24
24
|
},
|
|
25
25
|
"ellipsis": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"rule": "dashes",
|
|
68
68
|
"cite": "RAE y ASALE, Diccionario panhispánico de dudas, entrada «raya», apartado 2: «Como el resto de los signos dobles, se escriben pegadas a la primera y a la última palabra del periodo que enmarcan, y separadas por un espacio de la palabra o signo que las precede o las sigue»",
|
|
69
69
|
"url": "https://www.rae.es/dpd/raya",
|
|
70
|
-
"note": "parenthetical = \"
|
|
70
|
+
"note": "parenthetical = \"em-spaced\" ES UNA APROXIMACIÓN CONSCIENTE, no la norma, y se fijó por decisión del operador (27.10.2026). La fuente es explícita y prescribe espacios ORDINARIOS FUERA del par y ninguno en los bordes interiores («Llegó —por fin— a casa»). El enum no expresa esa asimetría: \"em-spaced\" pone un espacio a cada lado de CADA raya, de modo que el texto resultante lleva dos espacios interiores que el DPD no admite («Llegó — por fin — a casa»); \"em-tight\" suprimiría los exteriores que la frase exige y pegaría la raya a la palabra anterior, que es peor. Se eligió \"em-spaced\" porque conserva la longitud correcta del signo (U+2014, no el guion U+002D que el autor escribió) y los espacios exteriores, y solo falla en los interiores. Mientras el esquema no pueda expresar la asimetría, este valor sigue siendo una aproximación y no indica que el DPD prescriba espacios interiores. Hasta spec 1.16.0 el valor era \"none\" (la regla no tocaba nada). Consultado el 18.09.2026."
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
"rule": "ranges",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"spec": "1.
|
|
2
|
+
"spec": "1.17.1",
|
|
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",
|
|
@@ -902,8 +902,9 @@ never reaches a digit-flanked token at all.
|
|
|
902
902
|
|
|
903
903
|
The first locale with `"none"` on **both** fields, so the rule is a **total no-op** for it in the
|
|
904
904
|
same provable sense `hyphen` is a no-op for a locale with empty lists. It is no longer the only
|
|
905
|
-
one: `
|
|
906
|
-
recorded in its own locale file.
|
|
905
|
+
one: `tr` (spec 1.6.0) is both-`none` too, and `es` was from spec 1.3.0 until 1.17.1, each for its
|
|
906
|
+
own reason and each recorded in its own locale file. (`es` now sets `parenthetical` to `"em-spaced"`
|
|
907
|
+
as a known approximation — see its locale file — and keeps `range` at `"none"`.) This section stays written about `el` because its two fields are
|
|
907
908
|
`"none"` for two *different* reasons, which is what makes it worth reading. Tokens are still
|
|
908
909
|
classified — §3.3's "a range token is never reconsidered as a parenthetical" still holds — but no
|
|
909
910
|
classification has an emission to make. The rows below are therefore all "no change" rows by
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"spec": "1.
|
|
2
|
+
"spec": "1.17.1",
|
|
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
|
{
|
data/lib/polytypo/version.rb
CHANGED