Index: gc_core/js/lang_core/gc_engine.js
==================================================================
--- gc_core/js/lang_core/gc_engine.js
+++ gc_core/js/lang_core/gc_engine.js
@@ -266,12 +266,15 @@
             sText = sText.replace(/ /g, ' '); // snbsp
         }
         if (sText.includes("'")) {
             sText = sText.replace(/'/g, "’");
         }
+        if (sText.includes("‐")) {
+            sText = sText.replace(/‐/g, "-"); // Hyphen (U+2010)
+        }
         if (sText.includes("‑")) {
-            sText = sText.replace(/‑/g, "-"); // nobreakdash
+            sText = sText.replace(/‑/g, "-"); // Non-Breaking Hyphen (U+2011)
         }
         if (sText.includes("@@")) {
             sText = sText.replace(/@@+/g, "");
         }
         return sText;

Index: gc_core/py/lang_core/gc_engine.py
==================================================================
--- gc_core/py/lang_core/gc_engine.py
+++ gc_core/py/lang_core/gc_engine.py
@@ -311,12 +311,14 @@
             sText = sText.replace(" ", ' ') # nbsp
         if " " in sText:
             sText = sText.replace(" ", ' ') # nnbsp
         if "'" in sText:
             sText = sText.replace("'", "’")
+        if "‐" in sText:
+            sText = sText.replace("‐", "-") # Hyphen (U+2010)
         if "‑" in sText:
-            sText = sText.replace("‑", "-") # nobreakdash
+            sText = sText.replace("‑", "-") # Non-Breaking Hyphen (U+2011)
         if "@@" in sText:
             sText = re.sub("@@+", "", sText)
         return sText
 
     def parseText (self, sText, sText0, bParagraph, nOffset, sCountry, dOptions, bShowRuleId, bDebug, bContext):

Index: gc_lang/fr/rules.grx
==================================================================
--- gc_lang/fr/rules.grx
+++ gc_lang/fr/rules.grx
@@ -4131,10 +4131,14 @@
 !!
 !!
 !!!! Traits d’union                                                                               !!
 !!
 !!
+
+
+TEST: pourquoi habite‐t‐on loin de son activité (traits d’union U+2010)
+
 
 ### ce / cet / cette / ces + nom + là
 __tu_ce_cette_ces_nom_là_ci__
     [ce|cet|cette|ces] *WORD là
         <<- /tu/ morph(\2, ":[NB]", ":V0e") and not value(>1, "|où|") -2:3>> \2-\3      && Il manque probablement un trait d’union.
@@ -8561,10 +8565,19 @@
         <<- /conf/ --2>> content                                                        && Confusion. Locution prépositive “non content de…”.|https://fr.wiktionary.org/wiki/non_content_de
 
 TEST: elle avait tout son {{contant}} de problèmes.
 TEST: non {{comptant}} de s’en prendre à eux, il s’attaqua aussi à elles
 
+
+# contre partie
+__conf_en_contrepartie__
+    [en|sans] >contre >parti
+        <<- /conf/ -2:3>> contrepartie              && Confusion. Locution “\1 contrepartie”.
+
+TEST: en {{contre parti}}                           ->> contrepartie
+TEST: sans {{contres partis}}                       ->> contrepartie
+
 
 # corps / cor
 __conf_corps_cor__
     !! à bras-le-corps ¡¡
     [à|a] [bras-le-corps|bras-le-cor]
@@ -9847,11 +9860,11 @@
         <<- /conf/ -1>> m’a                         && Confusion probable : “\-2“ est un participe passé. Vous confondez probablement “ma” et “m’a” (contraction de “me” suivi du verbe avoir “a”).
 
 TEST: tu {{ma}} prise par surprise                          ->> m’as
 TEST: il {{ma}} tuée                                        ->> m’a
 TEST: cette femme ne {{ma}} prise que deux fois             ->> m’a
-TEST: {{on}} {{ma}} dézinguée                               ->> m’a|||ont
+TEST: {{on}} {{ma}} dézinguée                               ->> ont|||m’a
 TEST: ça {{ma}} {{foutu}} en l’air
 TEST: cet homme {{ma}} succédé à ce poste                   ->> m’a
 TEST: {{ma}} {{donner}} la nausée, ce con
 TEST: c’est ça qui {{ma}} forcée à poursuivre               ->> m’a
 TEST: ça ma grande, c’est mon secret
@@ -9923,10 +9936,48 @@
     n’ [es-ce|ai-ce|aie-ce|aies-ce|et-ce|ait-ce|aient-ce|hé-ce|eh-ce|e-ce|é-ce] pas
         <<- /conf/ ->> n’est-ce pas                         && Confusion. N’est-ce pas.|https://fr.wiktionary.org/wiki/n%E2%80%99est-ce_pas
 
 TEST: on en a plus qu’assez, {{n’ait-ce pas}} ?
 
+
+# nez / né
+__conf_nez_né__
+    !! à plein nez ¡¡
+    [à|a] [plain+s|plein+s] [né+ses|nez]
+        <<- /conf/ ->> à plein nez                          && Confusion. Locution “à plein nez”.|https://fr.wiktionary.org/wiki/%C3%A0_plein_nez
+
+    !! à vue [de|d’] nez ¡¡
+    [à|a] [vu+ses|vut] [de|d’] [né+ses|nais|nait|nez]
+        <<- /conf/ ->> à vue de nez                         && Confusion. Locution “à vue de nez”.|https://fr.wiktionary.org/wiki/%C3%A0_vue_de_nez
+
+    !! nez à nez ¡¡
+    [né+ses|ne|nez|nait|nais] [à|a] [né+ses|ne|nez|nait|nais]
+        <<- /conf/ ->> nez à nez                            && Confusion. Locution “nez à nez”.|https://fr.wiktionary.org/wiki/nez_%C3%A0_nez
+
+    [à|a] [mon|ton|son|notre|votre|leur] né
+    au [né+ses]
+    [dans|sur|sous] le [né+ses]
+    >crotte [de|d’] [né+ses]
+    [>mettre|>fourrer] ?@:[WX]¿ [le|mon|ton|son|notre|votre|leur] [né+ses]
+    >voir ?@:[WX]¿ plus loin [que|qu’] [le|mon|ton|son|notre|votre|leur] [né+ses]
+    >voir ?@:[WX]¿ plus loin [que|qu’] le bout [de|d’] [mon|ton|son|notre|votre|leur] [né+ses]
+    >avoir du [né+ses]
+        <<- /conf/ --1>> nez                                && Confusion. Pour l’organe olfactif, écrivez “nez”.|https://fr.wiktionary.org/wiki/nez
+
+    [né+ses] au vent
+        <<- /conf/ -1>> nez                                 && Confusion. Pour l’organe olfactif, écrivez “nez”.|https://fr.wiktionary.org/wiki/nez
+
+TEST: dans le {{né}}                                                    ->> nez
+TEST: {{a plain né}}                                                    ->> à plein nez
+TEST: {{a vu de nez}}                                                   ->> à vue de nez
+TEST: elles se retrouvent {{né à né}}                                   ->> nez à nez
+TEST: je ne puis tolérer qu’il me raccroche au {{né}}                   ->> nez
+TEST: avancer {{né}} au vent                                            ->> nez
+TEST: ne fourre pas ton {{né}} n’importe où                             ->> nez
+TEST: ça sent le gaz à plein nez
+TEST: à vue de nez, ça pue bien fort
+
 
 # notre / nôtre -- votre / vôtre
 # Hunspell corrige déjà les formes au pluriel (les nôtres).
 __conf_nôtre_notre__
     [le|la|les|du|des|au|aux] notre
@@ -10553,10 +10604,11 @@
 
     [>pore|>porc] [usb|RJ45|DVI|HDMI|Ethernet|DisplayPort]
         <<- /conf/ -1>> port|ports                                          && Confusion. Pour évoquer les connecteurs, écrivez “port”.|https://fr.wiktionary.org/wiki/port
 
     [pore|porc] de l’ [écharpe|étoile|épée]
+    [pore|porc] du masque
         <<- /conf/ -1>> port                                                && Confusion. Pour évoquer les objects que l’on porte, écrivez “port”.|https://fr.wiktionary.org/wiki/port
 
 TEST: les {{ports}} de la peau
 TEST: du {{port}} au caramel
 TEST: elle prépare un rôti de {{port}}
@@ -14577,10 +14629,11 @@
     ¿[de|d’]¿ la main dans la main
     ¿[de|d’]¿ la mort dans l’ âme
     ¿[de|d’]¿ la queue entre les jambes
     ¿[de|d’]¿ la peur au ventre
     l’ air [de|d’] rien
+    la gorge [nouée|serrée]
     la tête entre [mes|tes|ses|nos|vos|leurs] mains
     ?le¿ dos au mur
     le cas échéant
     le cœur battant la chamade
     le cœur [gros|serré]
@@ -15566,11 +15619,11 @@
     >compte offshore
     concours [de|d’] beauté
     >conférence [de|d’] presse
     >congé [maternité|paternité]
     >conseiller d’ orientation [scolaire|professionnelle]
-    >connexion à Internet
+    >connexion ?à¿ Internet
     >conte [de|d’] fées
     >contrôle [de|d’] routine
     >convention [récepteur|générateur]
     >coque [de|d’] noix
     >corbeille à >pain
@@ -15914,10 +15967,11 @@
     >seuil [de|d’] tolérance
     >seuil [de|d’] tolérance à la douleur
     >silo à [>grains|blé]
     >site [de|d’] lancement
     >soldat d’ élite
+    >solution [de|d’] [rechange|repli]
     >sonnette d’ alarme
     >sortie [de|d’] secours
     >soue à >cochon
     >sourate [*NUM|$:B] ?,¿ verset [*NUM|$:B]
     >sujet [de|d’] [prédilection|préoccupation]
@@ -16532,12 +16586,15 @@
         <<- not value(<1, "|un|le|ce|du|mon|ton|son|notre|votre|leur|") ~1>> *
 
     si  @:[AW]
         <<- not (value(\2, "|bien|") and value(>1, "|que|qu’|")) and not value(\2, "|tant|") ~1>> *
 
-    un [brin|chouia|chouïa|rien|minimum|soupçon|tantinet]  ?[trop|plus|moins]¿
+    un [chouia|chouïa|rien|tantinet]  ?[trop|plus|moins]¿
         <<- morph(>1, ":A", ":G") ~>> *
+
+    un [brin|minimum|poil|soupçon]  ?[trop|plus|moins]¿
+        <<- morph(>1, ":A", ":(?:A.*:[me]:[si]|G)") ~>> *
 
     [assez|trop]  @:[AW]¬:[123][sp]
         <<- ~1>> *
 
     pas [assez|trop]
@@ -16923,10 +16980,12 @@
         <<- morph(\1, ":[123]p") ~2>> *
 
     on  ?[ne|n’]¿  ?[le|la|l’|les|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿  ?[le|la|l’|les|en|y|lui|leur]¿  *WORD  [tous|toutes|tout_e_s]
         <<- morph(\-2, ":[123]s") ~-1>> *
 
+    [tous|toutes] , sans >exception ,
+        <<- ~2:0>> *
 
 
 @@@@
 @@@@
 @@@@
@@ -17376,10 +17435,11 @@
 TEST: ceux de modeste condition n’ont pas semblable privilège
 TEST: peut-être qu’ailleurs il est des pucelles ou des demoiselles pour porter ce nom.
 TEST: la qualité desdits malheureux
 TEST: ç’a été dur.
 TEST: dût ma vanité en souffrir, je viendrai quoi qu’il arrive
+TEST: certaines régions sont un poil plus compliquées
 
 
 @@@@
 @@@@
 @@@@
@@ -23826,23 +23886,23 @@
     de  [la|l’|leur]  @:[NA]¬:Y  @:[VR]¬:[NAP]
     de  [la|l’|leur]  @:[NA]¬:Y  , @¬:[NA]
         <<- ~1:3>> *
 
     $:LR [de|d’]  [la|l’|leur|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  <end>
-    $:LR [de|d’]  [la|l’|leur|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
+    $:LR [de|d’]  [la|l’|leur|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
     $:LR [de|d’]  [la|l’|leur|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  @:[VR]¬:[NAP]
     $:LR [de|d’]  [la|l’|leur|un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  , @¬:[NA]
         <<- ~1:4>> *
 
     $:LR [des|du|de|d’] @:[NA] <end>
-    $:LR [des|du|de|d’] @:[NA] ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
+    $:LR [des|du|de|d’] @:[NA] ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
     $:LR [des|du|de|d’] @:[NA] @:[VR]¬:[NAP]
     $:LR [des|du|de|d’] @:[NA] , @¬:[NA]
         <<- ~1:3>> *
 
     en [plein|pleine] @:[NA]  <end>
-    en [plein|pleine] @:[NA]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
+    en [plein|pleine] @:[NA]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
     en [plein|pleine] @:[NA]  @:[VR]¬:[NAP]
     en [plein|pleine] @:[NA]  , @¬:[NA]
         <<- ~1:3>> *
 
     [à|avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] [__URL__|__MAIL__]
@@ -26121,10 +26181,22 @@
 TEST: Nous ne t’avons pas {{écoutées}}.
 TEST: comme ces informations m’avaient {{manquées}}
 TEST: les notes que tu m’as données sont mal écrites.
 TEST: Garde précieusement les secrets que je t’ai confiés.
 TEST: je ne manquai pas de travailler aux choses qu’il m’avait prescrites
+TEST: Quelle mouche l’a piqué ?
+TEST: Quelle mouche l’a piquée ?
+#TEST: Quelle mouche nous a piqué ?
+#TEST: Quelle mouche nous a piquée ?
+TEST: Quelle mouche nous a piqués ?
+TEST: Quelle mouche nous a piquées ?
+TEST: Quelle mouche vous a piqué ?
+TEST: Quelle mouche vous a piquée ?
+TEST: Quelle mouche vous a piqués ?
+TEST: Quelle mouche vous a piquées ?
+TEST: Quelle mouche les a piqués ?
+TEST: Quelle mouche les a piquées ?
 
 
 __ppas_qui_avoir__
     qui  ?[ne|n’]¿  ?[lui|leur]¿  >avoir  @:Q.*:(?:f|m:p)¬:m:[si]
         <<- /ppas/ --1>> =suggVerbPpas(\-1, ":m:s")         && Le participe passé devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
@@ -26737,10 +26809,11 @@
         <<- /imp/ space_after(\1, 1, 1) and morph(\3, ":(?:Y|Ov)", ":[NAB]") and not morph(<1, ":O[sv]")
         -1:2>> \1-\2                                    && S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206
 
 TEST: {{Laisse les}} entrer…
 TEST: {{Laissez la}} venir…
+TEST: {{laisse le}} faire
 TEST: Laisse les chiens tranquilles
 TEST: Laissez la peste leur pourrir la vie encore quelque temps.
 TEST: le coût humain de la guerre qu’il a laissé les submerger.
 TEST: je vous laisse les consulter
 TEST: Je les laisse la découvrir !
@@ -27960,11 +28033,11 @@
 
 TEST: {{prend on}} le temps d’y réfléchir ?
 TEST: De quel droit {{vient il}} m’{{ennuyer}} ?
 TEST: comment {{était il}}
 TEST: Pourquoi le message de Jean {{était il}} très radical pour son époque ?
-TEST: Pourquoi le message de Jean {{était‐il}} très radical pour son époque ?
+TEST: Pourquoi le message de Jean était‐il très radical pour son époque ? (Hyphen U+2010)
 
 
 __inte_union_ce!7__
     [<start>|,|(] [est|était|étaient] ce ?pas¿ [le|la|les|l’|un|une|de|des|d’|ce|cet|cette|ces|quelques|plusieurs|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs]
     [<start>|,|(] [est|était|étaient] ce ?pas¿ @:G¬:[NA].*:[me]:[si]|>(?:qu[ei’]|pourquoi|dont)/
@@ -28739,12 +28812,14 @@
     [tous|toutes]  @:V¬:(?:G|N|A|3p|P|Q|V[23].*:Y)
     [tous|toutes]  qui  @:V¬:(?:G|3p|P)
         <<- /conj/ not morph(<1, ":[VR]|>(?:et|ou)/")
         --1>> =suggVerb(\-1, ":3p")                                     && Conjugaison erronée. Accord avec “\1”. Le verbe devrait être à la 3ᵉ personne du pluriel.
 
-TEST: Tous {{venait}} à la fête.
-TEST: Toutes {{ignorait}} ce qu’ils avaient fait.
+TEST: Tous {{venait}} à la fête.                                        ->> venaient
+TEST: Toutes {{ignorait}} ce qu’ils avaient fait.                       ->> ignoraient
+TEST: tous, sans exception, {{devine}} le fond du problème              ->> devinent
+TEST: toutes, sans exception, {{irons}} à l’Université                  ->> iront
 TEST: Il faut mettre un coup de grâce et tous monter sur Paris par tous les moyens possibles
 TEST: Pourrons-nous tous vaincre.
 TEST: Vous pouvez tous triompher de votre adversaire avec de la ruse.
 TEST: tous prendre une bonne cuite, voilà ce que nous allons faire.
 TEST: on va tous manger au resto.