polytypo 1.3.1 → 1.4.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/README.md +15 -0
- data/lib/polytypo/data/VERSION +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 +44 -1
- data/lib/polytypo/data/fixtures/en-US.json +18 -1
- data/lib/polytypo/data/fixtures/es.json +1 -1
- data/lib/polytypo/data/fixtures/fi.json +1 -1
- data/lib/polytypo/data/fixtures/fr-CA.json +9 -1
- data/lib/polytypo/data/fixtures/fr.json +50 -1
- data/lib/polytypo/data/fixtures/it.json +17 -1
- data/lib/polytypo/data/fixtures/locale-resolution.json +1 -1
- data/lib/polytypo/data/fixtures/nl.json +17 -1
- data/lib/polytypo/data/fixtures/pl.json +1 -1
- data/lib/polytypo/data/fixtures/pt-BR.json +9 -1
- data/lib/polytypo/data/fixtures/pt-PT.json +9 -1
- data/lib/polytypo/data/fixtures/ru.json +1 -1
- data/lib/polytypo/data/fixtures/sv.json +1 -1
- data/lib/polytypo/data/fixtures/uk.json +1 -1
- data/lib/polytypo/data/locales/cs.json +42 -57
- data/lib/polytypo/data/locales/de-CH.json +39 -44
- data/lib/polytypo/data/locales/de-DE.json +37 -48
- data/lib/polytypo/data/locales/el.json +6 -52
- data/lib/polytypo/data/locales/en-GB.json +8 -50
- data/lib/polytypo/data/locales/en-US.json +8 -62
- data/lib/polytypo/data/locales/es.json +34 -67
- data/lib/polytypo/data/locales/fi.json +12 -78
- data/lib/polytypo/data/locales/fr-CA.json +55 -52
- data/lib/polytypo/data/locales/fr.json +60 -59
- data/lib/polytypo/data/locales/it.json +26 -59
- data/lib/polytypo/data/locales/nl.json +33 -49
- data/lib/polytypo/data/locales/pl.json +33 -62
- data/lib/polytypo/data/locales/pt-BR.json +32 -47
- data/lib/polytypo/data/locales/pt-PT.json +32 -49
- data/lib/polytypo/data/locales/registry.json +1 -1
- data/lib/polytypo/data/locales/ru.json +35 -46
- data/lib/polytypo/data/locales/sv.json +9 -64
- data/lib/polytypo/data/locales/uk.json +32 -56
- data/lib/polytypo/data/rules/order.json +2 -2
- data/lib/polytypo/data/schema/locale.schema.json +23 -2
- data/lib/polytypo/engine/rules/quote_ambiguity.rb +68 -0
- data/lib/polytypo/engine/rules/quotes.rb +10 -6
- data/lib/polytypo/version.rb +1 -1
- metadata +1 -1
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
"close": "’",
|
|
13
13
|
"innerSpace": "none"
|
|
14
14
|
},
|
|
15
|
-
"elisionIdioms": []
|
|
15
|
+
"elisionIdioms": [],
|
|
16
|
+
"elisionClitics": {
|
|
17
|
+
"before": [],
|
|
18
|
+
"after": []
|
|
19
|
+
}
|
|
16
20
|
},
|
|
17
21
|
"dash": {
|
|
18
22
|
"parenthetical": "en-spaced",
|
|
@@ -30,7 +34,9 @@
|
|
|
30
34
|
"beforePunctuation": [],
|
|
31
35
|
"narrowBeforePunctuation": [],
|
|
32
36
|
"afterShortWords": [],
|
|
33
|
-
"abbreviations": [
|
|
37
|
+
"abbreviations": [
|
|
38
|
+
"fil. maist."
|
|
39
|
+
],
|
|
34
40
|
"beforeUnits": [
|
|
35
41
|
"%",
|
|
36
42
|
"‰",
|
|
@@ -56,81 +62,9 @@
|
|
|
56
62
|
],
|
|
57
63
|
"beforeNumber": [],
|
|
58
64
|
"beforeWord": [],
|
|
59
|
-
"afterSymbols": [
|
|
65
|
+
"afterSymbols": [
|
|
66
|
+
"§"
|
|
67
|
+
],
|
|
60
68
|
"initialBinding": "none"
|
|
61
|
-
}
|
|
62
|
-
"sources": [
|
|
63
|
-
{
|
|
64
|
-
"rule": "quotes",
|
|
65
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Lainausmerkit”",
|
|
66
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/lainausmerkit/",
|
|
67
|
-
"note": "Verbatim: “Suomenkielisessä tekstissä käytettävät kokolainausmerkit ovat kaarevat ”, ja ne ovat samanmuotoiset lainatun jakson alussa ja lopussa.” Both the opening and the closing mark are U+201D. The page notes that books and newspapers sometimes use angle marks (»…») as a design choice; the Kotus recommendation for Finnish text is ”…”."
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"rule": "quotes",
|
|
71
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Puolilainausmerkki”",
|
|
72
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/puolilainausmerkki/",
|
|
73
|
-
"note": "Verbatim: “Puolilainausmerkkiä käytetään myös lainausmerkkinä kokolainausmerkkien sisällä”, and “Suomenkielisissä teksteissä käytettävä puolilainausmerkki on ’, ei ‛ eikä '.” The page gives the Windows input sequence Alt+0146, which is U+2019, confirming the code point for both the opening and the closing secondary mark."
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"rule": "dashes",
|
|
77
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Ajatusviiva virkkeen välimerkkinä”",
|
|
78
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/ajatusviiva-virkkeen-valimerkkina/",
|
|
79
|
-
"note": "Verbatim: “Tällaisen virkkeen välimerkkinä käytetyn ajatusviivan molemmin puolin tulee välilyönti.” Hence `parenthetical: en-spaced` — Finnish uses the en dash (ajatusviiva, n-viiva), not an em dash."
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"rule": "dashes",
|
|
83
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Ajanilmaukset: aikavälit (1.1.–31.1.)”, citing standard SFS 4175",
|
|
84
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/ajanilmaukset-aikavalit-1-1-31-1/",
|
|
85
|
-
"note": "Verbatim: “Numero- ja merkkistandardi SFS 4175 suosittaa rajakohdan merkkinä lyhempää ajatusviivaa eli ns. n-viivaa”, set tight against the endpoints (ma–pe). Known exception not expressible in this schema: when the endpoints are themselves multi-word, Kotus spaces the dash (“ma 10.4. – pe 21.4.”). `range: en-tight` therefore describes the numeric case only."
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"rule": "ellipsis",
|
|
89
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Kolme pistettä”",
|
|
90
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/kolme-pistetta/",
|
|
91
|
-
"note": "`abbreviatedAfterTerminal` is false. Kotus describes the mark as three dots marking an unfinished sentence, a missing element or a continuing list; the two-dot form after `!`/`?` is a Russian convention and appears in no Kotus guidance."
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"rule": "nbsp",
|
|
95
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Prosenttimerkki (%)”",
|
|
96
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/prosenttimerkki/",
|
|
97
|
-
"note": "Finnish writes a space between the numeral and the percent sign (10,5 %), unlike English, which sets it closed up. This attests membership: `%` is a Finnish unit-like sign that follows a numeral after a space, which is what `beforeUnits` expresses. `‰` is included on the same reading."
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"rule": "nbsp",
|
|
101
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Pykälät ja pykälämerkki (§)”",
|
|
102
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/pykalat-ja-pykalamerkki/",
|
|
103
|
-
"note": "Kotus gives **three** notations as alternatives, not two: `6. §` (general language, with the ordinal full stop), `§ 6`, and `6 §` (legal language, where the ordinal stop is conventionally dropped). An earlier revision of this note named only the last two and read as though Finnish never sets the sign before the number; that was wrong. A space separates the number and the sign in all three. Because Kotus attests both orders, `§` is a member of **both** lists: `beforeUnits` covers `6 §` (N5, binds to a preceding number) and `afterSymbols` covers `§ 6` (N6, binds to a following number). The two sub-rules are disjoint by their own left/right tests, so the double membership is safe rather than contradictory. The third form, `6. §`, binds under neither — N5 requires a digit immediately before the space and there is an ordinal full stop there — which is an algorithmic gap held with the spec author, not something this file can express. Contrast Finnish with Swedish, where Språkrådet’s example is `§ 7` and only the sign-first order is attested."
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"rule": "nbsp",
|
|
107
|
-
"cite": "Oikeusministeriö, Lainkirjoittajan opas §24.4 “Merkeistä ja taivutusmuodoista lakikielessä”",
|
|
108
|
-
"url": "https://lainkirjoittaja.finlex.fi/24-lakikieli/24-4/",
|
|
109
|
-
"note": "Second source for the legal form: statutory drafting sets `2 §` and inflects it with a colon (`3–5 §:ssä`). Corroborates the number-first notation Kotus gives, and with it `§`’s membership of `beforeUnits`."
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"rule": "nbsp",
|
|
113
|
-
"cite": "BIPM, The International System of Units (SI), 9th ed. (2019), concise summary, “The language of science: using the SI to express the values of quantities”; Kotus, Kielitoimiston ohjepankki: “Prosenttimerkki (%)” and “Pykälät ja pykälämerkki (§)”",
|
|
114
|
-
"url": "https://www.bipm.org/documents/20126/41483022/SI-Brochure-9-concise-EN.pdf",
|
|
115
|
-
"note": "Membership claim, per nbsp.md §2.1: these tokens are units of measurement in Finnish and are written after a numeral with a space. BIPM verbatim: “A single space is always left between the number and the unit.” Kotus supplies the Finnish-specific members that SI does not cover — the percent sign takes a space (10,5 %), unlike English, and the section sign follows the number (6 §). That is the whole of what this list can express: which tokens are units. Whether the space is then made non-breaking is N5’s mechanism, fixed for every locale by the rule and not variable per locale, so no citation is owed for it. **Correction kept on the record, because it was real:** an earlier revision of this file justified the list with the sentence “Numeron ja lyhenteen väliin tulee välilyönti”, attributed to the Kotus page on numeroiden ryhmittely. That sentence is not on that page — it came from a search-engine summary and was never checked against the source. What that page’s “Sitova välilyönti” section actually says is “Tekstinkäsittelyohjelmissa pitkät luvut saa pysymään samalla rivillä käyttämällä sitovaa eli yhdistävää välilyöntiä”, which is about holding the digit groups of one long number together (100 000) — the class nbsp.md §7.11 declines to implement — and not about a number and a following unit. The page is no longer cited here. Kielikello and the rest of the ohjepankki were searched for a Finnish number+unit line-breaking statement and none was found; SFS 4175 may contain one, but it is a paid standard whose text was not read, and it is not cited on the strength of a secondary summary."
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"rule": "nbsp",
|
|
119
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Lyhenteet: pisteelliset”",
|
|
120
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/lyhenteet-pisteelliset/",
|
|
121
|
-
"note": "Verbatim: “Yhdyssanan lyhennettyjen osien väliin ei tule välilyöntiä, toisin kuin sanaliiton osien väliin” — a compound word abbreviates closed up (sos.dem., dipl.ins.) while a word-group abbreviation keeps the space (fil. maist.). The `abbreviations` list is therefore deliberately minimal: only the one form quoted verbatim on that page is included. Kotus’s full Lyhenneluettelo contains further space-bearing academic-title abbreviations (fil. tri, valt. maist. and similar); they are omitted rather than guessed at, and should be added by whoever can transcribe that list directly. The membership claim here is precise: `fil. maist.` is **one abbreviation that contains a space**, and Kotus states its internal shape directly. A form that a source merely shows adjacent to another token would not qualify."
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"rule": "nbsp",
|
|
125
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: välimerkit and lyhenteet, read for membership in each remaining list",
|
|
126
|
-
"url": "https://kielitoimistonohjepankki.fi/asiasana/valimerkit/",
|
|
127
|
-
"note": "`beforePunctuation` and `narrowBeforePunctuation` are empty because Finnish sets no space before a punctuation mark — there are no members to list. `afterShortWords` is empty because Finnish has no closed class of short words that may not end a line; its function words are inflectional suffixes rather than separate particles, so the list has no candidates. `beforeWord` is empty for want of an attested membership claim: no Kotus page shows titles such as hra or prof. as forms that bind to a following name. `beforeNumber` is a genuine open question rather than a settled empty: Kotus does write s. 12 and kuva 3, which under nbsp.md §2.1 is a membership claim of the right shape, and the earlier justification for leaving it empty (that Kotus does not require the space to be non-breaking) is no longer a valid reason. It is left empty here only because populating it is a live behaviour change that belongs in its own round with N9’s false-positive surface reviewed. `initialBinding` is \"none\" (spec 0.6.0: the field used to be the boolean bindInitials, false), and §2.1 makes plain that this field is unciteable in principle — it expresses nothing but mechanism, and no typographic authority states it in terms of a code point. Kotus attests the space in J. K. Paasikivi and says nothing further. The value is therefore a judgement, held at \"none\" to match the same call made for en-GB, and it should be settled by the operator across all locales at once rather than per file."
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"rule": "hyphen",
|
|
131
|
-
"cite": "Kotimaisten kielten keskus (Kotus), Kielitoimiston ohjepankki: “Yhdysmerkki eli yhdysviiva”",
|
|
132
|
-
"url": "https://kielitoimistonohjepankki.fi/ohje/yhdysmerkki-eli-yhdysviiva/",
|
|
133
|
-
"note": "`prefixes`, `suffixes` and `compounds` are empty. Kotus’s hyphen guidance is entirely about when to write a hyphen (compounds with numerals or abbreviations, identical adjoining vowels, word-group compounds such as “avaimet käteen -sopimus”), never about forbidding a line break at one. Finnish compounding is productive, so there is no closed normative list to encode — unlike Russian, where кое-, -таки and из-под are a fixed inventory. Nothing here, and no Kotus page found, prescribes U+2011."
|
|
134
|
-
}
|
|
135
|
-
]
|
|
69
|
+
}
|
|
136
70
|
}
|
|
@@ -12,7 +12,25 @@
|
|
|
12
12
|
"close": "”",
|
|
13
13
|
"innerSpace": "none"
|
|
14
14
|
},
|
|
15
|
-
"elisionIdioms": []
|
|
15
|
+
"elisionIdioms": [],
|
|
16
|
+
"elisionClitics": {
|
|
17
|
+
"before": [
|
|
18
|
+
"l",
|
|
19
|
+
"j",
|
|
20
|
+
"m",
|
|
21
|
+
"t",
|
|
22
|
+
"s",
|
|
23
|
+
"c",
|
|
24
|
+
"qu",
|
|
25
|
+
"jusqu",
|
|
26
|
+
"d",
|
|
27
|
+
"n",
|
|
28
|
+
"lorsqu",
|
|
29
|
+
"puisqu",
|
|
30
|
+
"quoiqu"
|
|
31
|
+
],
|
|
32
|
+
"after": []
|
|
33
|
+
}
|
|
16
34
|
},
|
|
17
35
|
"dash": {
|
|
18
36
|
"parenthetical": "em-spaced",
|
|
@@ -27,58 +45,43 @@
|
|
|
27
45
|
"compounds": []
|
|
28
46
|
},
|
|
29
47
|
"nbsp": {
|
|
30
|
-
"beforePunctuation": [
|
|
48
|
+
"beforePunctuation": [
|
|
49
|
+
":"
|
|
50
|
+
],
|
|
31
51
|
"narrowBeforePunctuation": [],
|
|
32
52
|
"afterShortWords": [],
|
|
33
|
-
"abbreviations": [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
53
|
+
"abbreviations": [
|
|
54
|
+
"p. ex."
|
|
55
|
+
],
|
|
56
|
+
"beforeUnits": [
|
|
57
|
+
"%",
|
|
58
|
+
"‰",
|
|
59
|
+
"€",
|
|
60
|
+
"°C",
|
|
61
|
+
"km",
|
|
62
|
+
"cm",
|
|
63
|
+
"mm",
|
|
64
|
+
"kg",
|
|
65
|
+
"km/h",
|
|
66
|
+
"kWh"
|
|
67
|
+
],
|
|
68
|
+
"beforeNumber": [
|
|
69
|
+
"art.",
|
|
70
|
+
"fig.",
|
|
71
|
+
"n°",
|
|
72
|
+
"N°"
|
|
73
|
+
],
|
|
74
|
+
"beforeWord": [
|
|
75
|
+
"M.",
|
|
76
|
+
"MM.",
|
|
77
|
+
"Mme",
|
|
78
|
+
"Mmes",
|
|
79
|
+
"Mlle",
|
|
80
|
+
"Mlles"
|
|
81
|
+
],
|
|
82
|
+
"afterSymbols": [
|
|
83
|
+
"§"
|
|
84
|
+
],
|
|
38
85
|
"initialBinding": "single"
|
|
39
|
-
}
|
|
40
|
-
"sources": [
|
|
41
|
-
{
|
|
42
|
-
"rule": "nbsp",
|
|
43
|
-
"cite": "Office québécois de la langue française, Banque de dépannage linguistique, « Espacement avant et après les signes de ponctuation et les symboles » : « L'Office québécois de la langue française opte pour l'absence d'espace devant le point-virgule, le point d'exclamation et le point d'interrogation », l'espace fine restant admise « lorsqu'elle est disponible » ; le deux-points est précédé d'une espace insécable",
|
|
44
|
-
"url": "https://vitrinelinguistique.oqlf.gouv.qc.ca/22039/la-typographie/espacement/espacement-avant-et-apres-les-signes-de-ponctuation-et-les-symboles",
|
|
45
|
-
"note": "C'est le point qui distingue fr-CA de fr (France) : l'usage de France, documenté dans spec/locales/fr.json à partir de Jacques André, insère une espace fine insécable (U+202F) avant « ; », « ! » et « ? ». L'OQLF choisit explicitement l'absence d'espace pour l'usage québécois ; l'espace fine n'est mentionnée que comme variante disponible, pas comme la règle par défaut. Le champ narrowBeforePunctuation est donc vide : la règle « spaces » retire toute espace ordinaire tapée devant ces signes (comportement indépendant de la locale, spec/rules/spaces.md), et aucune espace n'est réinsérée ici — le résultat net est « Bonjour! », sans espace, ce qui correspond au choix explicite de l'OQLF plutôt qu'à un oubli. Le deux-points reste précédé d'une espace insécable ordinaire (U+00A0), comme en France : les deux sources OQLF consultées s'accordent sur ce point avec Jacques André."
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"rule": "nbsp",
|
|
49
|
-
"cite": "Jacques André, Petites leçons de typographie, éd. du jobet, § 5.1.3 « Autres emplois de l'espace insécable » — voir spec/locales/fr.json pour la citation complète",
|
|
50
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
51
|
-
"note": "beforeUnits, beforeNumber, beforeWord, abbreviations et initialBinding (spec 0.6.0 : le champ s'appelait auparavant le booléen bindInitials ; fr conserve \"single\", cité au § 5.1.3 d'André pour « N. Bourbaki ») sont repris tels quels de spec/locales/fr.json : aucune source spécifiquement québécoise n'a été consultée pour ces cas (seuls le point-virgule/point d'exclamation/point d'interrogation et le deux-points ont été vérifiés séparément auprès de l'OQLF, voir l'entrée précédente). L'OQLF confirme par ailleurs, sur la même page que l'entrée précédente, une espace insécable devant les symboles d'unités SI et le pourcentage, ce qui corrobore — sans le prouver intégralement — le maintien de ces listes pour fr-CA."
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"rule": "quotes",
|
|
55
|
-
"cite": "Office québécois de la langue française, Banque de dépannage linguistique, « Généralités sur les guillemets » : « Les guillemets français (« »), appelés chevrons à cause de leur forme, sont ceux que l'on utilise normalement dans un texte français » ; « Une espace insécable sépare les guillemets ouvrants et fermants du texte » ; pour une citation à l'intérieur d'une citation, « on utilise successivement les guillemets anglais doubles, puis anglais simples »",
|
|
56
|
-
"url": "https://vitrinelinguistique.oqlf.gouv.qc.ca/23363/la-ponctuation/guillemets/generalites-sur-les-guillemets",
|
|
57
|
-
"note": "Chevrons, second niveau et espace intérieure identiques à fr (France) ; aucun écart québécois trouvé. La largeur exacte de l'espace intérieure (U+00A0 ordinaire vs U+202F fine) n'est pas non plus tranchée ici — l'OQLF emploie le terme générique « espace insécable » ; la valeur « nbsp » est reprise de fr.json en attendant que ce point soit résolu pour les deux locales."
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"rule": "dashes",
|
|
61
|
-
"cite": "Jacques André, Petites leçons de typographie, § 2.2 et tableau 1 — voir spec/locales/fr.json pour la citation complète ; corroboré par l'OQLF, « Tiret : mise en valeur » : « Les tirets sont précédés et suivis d'un espacement. »",
|
|
62
|
-
"url": "https://vitrinelinguistique.oqlf.gouv.qc.ca/index.php?id=23378",
|
|
63
|
-
"note": "Repris de fr : tiret cadratin espacé pour l'incise, aucune valeur de plage vérifiée (range: none). L'OQLF confirme l'espacement mais ne distingue pas le cadratin du demi-cadratin ; aucun écart québécois trouvé sur ce point."
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"rule": "ellipsis",
|
|
67
|
-
"cite": "Jacques André, Petites leçons de typographie, § 5.1.2 et tableau 2 — voir spec/locales/fr.json pour la citation complète",
|
|
68
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
69
|
-
"note": "Repris tel quel de fr ; aucune source québécoise consultée séparément pour ce point, aucun écart identifié dans les sources OQLF lues."
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"rule": "hyphen",
|
|
73
|
-
"cite": "Jacques André, Petites leçons de typographie, tableau 1 — voir spec/locales/fr.json pour la citation complète",
|
|
74
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
75
|
-
"note": "Repris tel quel de fr : aucune source consultée n'impose un trait d'union insécable pour une classe fermée de formes morphologiques françaises, en France comme au Québec."
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"rule": "nbsp",
|
|
79
|
-
"cite": "Office québécois de la langue française, Banque de dépannage linguistique, « Abréviation de numéro » : « L'abréviation courante du nom numéro est no ou No, avec la lettre o minuscule en exposant » ; « On n'abrège le mot numéro que s'il suit immédiatement le nom qu'il détermine » ; exemple : « C'est le billet no 852410 qui a valu le gros lot à sa détentrice »",
|
|
80
|
-
"url": "https://vitrinelinguistique.oqlf.gouv.qc.ca/25450/les-abreviations-et-les-symboles/les-abreviations/cas-particuliers-dabreviations/abreviation-de-numero",
|
|
81
|
-
"note": "Deux choses distinctes, et il faut les tenir séparées. Ce que la source établit : « n° » est une abréviation, pas un symbole, d'où beforeNumber et non afterSymbols — l'argument est aussi mécanique, un « ° » seul placé dans afterSymbols serait inerte puisque N6 exige que le code point précédent ne soit pas ALNUM, or c'est la lettre « n » (nbsp.md §3.8). Ce que la source n'établit pas : la séquence exacte de code points. L'OQLF prescrit un o minuscule en exposant, un tracé et non un code point, et ne nomme nulle part le signe de degré ni la ligature « numéro » (U+2116). Pour la France, rien : le § 5.1.3 de Jacques André, relu intégralement, ne mentionne ni « numéro » ni « no », et le Lexique de l'Imprimerie nationale est un ouvrage imprimé qui n'a pas pu être consulté. Décision de l'opérateur (18.09.2026) : quand la règle est derrière une source payante, polytypo retient l'usage le plus répandu et l'applique de la même façon partout, l'uniformité primant la conformité au canon, et la décision est signalée comme telle au lieu d'être présentée comme une citation. L'usage le plus répandu est « n » + U+00B0, c'est ce que l'on tape et ce que l'on trouve dans les textes en ligne ; N9 n'ayant aucune tolérance de casse, « n° » et « N° » sont deux entrées. La phrase « on ne sépare pas les numéros par des espacements » de la même page vise les tranches de chiffres à l'intérieur du nombre (« billet no 852410 »), pas l'espace entre l'abréviation et le nombre."
|
|
82
|
-
}
|
|
83
|
-
]
|
|
86
|
+
}
|
|
84
87
|
}
|
|
@@ -12,7 +12,25 @@
|
|
|
12
12
|
"close": "”",
|
|
13
13
|
"innerSpace": "none"
|
|
14
14
|
},
|
|
15
|
-
"elisionIdioms": []
|
|
15
|
+
"elisionIdioms": [],
|
|
16
|
+
"elisionClitics": {
|
|
17
|
+
"before": [
|
|
18
|
+
"l",
|
|
19
|
+
"j",
|
|
20
|
+
"m",
|
|
21
|
+
"t",
|
|
22
|
+
"s",
|
|
23
|
+
"c",
|
|
24
|
+
"qu",
|
|
25
|
+
"jusqu",
|
|
26
|
+
"d",
|
|
27
|
+
"n",
|
|
28
|
+
"lorsqu",
|
|
29
|
+
"puisqu",
|
|
30
|
+
"quoiqu"
|
|
31
|
+
],
|
|
32
|
+
"after": []
|
|
33
|
+
}
|
|
16
34
|
},
|
|
17
35
|
"dash": {
|
|
18
36
|
"parenthetical": "em-spaced",
|
|
@@ -27,64 +45,47 @@
|
|
|
27
45
|
"compounds": []
|
|
28
46
|
},
|
|
29
47
|
"nbsp": {
|
|
30
|
-
"beforePunctuation": [
|
|
31
|
-
|
|
48
|
+
"beforePunctuation": [
|
|
49
|
+
":"
|
|
50
|
+
],
|
|
51
|
+
"narrowBeforePunctuation": [
|
|
52
|
+
";",
|
|
53
|
+
"!",
|
|
54
|
+
"?"
|
|
55
|
+
],
|
|
32
56
|
"afterShortWords": [],
|
|
33
|
-
"abbreviations": [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
57
|
+
"abbreviations": [
|
|
58
|
+
"p. ex."
|
|
59
|
+
],
|
|
60
|
+
"beforeUnits": [
|
|
61
|
+
"%",
|
|
62
|
+
"‰",
|
|
63
|
+
"€",
|
|
64
|
+
"°C",
|
|
65
|
+
"km",
|
|
66
|
+
"cm",
|
|
67
|
+
"mm",
|
|
68
|
+
"kg",
|
|
69
|
+
"km/h",
|
|
70
|
+
"kWh"
|
|
71
|
+
],
|
|
72
|
+
"beforeNumber": [
|
|
73
|
+
"art.",
|
|
74
|
+
"fig.",
|
|
75
|
+
"n°",
|
|
76
|
+
"N°"
|
|
77
|
+
],
|
|
78
|
+
"beforeWord": [
|
|
79
|
+
"M.",
|
|
80
|
+
"MM.",
|
|
81
|
+
"Mme",
|
|
82
|
+
"Mmes",
|
|
83
|
+
"Mlle",
|
|
84
|
+
"Mlles"
|
|
85
|
+
],
|
|
86
|
+
"afterSymbols": [
|
|
87
|
+
"§"
|
|
88
|
+
],
|
|
38
89
|
"initialBinding": "single"
|
|
39
|
-
}
|
|
40
|
-
"sources": [
|
|
41
|
-
{
|
|
42
|
-
"rule": "nbsp",
|
|
43
|
-
"cite": "Jacques André, Petites leçons de typographie, éd. du jobet, révision du 1er juin 2025, § 5.1.1 note 21 et § 5.2.3 : l'espace insécable employée devant les ponctuations doubles « c'est la fine des typographes, en première approximation (contre-exemple : l'espace avant le deux-points est en fait une espace normale insécable) » ; « il faut une espace fine insécable avant le point-virgule »",
|
|
44
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
45
|
-
"note": "C'est le point qui tranche la question posée par docs/PLAN.md §7 : « ; », « ! » et « ? » prennent U+202F ; « : » prend U+00A0. La distinction est donc confirmée, et non simplement répétée. Le tableau 1 (p. 32) donne la saisie complète des signes. Recoupé avec l'article « Espace fine insécable » de la Wikipédia francophone, qui attribue la même règle au Lexique des règles typographiques en usage à l'Imprimerie nationale, 3e éd., 2002 (fine devant ; ? !, « sauf devant deux-points, en France »)."
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"rule": "nbsp",
|
|
49
|
-
"cite": "Jacques André, Petites leçons de typographie, § 2.5 et § 5.1.3 « Autres emplois de l'espace insécable » : espace insécable entre un prénom abrégé et le nom (« N. Bourbaki »), entre une abréviation et le mot qui la suit (« Mme Hugo », « le R.P. Durand »), entre un nombre et ce qu'il quantifie (« 14 francs », « 2 € », « 98 % », « art. 237 »)",
|
|
50
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
51
|
-
"note": "La liste beforeUnits est volontairement courte et exclut les symboles d'une seule lettre (m, g, l, s, A), qui ne peuvent pas être désambiguïsés sans contexte. La liaison « abréviation + mot suivant » (M. Dupont, Mme Hugo) n'est pas exprimable dans ce schéma : afterSymbols lie un symbole à un NOMBRE suivant, pas à un mot ; elle passe par nbsp.initialBinding = \"single\" (spec 0.6.0 : le champ s'appelait auparavant le booléen bindInitials), qui conserve la liaison sur une seule initiale citée ici (« N. Bourbaki »). Contrairement à \"chain\" (en-US, de-DE, de-CH, ru — Chicago exige « two or more initials »), \"single\" ne peut pas distinguer structurellement un prénom abrégé authentique d'une collision de fin de phrase (une initiale isolée suivie d'un mot capitalisé qui commence en fait une nouvelle phrase) ; voir spec/rules/nbsp.md §7."
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"rule": "quotes",
|
|
55
|
-
"cite": "Imprimerie nationale, Lexique des règles typographiques en usage à l'Imprimerie nationale, 3e éd., 2002, entrée « Guillemets » : les guillemets français « … » sont séparés du texte qu'ils encadrent par une espace insécable",
|
|
56
|
-
"url": "https://fr.wikipedia.org/wiki/Espace_fine_ins%C3%A9cable",
|
|
57
|
-
"note": "Le Lexique n'est pas consultable en ligne ; la règle a été vérifiée par recoupement de deux articles de la Wikipédia francophone qui la citent (« Espace fine insécable » : « à l'intérieur des guillemets français […] il est recommandé d'insérer des espaces insécables », attribué au Lexique 2002 ; « Ponctuation », tableau des espacements) et du tableau 1 de Jacques André, qui note une insécable après « « » et avant « » ». Désaccord assumé avec docs/PLAN.md §7, qui annonçait U+202F à l'intérieur des guillemets : la source normative dit espace insécable (U+00A0). L'usage web contemporain, et JoliTypo, emploient souvent U+202F ; le choix retenu ici est celui de la citation, pas celui de l'usage."
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"rule": "quotes",
|
|
61
|
-
"cite": "Jacques André, Petites leçons de typographie, § 2.2 : « en français, les guillemets sont les doubles chevrons « … » et non les (double-)quotes anglaises “…” ni ‘…’ » ; les guillemets anglais “ ” servent de guillemets de second niveau",
|
|
62
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
63
|
-
"note": "Le second niveau est le point le moins solidement établi de ce fichier : l'usage français admet aussi la répétition des chevrons ou les chevrons simples ‹ ›. Les guillemets anglais sont retenus parce qu'ils sont la solution la plus couramment attribuée au Lexique, mais cette ligne mérite d'être revue si la 3e édition papier dit autre chose."
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"rule": "dashes",
|
|
67
|
-
"cite": "Jacques André, Petites leçons de typographie, § 2.2 et tableau 1 (p. 32) : le tiret marquant les incises est le tiret cadratin « — », précédé et suivi d'une espace (« mmm —_mmm … mmm_— mmm »)",
|
|
68
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
69
|
-
"note": "Le même paragraphe signale que « la tendance est d'utiliser à sa place le tiret moyen « – » ». La valeur em-spaced suit la règle citée, pas la tendance ; docs/PLAN.md §7 supposait en-spaced. Aucune valeur de plage n'est vérifiée : les exemples de l'Imprimerie nationale et de Jacques André impriment un trait d'union dans les intervalles de pages (« p. 123-125 »), et l'énumération se fait plutôt « de … à … ». Le schéma a donc reçu la valeur « none » (ne rien substituer), retenue ici tant que le point n'est pas tranché sur le Lexique papier — une citation manquante n'autorise jamais à deviner."
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"rule": "nbsp",
|
|
73
|
-
"cite": "Jacques André, Petites leçons de typographie, § 5.1.3 « Autres emplois de l'espace insécable », liste « Coupure entre les mots » : « entre une abréviation et le mot qui la suit, exemples : “Mme_Hugo, D._Knuth, le R.P._Durand” » ; « entre un nombre et ce qu'il quantifie, par exemple : “14_francs, 2_€, 1_A, t._vii, art._237, fig._3, pages_23 à_25, 98_%” » — le caractère « _ » note l'espace insécable",
|
|
74
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
75
|
-
"note": "Texte relu directement dans le PDF. Cette entrée lève la limitation signalée plus haut dans ce fichier (« la liaison abréviation + mot suivant n'est pas exprimable dans ce schéma ») : le schéma a depuis reçu beforeNumber et beforeWord. beforeNumber ne retient que « art. » et « fig. », cités littéralement devant un nombre ; « t. vii » est suivi d'un chiffre romain et n'a pas été retenu. beforeWord est volontairement réduit à la classe fermée des titres de civilité : la règle citée vaut pour toute abréviation, mais l'énumérer intégralement produirait des faux positifs (« etc. », « p. ex. », « cf. »). « Mme » est cité mot pour mot ; « M., MM., Mmes, Mlle, Mlles » sont les autres membres de la même classe et relèvent donc de la même règle, ce qui reste une inférence de classe et non une citation littérale. Un « M. » qui serait en réalité une initiale de prénom reçoit de toute façon l'espace insécable prescrite au § 5.1.3 pour « N. Bourbaki » : la liaison est correcte dans les deux lectures."
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"rule": "hyphen",
|
|
79
|
-
"cite": "Jacques André, Petites leçons de typographie, tableau 1 (p. 32), ligne « trait d'union » : la saisie est « mmm-mmm », sans espace ni marque d'insécabilité, alors que le même tableau note explicitement l'insécable pour les ponctuations doubles, les guillemets et les tirets d'incise",
|
|
80
|
-
"url": "http://jacques-andre.fr/faqtypo/lessons.pdf",
|
|
81
|
-
"note": "Justification des trois listes vides. Aucune source normative consultée n'impose un trait d'union insécable pour une classe fermée de formes morphologiques françaises ; le § 5.1.3, qui énumère les cas d'insécabilité, ne mentionne aucun trait d'union. Le champ hyphen est donc sans objet en français."
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"rule": "nbsp",
|
|
85
|
-
"cite": "Office québécois de la langue française, Banque de dépannage linguistique, « Abréviation de numéro » : « L'abréviation courante du nom numéro est no ou No, avec la lettre o minuscule en exposant » ; « On n'abrège le mot numéro que s'il suit immédiatement le nom qu'il détermine » ; exemple : « C'est le billet no 852410 qui a valu le gros lot à sa détentrice »",
|
|
86
|
-
"url": "https://vitrinelinguistique.oqlf.gouv.qc.ca/25450/les-abreviations-et-les-symboles/les-abreviations/cas-particuliers-dabreviations/abreviation-de-numero",
|
|
87
|
-
"note": "Deux choses distinctes, et il faut les tenir séparées. Ce que la source établit : « n° » est une abréviation, pas un symbole, d'où beforeNumber et non afterSymbols — l'argument est aussi mécanique, un « ° » seul placé dans afterSymbols serait inerte puisque N6 exige que le code point précédent ne soit pas ALNUM, or c'est la lettre « n » (nbsp.md §3.8). Ce que la source n'établit pas : la séquence exacte de code points. L'OQLF prescrit un o minuscule en exposant, un tracé et non un code point, et ne nomme nulle part le signe de degré ni la ligature « numéro » (U+2116). Pour la France, rien : le § 5.1.3 de Jacques André, relu intégralement, ne mentionne ni « numéro » ni « no », et le Lexique de l'Imprimerie nationale est un ouvrage imprimé qui n'a pas pu être consulté. Décision de l'opérateur (18.09.2026) : quand la règle est derrière une source payante, polytypo retient l'usage le plus répandu et l'applique de la même façon partout, l'uniformité primant la conformité au canon, et la décision est signalée comme telle au lieu d'être présentée comme une citation. L'usage le plus répandu est « n » + U+00B0, c'est ce que l'on tape et ce que l'on trouve dans les textes en ligne ; N9 n'ayant aucune tolérance de casse, « n° » et « N° » sont deux entrées. La phrase « on ne sépare pas les numéros par des espacements » de la même page vise les tranches de chiffres à l'intérieur du nombre (« billet no 852410 »), pas l'espace entre l'abréviation et le nombre."
|
|
88
|
-
}
|
|
89
|
-
]
|
|
90
|
+
}
|
|
90
91
|
}
|
|
@@ -12,7 +12,15 @@
|
|
|
12
12
|
"close": "”",
|
|
13
13
|
"innerSpace": "none"
|
|
14
14
|
},
|
|
15
|
-
"elisionIdioms": []
|
|
15
|
+
"elisionIdioms": [],
|
|
16
|
+
"elisionClitics": {
|
|
17
|
+
"before": [
|
|
18
|
+
"l",
|
|
19
|
+
"un",
|
|
20
|
+
"d"
|
|
21
|
+
],
|
|
22
|
+
"after": []
|
|
23
|
+
}
|
|
16
24
|
},
|
|
17
25
|
"dash": {
|
|
18
26
|
"parenthetical": "em-spaced",
|
|
@@ -31,65 +39,24 @@
|
|
|
31
39
|
"narrowBeforePunctuation": [],
|
|
32
40
|
"afterShortWords": [],
|
|
33
41
|
"abbreviations": [],
|
|
34
|
-
"beforeUnits": [
|
|
35
|
-
|
|
42
|
+
"beforeUnits": [
|
|
43
|
+
"%",
|
|
44
|
+
"‰",
|
|
45
|
+
"€",
|
|
46
|
+
"°C",
|
|
47
|
+
"km",
|
|
48
|
+
"cm",
|
|
49
|
+
"mm",
|
|
50
|
+
"kg",
|
|
51
|
+
"km/h",
|
|
52
|
+
"kWh"
|
|
53
|
+
],
|
|
54
|
+
"beforeNumber": [
|
|
55
|
+
"n.",
|
|
56
|
+
"pag."
|
|
57
|
+
],
|
|
36
58
|
"beforeWord": [],
|
|
37
59
|
"afterSymbols": [],
|
|
38
60
|
"initialBinding": "none"
|
|
39
|
-
}
|
|
40
|
-
"sources": [
|
|
41
|
-
{
|
|
42
|
-
"rule": "quotes",
|
|
43
|
-
"cite": "Ufficio delle pubblicazioni dell'Unione europea, Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), punto 4.2.3, riquadro «Virgolette»: «Nella lingua italiana esistono tre livelli di virgolette […]: livello 1 (citazione principale) «…» (Alt 0171/Alt 0187); livello 2 (citazione nella citazione) “…” (Alt 0147/Alt 0148); livello 3 (citazione nella citazione nella citazione) ‘…’ (Alt 0145/Alt 0146)»",
|
|
44
|
-
"url": "https://op.europa.eu/it/publication-detail/-/publication/e774ea2a-ef84-4bf6-be92-c9ebebf91c1b",
|
|
45
|
-
"note": "L'attribuzione è per LIVELLO DI ANNIDAMENTO, cioè esattamente la forma che lo schema sa esprimere. Il terzo livello non è rappresentabile: lo schema prevede primary e secondary, non tre — limite dello schema, non lacuna della fonte, come già in el. INFERENZA DICHIARATA sull'identità dei code point: la guida fornisce un «codice alfanumerico» per Windows, non un code point Unicode; Alt 0171/0187/0147/0148 sono CP1252 0xAB/0xBB/0x93/0x94, da cui U+00AB/U+00BB/U+201C/U+201D. Riscontro indipendente: Treccani, Enciclopedia dell'Italiano (2011), voce «Virgolette» (Luca Cignetti): «è consuetudine fare ricorso a tipi diversi di virgoletta, solitamente bassa per la prima citazione e alta per gli altri usi». POSIZIONE CONTRARIA, registrata: l'Accademia della Crusca («La punteggiatura», 16 luglio 2004) rifiuta di ordinare i due segni al primo livello — «Alte e basse si usano indifferentemente» — ma non tratta l'annidamento, quindi non c'è conflitto: la scelta del segno di primo livello è una variante permessa che questo file compie, l'ordine dei livelli è ciò che le altre due fonti stabiliscono. Consultati il 18.09.2026."
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"rule": "quotes",
|
|
49
|
-
"cite": "Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.1.7 «Virgolette»: «Le virgolette non richiedono spazio né in apertura né in chiusura»",
|
|
50
|
-
"url": "https://op.europa.eu/it/publication-detail/-/publication/e774ea2a-ef84-4bf6-be92-c9ebebf91c1b",
|
|
51
|
-
"note": "Giustifica innerSpace = \"none\" su entrambe le coppie, ed è il punto che separa l'italiano dal francese. LETTURA DICHIARATA COME TALE: «né in apertura né in chiusura» va inteso come «né dal lato di apertura né dal lato di chiusura del testo racchiuso», cioè nessuno spazio interno; la lettura alternativa è impossibile, perché lo spazio fra la parola precedente e il segno di apertura non è facoltativo. La tabella del punto 6.4 disambiguerebbe la frase ma NON è invocata: il suo preambolo la qualifica come accordo interistituzionale adottato «a vantaggio di una convenzione comune» al posto dei codici tipografici nazionali divergenti, cioè prassi editoriale e non norma italiana — la stessa lettura già applicata in el.json. Conseguenza pratica: l'elisione italiana è al sicuro, perché dell'«amico» non richiede spazio interno. elisionIdioms resta vuoto: l'elisione italiana è un fenomeno clitico, non un idioma della forma {left, elided, right}. Consultati il 18.09.2026."
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"rule": "dashes",
|
|
55
|
-
"cite": "Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), punto 4.2.3, riquadro «Trattini»: «In italiano utilizzare il trattino lungo come eventuale alternativa alle parentesi»; Parte quarta, punto 10.1.10 «Lineetta», con l'esempio stampato «La casa — se casa si poteva definire quel rudere — sorgeva ai piedi del colle»",
|
|
56
|
-
"url": "https://op.europa.eu/it/publication-detail/-/publication/e774ea2a-ef84-4bf6-be92-c9ebebf91c1b",
|
|
57
|
-
"note": "Giustifica dash.parenthetical = \"em-spaced\": U+2014 con uno spazio ordinario su CIASCUN lato di CIASCUNA lineetta. La spaziatura è simmetrica, quindi — a differenza dello spagnolo e del greco — l'enum la esprime senza forzature. INFERENZA DICHIARATA sul code point: Alt 0151 è CP1252 0x97, da cui U+2014. Riscontro sulla SPAZIATURA, non sul code point: Treccani, «Trattino [prontuario]» (Stefano Telve, 2011), che del trattino breve scrive «A differenza della lineetta, non è preceduto né seguito da spazi». COSTO ACCETTATO, verificato sul motore e registrato qui perché non venga riscoperto come bug: il punto 10.1.11 prescrive il trattino spaziato per collegare due date di mesi diversi («25 maggio - 10 giugno 1985»), e la guardia P1 di dashes.md §3.2 converte qualunque trattino isolato e spaziato fra parole, quindi il motore produce una lineetta lì. Non è una particolarità italiana: fr, ru, de-DE e en-GB, già pubblicate, si comportano allo stesso modo sulla stessa stringa. Consultati il 18.09.2026."
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"rule": "ranges",
|
|
61
|
-
"cite": "Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.3.1 «Numeri arabi»: «I numeri arabi non richiedono la lineetta (lineato) bensì il trattino (divisione)», con l'esempio stampato «la sessione del 15-19 giugno 1985»; punto 10.1.11: «Il trattino è anche impiegato, senza alcuno spazio, per collegare due anni civili o due date di uno stesso mese: 1971-1972, 10-15 settembre 1985»",
|
|
62
|
-
"url": "https://op.europa.eu/it/publication-detail/-/publication/e774ea2a-ef84-4bf6-be92-c9ebebf91c1b",
|
|
63
|
-
"note": "Giustifica dash.range = \"none\", e lo fa in POSITIVO, non per assenza di citazione: la fonte prescrive il trattino U+002D — il carattere che l'autore ha già digitato — ed esclude la lineetta per nome. L'enum non ha un valore «trattino»: \"none\" è la codifica esatta di ciò che la fonte richiede. Riscontro: Treccani, «Trattino [prontuario]» (Telve 2011), esempi «il fascicolo del 2-3 luglio», «anno accademico 2010-2011». Voce separata da quella di dashes benché entrambe le regole leggano il campo dash: la citazione è distinta e più forte. Consultati il 18.09.2026."
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"rule": "ellipsis",
|
|
67
|
-
"cite": "Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.1.8 «Punti di sospensione»: «Segno d'interpunzione costituito da tre punti»; Accademia della Crusca, Consulenza linguistica, «La punteggiatura» (Mara Marzullo, 16 luglio 2004): «I puntini di sospensione si usano sempre nel numero di tre»",
|
|
68
|
-
"url": "https://accademiadellacrusca.it/it/consulenza/la-punteggiatura/143",
|
|
69
|
-
"note": "Giustifica abbreviatedAfterTerminal = false. Due fonti indipendenti affermano che i puntini sono sempre tre, e nessuna prevede la forma a due punti dopo U+003F o U+0021 che usa il russo: il ramo russo di ellipsis.md resta spento per l'italiano. Nessuna delle due si pronuncia su U+2026 contro tre U+002E; quella scelta è del motore ed è identica in ogni locale. DIVERGENZA NOTA, registrata: gli esempi stampati del Manuale non lasciano spazio prima dei puntini, mentre spaces.md §3.4 conserva in ogni locale lo spazio che precede una sequenza di punti; è deliberata e argomentata in spaces.md §7.9, identica a quella già registrata per el. Il Manuale è consultabile all'indirizzo op.europa.eu (cfr. le altre voci di questo file); l'url di questa voce punta alla fonte Crusca, poiché lo schema ne ammette uno solo. Consultati il 18.09.2026."
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"rule": "hyphen",
|
|
73
|
-
"cite": "Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), Parte quarta, punto 10.1.11 «Trattino»: «Il trattino («divisione» in linguaggio tipografico) […] si impiega principalmente per dividere la parola in fin di riga»; «Si può anche usare per unire due parole contraendo la prima: trattato italo-francese»",
|
|
74
|
-
"url": "https://op.europa.eu/it/publication-detail/-/publication/e774ea2a-ef84-4bf6-be92-c9ebebf91c1b",
|
|
75
|
-
"note": "Giustifica le tre liste vuote. La fonte enumera gli impieghi del trattino — e il primo che nomina è l'OPPOSTO dell'insecabilità — senza definire alcuna classe chiusa di forme morfologiche il cui trattino debba resistere all'andata a capo, che è l'unica cosa che questa regola consuma. Riscontro: Treccani, «Trattino [prontuario]» (Telve 2011), che elenca le funzioni di unione (afro-cubano, porta-finestra, maxi-schermo) senza definire neppure essa un elenco chiuso. La famiglia di prefissi (ex-, anti-, maxi-) è stata verificata espressamente perché è l'unica che lo schema saprebbe contenere: le fonti la trattano come schema produttivo e aperto, e un insieme aperto non è esprimibile in wordList. Consultati il 18.09.2026."
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"rule": "nbsp",
|
|
79
|
-
"cite": "BIPM, The International System of Units (SI), 9th ed. (2019), concise summary: «A single space is always left between the number and the unit»",
|
|
80
|
-
"url": "https://www.bipm.org/documents/20126/41483022/SI-Brochure-9-concise-EN.pdf",
|
|
81
|
-
"note": "Autorità per l'ELENCO delle unità, non per il legame: che lo spazio sia insecabile e che sia U+00A0 è deciso da nbsp.md §2.1, che una locale non può variare. Stessa impostazione di en-US, en-GB, fi e sv. L'elenco segue la forma prudente di fr e de-DE ed esclude deliberatamente i simboli di una sola lettera (m, g, l, s, A), che non si possono disambiguare senza contesto. La tabella del punto 6.4 del Manuale darebbe lo stesso risultato per «%» e «°C» ma non è invocata, per la ragione detta nella voce quotes. Consultati il 18.09.2026."
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"rule": "nbsp",
|
|
85
|
-
"cite": "Manuale interistituzionale di convenzioni redazionali, ed. 2011 (IT), punto 4.2.3, riquadro «Spazi vuoti protetti»: «Consentono di evitare la troncatura a fine riga di elementi che devono rimanere uniti»; «Da usare solo nei casi seguenti […]: n.• JO L• 10•000 / pag.• JO C• C.•M. Dupont», dove «•» indica lo spazio fisso",
|
|
86
|
-
"url": "https://op.europa.eu/it/publication-detail/-/publication/e774ea2a-ef84-4bf6-be92-c9ebebf91c1b",
|
|
87
|
-
"note": "INFERENZA DICHIARATA, accettata per decisione dell'operatore il 18.09.2026, non citazione piena — ed è esattamente la distinzione che questo campo esiste per non far sparire. I riquadri «Virgolette» e «Trattini» dello stesso punto 4.2.3 dicono «Nella lingua italiana» e «In italiano»: questo riquadro NON lo dice, ed è in parte non adattato, poiché «JO L» e «JO C» sono il Journal officiel francese e «Dupont» è un cognome francese, in un'edizione italiana il cui testo originale era in francese. Ciò che l'italiano c'è davvero: «pag.» è italiano (il francese scrive «p.») e «n.» è uso italiano corrente, quindi il riquadro è stato localizzato almeno in parte — su questo poggia beforeNumber. La sequenza «C.•M. Dupont» non contiene invece alcun materiale italiano, e initialBinding resta perciò \"none\", il valore pulito da citazione. Nessuna tolleranza di caso: N9 non ne ha, e sono stampate solo le forme minuscole «n.» e «pag.». «10•000» è raggruppamento delle migliaia e «JO L•» una serie della Gazzetta ufficiale: nessuno dei due è esprimibile in questo schema. Consultati il 18.09.2026."
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"rule": "nbsp",
|
|
91
|
-
"cite": "Nessuna fonte normativa italiana esaminata prescrive uno spazio prima di un segno d'interpunzione, né un legame per abbreviazioni con spazio interno, simboli o parole seguenti; liste deliberatamente vuote",
|
|
92
|
-
"note": "beforePunctuation e narrowBeforePunctuation sono vuote, e va detto con esattezza su che cosa poggiano: sull'ASSENZA di una fonte italiana che richieda quello spazio, NON su una fonte che lo neghi. A differenza del capitolo greco, che respinge la prassi francese nominandola, la Parte quarta italiana non la nomina mai: i punti 10.1.3 e 10.1.4 descrivono la funzione dei segni e tacciono sulla spaziatura. Il vincolo Q-P rende comunque la lista vuota la scelta strutturalmente sicura. afterShortWords, abbreviations, beforeWord e afterSymbols sono vuote per la stessa ragione: nessuna fonte esaminata le attesta per l'italiano. SEGNALAZIONE ALL'OPERATORE, non risolta qui: la Parte quarta si apre, al punto 10.1, con «Per la spaziatura dei segni d'interpunzione, cfr. punto 6.4», cioè il capitolo squalificato come prassi editoriale in el.json; se quel rinvio si leggesse come un'adozione, la tabella diventerebbe evidenza italiana e rafforzerebbe queste liste vuote. Consultati il 18.09.2026."
|
|
93
|
-
}
|
|
94
|
-
]
|
|
61
|
+
}
|
|
95
62
|
}
|
|
@@ -12,7 +12,20 @@
|
|
|
12
12
|
"close": "’",
|
|
13
13
|
"innerSpace": "none"
|
|
14
14
|
},
|
|
15
|
-
"elisionIdioms": []
|
|
15
|
+
"elisionIdioms": [],
|
|
16
|
+
"elisionClitics": {
|
|
17
|
+
"before": [],
|
|
18
|
+
"after": [
|
|
19
|
+
"s",
|
|
20
|
+
"t",
|
|
21
|
+
"ns",
|
|
22
|
+
"k",
|
|
23
|
+
"m",
|
|
24
|
+
"em",
|
|
25
|
+
"r",
|
|
26
|
+
"et"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
16
29
|
},
|
|
17
30
|
"dash": {
|
|
18
31
|
"parenthetical": "en-spaced",
|
|
@@ -30,55 +43,26 @@
|
|
|
30
43
|
"beforePunctuation": [],
|
|
31
44
|
"narrowBeforePunctuation": [],
|
|
32
45
|
"afterShortWords": [],
|
|
33
|
-
"abbreviations": [
|
|
34
|
-
|
|
46
|
+
"abbreviations": [
|
|
47
|
+
"prof. dr."
|
|
48
|
+
],
|
|
49
|
+
"beforeUnits": [
|
|
50
|
+
"%",
|
|
51
|
+
"‰",
|
|
52
|
+
"°C",
|
|
53
|
+
"km",
|
|
54
|
+
"cm",
|
|
55
|
+
"mm",
|
|
56
|
+
"kg",
|
|
57
|
+
"km/h",
|
|
58
|
+
"kWh"
|
|
59
|
+
],
|
|
35
60
|
"beforeNumber": [],
|
|
36
61
|
"beforeWord": [],
|
|
37
|
-
"afterSymbols": [
|
|
62
|
+
"afterSymbols": [
|
|
63
|
+
"€",
|
|
64
|
+
"$"
|
|
65
|
+
],
|
|
38
66
|
"initialBinding": "none"
|
|
39
|
-
}
|
|
40
|
-
"sources": [
|
|
41
|
-
{
|
|
42
|
-
"rule": "quotes",
|
|
43
|
-
"cite": "Nederlandse Taalunie, Taaladvies.net, «Dubbele of enkele aanhalingstekens bij een citaat»: «Er zijn geen vaste regels voor het gebruik van enkele of dubbele aanhalingstekens. Traditioneel werd aangeraden om bij letterlijk citeren dubbele aanhalingstekens te gebruiken […] We raden aan om consequent voor één systeem te kiezen», met voorbeeld (4a): «De koning zei: [U+201C]Ik herinner me nog dat iemand [U+2018]Vive la république[U+2019] riep[U+201D]»",
|
|
44
|
-
"url": "https://taaladvies.net/dubbele-of-enkele-aanhalingstekens-bij-een-citaat/",
|
|
45
|
-
"note": "BESLISSING VAN DE OPERATOR, 18.09.2026, en uitdrukkelijk geen citaat: de Taalunie WEIGERT te rangschikken — «Er zijn geen vaste regels» — en noemt drie mogelijke nestingen zonder er één te verkiezen. Het schema kent maar één paar per niveau, dus er moet gekozen worden. Gekozen is variant (4a) van de Taalunie zelf: U+201C/U+201D als eerste niveau, U+2018/U+2019 als tweede. Twee gronden, allebei genoemd omdat geen van beide een voorschrift is: het is de vorm die de Taalunie «traditioneel» aan het letterlijke citaat verbindt, en het is de vorm die elk ander locale in dit project al heeft. TEGENGESTELDE AANWIJZING, niet verzwegen: «Aanhalingstekens (algemeen)» merkt op dat «Enkele aanhalingstekens […] het meest gebruikt» worden — een waarneming over frequentie, geen voorschrift, maar hij wijst de andere kant op. GECONTROLEERD, want het was het enige technische argument dat de keuze had kunnen beslissen: de vrees dat U+2019 als sluitteken zou botsen met de Nederlandse apostrof (auto's, 's-Hertogenbosch, A4'tje) blijkt ONGEGROND — beide varianten geven op die zinnen hetzelfde, correcte resultaat. De keuze berust dus op de bron en op eenvormigheid, niet op een motoreigenschap. innerSpace = «none»: geen geraadpleegde bron vraagt om een spatie binnen de tekens. Geraadpleegd op 18.09.2026."
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"rule": "dashes",
|
|
49
|
-
"cite": "Nederlandse Taalunie, Taaladvies.net, «Wel of geen spaties voor en na leestekens en symbolen (algemeen)» (12 mei 2021): «Voor een gedachtestreepje komt altijd een spatie, en ook erna»; en «Gedachtestreepje»: «Als gedachtestreepje wordt doorgaans het zogeheten halve kastlijntje (–) gebruikt. Het halve kastlijntje is wat langer dan het koppelteken of het afbreekteken (-)»",
|
|
50
|
-
"url": "https://taaladvies.net/wel-of-geen-spaties-voor-en-na-leestekens-en-symbolen-algemeen/",
|
|
51
|
-
"note": "Onderbouwt dash.parenthetical = «en-spaced»: een spatie aan weerszijden en een streepje ter lengte van een halve kastlijn, dus U+2013 en niet U+2014. AFLEIDING, als zodanig gemarkeerd: de Taalunie noemt de lengte, niet het codepunt. De toewijzing aan U+2013 steunt op Genootschap Onze Taal, Taalloket, «kort streepje (-) of lang streepje (–)», dat de twee tekens expliciet tegenover elkaar zet en het «hele kastlijntje» (—) als vooral Engels en «in Nederland […] minder gebruikelijk» beschrijft. Rangorde, want de bronnen zijn niet gelijkwaardig: de Taalunie is het officiële taalorgaan, Onze Taal een taalvereniging, en Onze Taal wordt hier alleen gebruikt om vast te stellen welk van twee met name genoemde tekens de term van de Taalunie aanduidt. Geraadpleegd op 18.09.2026."
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"rule": "ranges",
|
|
55
|
-
"cite": "Genootschap Onze Taal, Taalloket, «kort streepje (-) of lang streepje (–)»: het korte streepje geeft tussen getallen «tot en met» aan — «1940-1945, de categorie 30-45 jaar, pagina 10-12»; Nederlandse Taalunie, «20 tot 30-jarigen of 20-30-jarigen?» (12 mei 2021), dat overal U+002D toont zonder over het streepjestype iets voor te schrijven",
|
|
56
|
-
"url": "https://onzetaal.nl/taalloket/streepje-kort-of-lang",
|
|
57
|
-
"note": "Onderbouwt dash.range = «none» als een keuze en niet als een leemte: het Nederlandse bereikteken is het koppelteken U+002D, dat de auteur al heeft getypt, en het schema kent daarvoor geen enum-waarde. «none» laat de invoer ongemoeid, wat precies is wat de bron beschrijft; «en-tight» zou er een vorm van maken die geen enkele Nederlandse bron voorschrijft. Aparte ingang van die van dashes, omdat de twee velden op verschillende bronnen rusten. De regel «ranges» staat standaard uit (spec 0.5.0). Geraadpleegd op 18.09.2026."
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"rule": "ellipsis",
|
|
61
|
-
"cite": "Nederlandse Taalunie, Taaladvies.net, «Punt na enz. of beletselteken aan het einde van een zin» (12 mei 2021): «na een afkorting met een punt of na een beletselteken aan het eind van een zin, komt geen extra punt», met het voorbeeld «Hou je van jazz, blues, soul …?»",
|
|
62
|
-
"url": "https://taaladvies.net/punt-na-enz-of-beletselteken-aan-het-einde-van-een-zin/",
|
|
63
|
-
"note": "Onderbouwt abbreviatedAfterTerminal = false. Het beletselteken is «een vaste eenheid van drie punten» en het vraagteken volgt erop; voor de Russische tweepuntsvorm «?..» geeft geen geraadpleegde Nederlandse bron een grondslag. Anders dan bij het Grieks valt hier niets af te wijken: het Nederlands schrijft juist wél een spatie vóór het beletselteken, en spaces.md §3.4 laat die spatie in elk locale staan — bron en motor zijn het hier eens. Geraadpleegd op 18.09.2026."
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"rule": "hyphen",
|
|
67
|
-
"cite": "Nederlandse Taalunie, Taaladvies.net, «Auto-ongeluk (afbreking)» (12 mei 2021): «Bij woordafbreking valt een koppelteken weg als wordt afgebroken op de plaats waar dat koppelteken in de grondvorm staat»",
|
|
68
|
-
"url": "https://taaladvies.net/auto-ongeluk-afbreking/",
|
|
69
|
-
"note": "Onderbouwt drie lege lijsten. Het Nederlands staat afbreking op het koppelteken niet alleen toe, het laat het koppelteken daarbij wégvallen — het omgekeerde van een claim op U+2011. Geen geraadpleegde bron omschrijft een gesloten klasse vormen waarvan het koppelteken een regelovergang moet weerstaan, en dat is het enige wat deze regel leest. Geraadpleegd op 18.09.2026."
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"rule": "nbsp",
|
|
73
|
-
"cite": "Nederlandse Taalunie, Taaladvies.net, «Wel of geen spaties voor en na leestekens en symbolen (algemeen)» (12 mei 2021): «Vóór een punt, een komma, een dubbele punt, een puntkomma, een uitroepteken en een vraagteken komt geen spatie»; «Bij toevallige, niet-conventionele combinaties van een getal en een afgekorte eenheid […] komt er een spatie tussen het getal en de eenheid»; «Tussen een valutateken en het bijbehorende getal staat een spatie, tenzij het geheel deel uitmaakt van een samenstelling» — «De vaas kostte € 179,–»; BIPM, The International System of Units (SI), 9th ed., concise summary — uitsluitend voor de samenstelling van de symbolenlijst",
|
|
74
|
-
"url": "https://taaladvies.net/wel-of-geen-spaties-voor-en-na-leestekens-en-symbolen-algemeen/",
|
|
75
|
-
"note": "Drie velden uit één pagina. beforePunctuation en narrowBeforePunctuation leeg: alle zes leestekens worden bij name genoemd en krijgen geen spatie — een ontkenning, geen stilzwijgen. beforeUnits: BIPM levert welke reeksen SI-symbolen zijn, de Taalunie de Nederlandse conventie; eenletterige symbolen blijven weg zoals in fr.json. afterSymbols = [«€», «$»]: LET OP BIJ HET OVERNEMEN VAN fr.json — in het Nederlands gaat het valutateken aan het getal vooraf («€ 179»), in het Frans volgt het erop («2 €»), dus het hoort hier in afterSymbols en niet in beforeUnits. De twee leden zijn die welke het kopje «Valutatekens (€, $)» zelf noemt: een klasse-afleiding over een MET NAME GENOEMDE tweeledige klasse, gemarkeerd naar het voorbeeld van fr.json bij M., MM., Mmes. TOEGESTANE VARIANTEN, vastgelegd: voor het procentteken laat de Taalunie zowel «25 %» als «25%» toe, en bij °C schrijft zij dat er «meestal geen spatie» staat terwijl ISO er één voorschrijft. Dat hoeft niet beslecht te worden: N5 zet alleen een bestaande spatie om en voegt er nooit een in (nbsp.md §3.7). afterShortWords, beforeNumber en beforeWord zijn leeg: deze pagina loopt de leestekens en symbolen één voor één langs en zegt daarover niets, en het Nederlands kent geen tegenhanger van de Poolse sierotka-regel. Geraadpleegd op 18.09.2026."
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"rule": "nbsp",
|
|
79
|
-
"cite": "Nederlandse Taalunie, Taaladvies.net, «Prof.( )dr.» (12 mei 2021): «Ja, tussen bijvoorbeeld prof. dr. komt een spatie»; «Alleen als de afgekorte woorden tezamen een afkorting vormen, vervalt de spatie: a.s., a.u.b., m.b.v., n.a.v., z.o.z.»; «In verzorgd zetwerk wordt tussen voorletters en in afkortingen als v.d. bij voorkeur een halve spatie (of dunspatie) geplaatst»",
|
|
80
|
-
"url": "http://taaladvies.net/legacylink.php?id=vraag/678",
|
|
81
|
-
"note": "Onderbouwt abbreviations = [«prof. dr.»] — de enige Nederlandse afkorting met een interne U+0020 die letterlijk is aangetroffen. De gesloten vormen (a.s., a.u.b.) hebben geen interne spatie, zodat N4 daar niets te bevorderen heeft; dáárom telt de lijst één ingang en is hij niet leeg. initialBinding = «none»: de enige Nederlandse uitspraak hierover vraagt om een DUNNE spatie, een waarde die het schema niet kent terwijl N7 U+00A0 invoegt — en, belangrijker, geen geraadpleegde bron zegt dat een voorletter niet door een regelovergang van de achternaam gescheiden mag worden, en dát is wat N7 werkelijk doet. Geraadpleegd op 18.09.2026."
|
|
82
|
-
}
|
|
83
|
-
]
|
|
67
|
+
}
|
|
84
68
|
}
|