Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -414,14 +414,14 @@ # Parenthèses collées __/typo(typo_parenthèse_fermante_collée)__ [)]\b(?![s¹²³⁴⁵⁶⁷⁸⁹⁰]\b) - <<- not before("\\([rR][eéEÉ]$") ->> ") " && Il manque un espace après la parenthèse. + <<- not before("\\([rR][eéEÉ]$") ->> ") " && Il manque un espace après la parenthèse. __/typo(typo_parenthèse_ouvrante_collée)__ \b[(](?=[^)][^)][^)]) - <<- ->> " (" && Il manque un espace avant la parenthèse. + <<- ->> " (" && Il manque un espace avant la parenthèse. TEST: C’est au fond du couloir{{(}}celui du deuxième étage{{)}}qu’il se trouve. TEST: (a + b)² TEST: il faut (re)former tout ça. @@ -1380,12 +1380,12 @@ !!!! Dates !! !! !! __[i]/date(date_nombres)__ (?> _ && Cette date est invalide. - <<- ~>> \1-\3-\5 + <<- \2 == \4 and not checkDate(\1, \3, \5) and not before("(?i)\\b(?:version|article|référence)s? +$") ->> _ && Cette date est invalide. + <<- ~>> \1-\3-\5 TEST: le {{29 02 2011}} TEST: le {{40-02-2011}} TEST: le {{32.03.2018}} TEST: le {{81/01/2012}} @@ -1450,11 +1450,11 @@ ## Casse __[s]/ocr(ocr_casse_pronom_vconj)__ {w2}-(On|Ils?|Elles?|Tu|Je|Nous|Vous|Mêmes?|Ci|Là|Une?s|Les?|La|Leur) @@$ - <<- -1>> =\1.lower() && Erreur de numérisation ? Casse douteuse. + <<- -1>> =\1.lower() && Erreur de numérisation ? Casse douteuse. TEST: __ocr__ Part-{{On}} demain ? TEST: __ocr__ À ce compte-{{Ci}}, on n’en viendra jamais à bout. TEST: __ocr__ Quelques-{{Uns}} sont incapables d’y parvenir. @@ -1474,11 +1474,11 @@ ## Trait d’union conditionnel __[i]/ocr(tu_trait_union_conditionnel)__ ({w1})‑({w1}) @@0,$ - <<- ->> \1\2|\1-\2 && Trait d’union conditionnel. Erreur de numérisation ? + <<- ->> \1\2|\1-\2 && Trait d’union conditionnel. Erreur de numérisation ? TEST: __ocr__ c’est {{anti‑américain}} ## Caractères rares @@ -1626,14 +1626,14 @@ !!!! Doublons !! __[s](doublon)__ ({w1}) {1,3}\1 @@0 - <<- not re.search("(?i)^([nv]ous|faire|en|la|lui|donnant|œuvre|h[éoa]|hou|olé|joli|Bora|couvent|dément|sapiens|très|vroum|[0-9]+)$", \1) - and not (re.search("^(?:est|une?)$", \1) and before("[’']$")) - and not (\1 == "mieux" and before("(?i)qui +$")) - ->> \1 && Doublon. + <<- not re.search("(?i)^([nv]ous|faire|en|la|lui|donnant|œuvre|h[éoa]|hou|olé|joli|Bora|couvent|dément|sapiens|très|vroum|[0-9]+)$", \1) + and not (re.search("^(?:est|une?)$", \1) and before("[’']$")) + and not (\1 == "mieux" and before("(?i)qui +$")) + ->> \1 && Doublon. TEST: Il y a un {{doublon doublon}}. !!!! Nombres: typographie !! @@ -1649,27 +1649,27 @@ !!!! Écritures épicènes invariables !! __[i](d_eepi_écriture_épicène_pluriel)__ ({w_1}[éuitsrn])_(?:[nt]|)e_s @@0 - <<- morph(\1, ":[NAQ]", ":G") =>> define(\1, ":N:A:Q:e:p") + <<- morph(\1, ":[NAQ]", ":G") =>> define(\1, ":N:A:Q:e:p") __[i](d_eepi_écriture_épicène_singulier)__ ({w_2}[éuitsrn])_e @@0 - <<- morph(\1, ":[NAQ]") =>> define(\1, ":N:A:Q:e:s") + <<- morph(\1, ":[NAQ]") =>> define(\1, ":N:A:Q:e:s") !!!! Purge des références aux notes !! # les références aux notes __(p_exposants)__ [¹²³⁴⁵⁶⁷⁸⁹⁰]+ - <<- ~>> * + <<- ~>> * __[i](p_références_aux_notes)__ ({w_2})(\d+) @@0,$ - <<- not morph(\0, ":") and morph(\1, ":") ~2>> * + <<- not morph(\0, ":") and morph(\1, ":") ~2>> * TEST: POLITIQUESOCIÉTÉÉCONOMIEMONDECULTUREART DE VIVREMAGAZINE (qui peut faire boguer JavaScript avec certaines regex) !!!! Traits d’union !! @@ -1682,19 +1682,19 @@ TEST: Nous préparons une {{contre−attaque}}. __> - && Le “t” euphonique n’est pas nécessaire avec “\2”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513 - <<- __else__ and \1 != "-t-" and \1 != "-T-" -1>> -t- && Pour le “t” euphonique, il faut deux traits d’union. Pas d’apostrophe. Pas d’espace. - <<- \1 != "-t-" ~1>> -t- + <<- re.search("(?i)^(?:ie?ls|elles|tu)$", \2) -1>> - && Le “t” euphonique n’est pas nécessaire avec “\2”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513 + <<- __else__ and \1 != "-t-" and \1 != "-T-" -1>> -t- && Pour le “t” euphonique, il faut deux traits d’union. Pas d’apostrophe. Pas d’espace. + <<- \1 != "-t-" ~1>> -t- __> - && Le “t” euphonique est superflu quand le verbe se termine par “t” ou “d”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513 - <<- \1 != "-t-" ~1>> -t- + <<- -1>> - && Le “t” euphonique est superflu quand le verbe se termine par “t” ou “d”.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513 + <<- \1 != "-t-" ~1>> -t- __> -t-\2 && Il faut un “t” euphonique.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513 + [aec](-(il|elle|on)) @@1,2 <<- -1>> -t-\2 && Il faut un “t” euphonique.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?T1=t+euphonique&id=2513 TEST: va{{ t’}}il y parvenir ? ->> -t- TEST: A{{ t’}}elle soif ? ->> -t- TEST: A{{ t-}}elle faim ? ->> -t- TEST: a{{ t'}}elle ->> -t- @@ -4313,10 +4313,15 @@ <<- /tu/ ->> arrière-petit-neveu|arrière-petits-neveux && Mettez des traits d’union. >arrière >petit >nièce <<- /tu/ ->> arrière-petite-nièce|arrière-petites-nièces && Mettez des traits d’union. + au jour d’ [hui+s|oui|huit] + [au-jour-d’hui+s] + au-jour d’ [hui+s|oui|huit] + <<- /tu/ ->> aujourd’hui && Soudez. “Aujourd’hui” : agglutination de l’ancienne locution “au jour d’hui”, “hui” signifiant autrefois “en ce jour”.|https://fr.wiktionary.org/wiki/aujourd%E2%80%99hui + [basket|volley] ball <<- /tu/ ->> \1-\2 && Il manque un trait d’union. bas [>côté|coté|cotés] <<- /tu/ morph(<1 , ":D") ->> bas-côté|bas-côtés && Il manque un trait d’union. @@ -4491,10 +4496,11 @@ TEST: nos {{arrière petits enfants}} TEST: son {{arrière petite fille}} TEST: mon {{arrière petit fils}} TEST: un {{arrière petit neveu}} TEST: ton {{arrière petite nièce}} +TEST: {{au jour d’hui}} TEST: je déteste le {{basket ball}} TEST: sur le {{bas côté}} TEST: les {{beaux arts}} TEST: {{le}} {{bouche à oreille}} TEST: {{chef lieu}} de ce canton @@ -4549,29 +4555,46 @@ TEST: un {{va et vient}} incessant me casse la tête TEST: il va et vient sans mot dire TEST: Il a été nommé {{vice président}} TEST: un super {{week end}} ->> week-end + +__tu_chez_pronom__ + mon chez moi + ton chez toi + [son|leur] chez [lui|elle] + [un|ce|son|leur|leurs] chez soi + notre chez nous + votre chez vous + [leur|leurs] chez [eux|elles] + <<- /tu/ -2:3>> \2-\3 && Dans le cas de figure où chez soi est utilisé comme nom, il faut mettre un trait d’union. + +TEST: c’est mon {{chez moi}} +TEST: c’est ton {{chez toi}}. +TEST: c’est notre {{chez nous}} +TEST: chez soi, rien d’impersonnel. + __tu_va_t_en__ - va t en - va t-en - va-t en - va-t-en + [va+s] t [en|>an] + [va+s] [t-en|>tan] + va-t [en|>an] + [va-t-en|vas-t-en] vat-en <<- /tu/ not value(>1, "|guerre|guerres|") ->> va-t’en && Une apostrophe est nécessaire (s’en aller). - va t en >guerre - va-t’en >guerre - va t’en >guerre - va-t en >guerre - va t-en >guerre - vat’en >guerre - vat-en >guerre - vat en >guerre - va-t-en >guerre + [va|vas] t [en|>an] [>guerre|guère] + va-t’en [>guerre|guère] + [va|vas] t’en [>guerre|guère] + va-t [en|>an] [>guerre|guère] + [va+s] [t-en|>tan|tant] [>guerre|guère] + vat’en [>guerre|guère] + vat-en [>guerre|guère] + vat [en|>an] [>guerre|guère] + va-t-en [>guerre|guère] va-t’en-guerre + va-t-en-guère <<- /tu/ ->> va-t-en-guerre && Va-t-en-guerre (invariable) : des traits d’union sont nécessaires.|https://fr.wiktionary.org/wiki/va-t-en-guerre TEST: {{Va-t-en}}, c’en est assez. TEST: Un {{va-t’en guerre}}, on ne peut pas lui faire confiance. TEST: Les {{va-t-en guerre}} sont de sortie. @@ -4610,13 +4633,16 @@ [Île|Ile] de France Pas de Calais Saône et Loire <<- /tu/ ->> \1-\2-\3 && Il manque les traits d’union. + Clermont-Ferrant + Clermont [Ferrant|Ferrand] + <<- /tu/ ->> Clermont-Ferrand && Ville de Clermont-Ferrand. + Bosnie Herzégovine Charente Maritime - Clermont [Ferrant|Ferrand] Colombie Britannique États Unis Franche Comté Grande Bretagne Haute [Garonne|Loire|Marne|Normandie|Corse|Vienne] @@ -4632,13 +4658,17 @@ <<- /tu/ -2:3>> \2-\3 && Il manque un trait d’union. Royaume Uni <<- /tu/ ->> Royaume-Uni && Il manque un trait d’union (s’il s’agit de l’État englobant la Grande-Bretagne et l’Irlande du Nord). - [Saint|Sainte] /_Tit_ - <<- /tu/ not value(<1, "||") and morph(\2, ":M") ->> \1-\2 - && Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “saint” ou “sainte” sans majuscule, sans trait d’union. + Saint /_Tit_ + <<- /tu/ not value(<1, "||") and morph(\2, ":M") -:>> \1-\2|saint \2 + && Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “saint” sans majuscule, sans trait d’union. + + Sainte /_Tit_ + <<- /tu/ not value(<1, "||") and morph(\2, ":M") -:>> \1-\2|sainte \2 + && Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “sainte” sans majuscule, sans trait d’union. [St|Ste] /_Tit_ <<- /tu/ ->> \1-\2 && Il manque un trait d’union s’il s’agit d’une église, d’une cité, d’une communauté, d’un lieu… S’il s’agit d’une personne, écrivez “saint” ou “sainte” sans majuscule, sans trait d’union. @@ -4659,11 +4689,12 @@ TEST: Vivre dans le {{Pas de Calais}} TEST: Vivre aux {{Pays Bas}} TEST: Des vacances en {{Rhône Alpes}} TEST: Émigrer au {{Royaume Uni}} TEST: Elle déménage en {{Saône et Loire}} -TEST: La station {{Saint Georges}} +TEST: La station {{Saint Georges}} ->> Saint-Georges|saint Georges +TEST: que penser de {{Sainte Catherine}} ->> Sainte-Catherine|sainte Catherine TEST: Elle va prier à {{Ste Catherine}}. __tu_nombres__ dix [sept|huit|neuf] @@ -4770,11 +4801,11 @@ __tu_y_attaché__ ~^[yY][’-]\w+ <<- /tu/ morph(\1, ":V0", "", 2) -1>> ="y " + \1[2:] && Ni apostrophe ni trait d’union après “y”. - ~^[yY][’-][\w-]+-(?:ils?|elles?|je|tu|on|nous|vous) + ~^[yY][’-][\w-]+-(?:ie?ls?|elles?|je|tu|on|nous|vous)$ y’en y-en <<- /tu/ -1>> ="y " + \1[2:] && Ni apostrophe ni trait d’union après “y”. TEST: {{Y’a}} trop de malheureux sur Terre. ->> "Y a" @@ -7907,31 +7938,34 @@ # ça / çà / sa __conf_ça_çà_sa!7__ ça @:[NAQ].*:f¬:(?:G|P|[123][sp])|>seul/ - <<- /conf/ not morph(<1, ">(?:appeler|considérer|trouver)/") -1>> sa && Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte). + <<- /conf/ not morph(<1, ">(?:appeler|considérer|trouver)/") -1>> sa && Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte). sa @:G¬>(?:tr(?:ès|op)|peu|bien|plus|moins|toute|presque|non)/|:[NAQ].*:f <<- /conf/ not (value(\2, "|ou|") and value(>1, "|son|ses|")) and morph(\1, ":D") - -1>> ça && Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte). + -1>> ça && Confusion : “sa” (sa maison, sa passion) ≠ “ça” (ça vient, ça heurte). + + sa $:P¬:A + <<- /conf/ \1 != "SA" -1>> ça|se && Confusion probable : “\2” est un participe présent. Soit vous confondez “ça” (équivalent à cela ou ceci) et “sa” (déterminant féminin), soit il faut écrire “se” (exemples : untel se considérant légitime, se prenant en main, se trouvant assez capable…), soit “\2” devrait être un nom ou adjectif féminin. çà <<- /conf/ not value(<1, "|oh|ah|") and not after("^ +et là") - ->> ça && Confusion : « çà » ne s’emploie plus guère que dans l’expression « çà et là ». - - ça et là - <<- /conf/ not morph(<1, ":R") ->> çà et là && Confusion : « ça » équivaut à « cela ». Dans l’expression « çà et là », « çà » équivaut à « ici ». + ->> ça && Confusion : « çà » ne s’emploie plus guère que dans l’expression « çà et là ».|https://fr.wiktionary.org/wiki/%C3%A7%C3%A0 sa [|,|)] <<- /conf/ \1 != "SA" -1>> ça && Confusion probable : “sa” est un déterminant féminin singulier. Pour l’équivalent de “cela” ou “ceci”, écrivez “ça”. [c’|ç’] [à|a] <<- /conf/ space_after(\1, 0, 0) and not (value(\2, "|a|") and value(>1, "|été|")) >>> <<- /conf/ value(>1, "|été|") -2>> a && Confusion. Pour le verbe avoir à la 3ᵉ personne du singulier, écrivez “a”. <<- /conf/ __else__ ->> ça|sa && Confusion. Si vous voulez dire “cela”, écrivez “ça”. Pour le déterminant possessif, écrivez “sa”. + ça et là + <<- /conf/ not morph(<1, ":R") ->> çà et là && Confusion : « ça » équivaut à « cela ». Dans l’expression « çà et là », « çà » équivaut à « ici ». + TEST: Je prends {{sa}}… TEST: {{ça}} patrie, il la détestait TEST: et {{sa}} par deux fois TEST: Il trouva de la nourriture {{ça et là}}. ->> çà et là TEST: c’est {{çà}} ->> ça @@ -7941,10 +7975,11 @@ TEST: {{sa}} l’ennuierait, ce fils de pute, de dire bonjour ? TEST: il faut s’y prendre comme {{sa}} TEST: on fait {{sa}} lorsqu’on a tout perdu TEST: {{ç’a}} craint, cette histoire TEST: ç’{{à}} été dur ->> a +TEST: {{sa}} trouvant en difficulté, il ne sut que faire ->> ça|se TEST: ç’a été difficile. TEST: Eux, ils appellent ça routine. TEST: avec sa presque belle-mère TEST: sa toute nouvelle application de synchronisation de fichiers TEST: communiquer avec sa ou son partenaire. @@ -7953,10 +7988,11 @@ TEST: Emblème des SA. TEST: chef d’état-major de la SA. TEST: À partir de 1934, et après l’élimination de ses principaux dirigeants durant la nuit des Longs Couteaux, la SA ne joue plus aucun rôle politique. TEST: Adolf Hitler a créé les SA à Munich le 8 août 1921 en réunissant d’anciens combattants, des officiers mécontents et des membres des corps francs TEST: En 1933, après l’élection du NSDAP, les SA se voyaient en concurrence avec l’armée régulière (Reichswehr) +TEST: les SA devenant de plus en plus extrêmistes # car / quart __conf_quart_car__ [un|du|ce|quel|mon|ton|son|notre|votre|leur] car d’ heure @@ -8385,11 +8421,11 @@ <<- /conf/ --1>> court && “Couper court” qui signifie écourter. Noms : une cour, un cours… Adjectif : court. >avoir ?@:[WX]¿ [cour|court+s|courre+s] <<- /conf/ --1>> cours && Confusion. « Avoir cours ».|https://fr.wiktionary.org/wiki/avoir_cours - [>avoir|>donner|>laisser] ?@:[WX]¿ libre [cour|court|courts|courre|courres] + [>avoir|>donner|>laisser] ?@:[WX]¿ libre [cour|court+s|courre+s] <<- /conf/ --1>> cours && Confusion probable. Ce qui a « libre cours ».|https://fr.wiktionary.org/wiki/donner_libre_cours TEST: au {{court}} de cette journée TEST: les exercices {{en cour}} se déroulent bien. TEST: je vais couper {{cours}} à ces conneries. @@ -8410,12 +8446,12 @@ __conf_cuir_cuire__ >dur [à|a] >cuir <<- /conf/ -3>> cuire && Confusion. Locution “dur à cuire”. Le cuir est le nom qu’on donne à la peau animale. Pour évoquer la cuisson, écrivez “cuire”.|https://fr.wiktionary.org/wiki/cuire <<- /conf/ \2 == "a" -2>> à && Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. - en cuire [de|d’] [buffle|crocodile|hippopotame|porc|vache] - <<- /conf/ -2>> cuir && Confusion. La peau animale s’écrit “cuir”.|https://fr.wiktionary.org/wiki/cuire + en cuire [de|d’] [âne|auroch|bison|bœuf|buffle|cerf|cheval|chèvre|chevreuil|crocodile|daim|génisse|hippopotame|kangourou|porc|sanglier|serpent|taureau|vache|veau|zébu|zèbre] + <<- /conf/ -2>> cuir && Confusion. La peau animale s’écrit “cuir”.|https://fr.wiktionary.org/wiki/cuir TEST: ce sont des durs à {{cuir}} TEST: Quelle dure {{a}} {{cuir}}, celle-là. TEST: revêtement en {{cuire}} de vache @@ -14117,11 +14153,12 @@ non loin [de|d’] [ici|là] non sans mal ¿[de|d’|vers]¿ nulle part ô combien oh - ou quelque chose d’ approchant + ou quelque chose d’ [approchant|identique] + ou quelque chose [de|d’] similaire où bon [me|te|lui|nous|vous|leur] semble oui [ou|et] non outre mesure par [à-coups|ailleurs|avance|chance|conséquent|curiosité|contre|défaut|définition|endroits|essence|excellence|exemple|hasard|ici|inadvertance|là|mégarde|nature|principe|terre] par acquit [de|d’] conscience @@ -16473,11 +16510,11 @@ >parler affaires >partir en vrille >passer à tabac >passer du coq à l’ âne >percer à jour - >perdre [connaissance|conscience|patience|raison] + >perdre [connaissance|conscience|patience|pied|raison] >perdre d’ avance >piquer au vif >plier >bagage >porter [assistance|atteinte|bonheur|caution|chance|malheur|plainte|préjudice|secours] >poser problème @@ -18278,10 +18315,19 @@ >chasser la proie pour l’ ombre <<- /conf/ -1>> =\1.lower().replace("cha", "lâ") && Expression impropre. On écrit « lâcher la proie pour l’ombre ».|https://fr.wiktionary.org/wiki/l%C3%A2cher_la_proie_pour_l%E2%80%99ombre TEST: il ne faut pas {{chasser}} la proie pour l’ombre. + +# lest / leste +__conf_lâcher_du_lest__ + [>jeter|>lâcher|>relâcher] [du|le|ce] leste + [>gramme|>kilo|>tonne] [de|d’] leste + <<- /conf/ --1>> lest && Confusion. L’adjectif “leste” signifie “adroit, agile, prompt…”. Pour l’excédent de poids, écrivez ”lest”.|https://fr.wiktionary.org/wiki/lest + +TEST: Faut lâcher du {{leste}} + # lieux / lieues / lieus __conf_lieux_lieues_lieus__ [>assurance|>état|>visite|>maître|>maitre|>seigneur|>magie|>chef|>responsable|respect|entretien|propreté|>propriétaire|tranquillité|dans|vers|>plan] des [lieues|lieus] <<- /conf/ --1>> lieux && Confusion probable. Pour désigner un endroit, écrivez “lieux”.|https://fr.wiktionary.org/wiki/lieu @@ -18963,10 +19009,11 @@ >avoir [ça|cela|ceci] dans le [sans|san|sens] >buveur [de|d’] [sans|san|sens] >flot [de|d’] [sans|san|sens] la voix du [sans|san|sens] >pisser [le|du] [sans|sens] + >soif [de|d’] [sans|san] c >être [mon|ton|son|notre|votre|leur|leurs] [sans|san] <<- /conf/ --1>> sang && Confusion probable. Pour évoquer le fluide sanguin, écrivez “sang”.|https://fr.wiktionary.org/wiki/sang TEST: Tout est {{sans dessus dessous}}. TEST: le {{sans}} a coulé.