Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -99,47 +99,52 @@ # Priority: from 0 to 9. Default priority is 4. OPTPRIORITY/tu: 7 OPTPRIORITY/conf: 5 OPTPRIORITY/ocr: 3 + +COLOR/orange: 30,70,50 +COLOR/orange2: 40,90,50 +COLOR/violet: 270,40,30 +COLOR/blue: 210,50,50 +COLOR/fuschia: 300,30,40 +COLOR/cyan: 180,50,40 +COLOR/grey: 0,50,50 # COLORS are must be described with the HSL format (0-360, 0-100 %, 0-100 %) [don’t write the sign %] -OPTCOLORSOFTWARE: Python Server Writer JavaScript Firefox Thunderbird -OPTCOLOR/typo: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/apos: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/esp: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/tab: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/nbsp: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/tu: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/maj: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/num: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/virg: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/unit: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/nf: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/liga: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/mapos: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/chim: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/ocr: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/conf: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/sgpl: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/gn: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/infi: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/conj: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/ppas: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/imp: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/inte: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/vmode: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/bs: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/pleo: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/redon1: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/redon2: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/neg: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/date: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/mc: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/idrule: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/html: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 -OPTCOLOR/latex: 0,50,50 0,50,50 240,90,50 0,50,50 0,50,50 0,50,50 +OPTCOLORTHEME: Default Writer +OPTCOLOR/typo: grey orange +OPTCOLOR/apos: grey orange2 +OPTCOLOR/esp: grey orange +OPTCOLOR/tab: grey orange +OPTCOLOR/nbsp: grey orange +OPTCOLOR/tu: grey orange +OPTCOLOR/maj: grey orange +OPTCOLOR/num: grey orange +OPTCOLOR/virg: grey orange +OPTCOLOR/unit: grey orange +OPTCOLOR/nf: grey orange +OPTCOLOR/liga: grey orange +OPTCOLOR/mapos: grey orange +OPTCOLOR/chim: grey orange +OPTCOLOR/ocr: grey violet +OPTCOLOR/conf: grey violet +OPTCOLOR/sgpl: grey blue +OPTCOLOR/gn: grey blue +OPTCOLOR/infi: grey fuschia +OPTCOLOR/conj: grey fuschia +OPTCOLOR/ppas: grey fuschia +OPTCOLOR/imp: grey fuschia +OPTCOLOR/inte: grey fuschia +OPTCOLOR/vmode: grey fuschia +OPTCOLOR/bs: grey cyan +OPTCOLOR/pleo: grey cyan +OPTCOLOR/redon1: grey cyan +OPTCOLOR/redon2: grey cyan +OPTCOLOR/neg: grey cyan +OPTCOLOR/date: grey cyan +OPTCOLOR/mc: grey cyan OPTDEFAULTUILANG: fr_FR # Labels @@ -423,15 +428,15 @@ !!! !!! # e-mail __(p_email)__ - \w[\w.-]*@\w[\w.-]*\w[.]\w+ <<- ~>> * + \w[\w.-]*@\w[\w.-]*\w[.]\w\w+ <<- ~>> __MAIL__ # URL __(p_URL)__ - https?://[\w./?&!%=+*"'@$#-]+ <<- ~>> * + (?:ht|f)tps?://[\w./?&!%=+*"'@$#-]+ <<- ~>> __URL__ __> * <<- ~2>> =\2.capitalize() <<- ~3>> * @@ -850,11 +855,11 @@ # Tirets, énumérations et dialogues __/typo(typo_tiret_début_ligne)__ ^[-_][  ] <<- ->> "— |– " # Dialogues et énumérations : un tiret cadratin ou demi-cadratin, suivi d’un espace insécable, est requis. __/typo(typo_tiret_dans_dialogue)__ ^ *«[  ](-[  ]) @@$ <<- -1>> "— |– " # Dialogues : un tiret cadratin ou demi-cadratin, suivi d’un espace insécable, est requis. (Attention : à moins qu’il s’agisse d’un dialogue inclus dans un autre dialogue, cette manière d’écrire est erronée.) __/nbsp(nbsp_après_tiret1)__ ^([—–]) + @@0 <<- ->> "\1 " # Dialogues et énumérations : ce tiret doit être suivi d’un espace insécable. -__/nbsp(nbsp_après_tiret2)__ ^([—–_-])[\w«“‘] @@0 <<- -1>> "— |– " # Dialogues et énumérations : il faut tiret cadratin ou demi-cadratin suivi d’un espace insécable. +__/nbsp(nbsp_après_tiret2)__ ^([—–-])[\w«“‘] @@0 <<- -1>> "— |– " # Dialogues et énumérations : il faut tiret cadratin ou demi-cadratin suivi d’un espace insécable. __/typo(typo_tiret_incise)__ " - " <<- ->> " – | — " # Tiret d’incise : un tiret cadratin ou demi-cadratin est requis. TEST: {{- }}Ce tiret n’est correct nulle part. ->> "— |– " TEST: {{– }}Il manque toujours un espace insécable ! ->> "– " TEST: {{— }}Idem ! etc. ->> "— " @@ -2077,10 +2082,13 @@ ~^[A-ZÂÉÈÎ]. ~^[A-ZÂÉÈÎ] <<- analyse_with_next(\1, " ", ":") ~>> ␣ __immunités__ + à l’ arrache + <<- %3>> + au sortir [de|des|du|d’] <<- ~2>> * en tout et pour tout <<- %-1>> @@ -13547,10 +13555,13 @@ en [plein|pleine] @:[NA] 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|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] @:[VR]¬:[NAP] en [plein|pleine] @:[NA] , @¬:[NA] <<- ~1:3>> * + + [à|avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] [__URL__|__MAIL__] + <<- ~>> * #### isEndOfNG #### # # @:[VR]¬:[NAP] # , @¬:[NA] @@ -13610,10 +13621,12 @@ TEST: tandis que d’autres perçoivent le bon goût de la soupe. TEST: Je me doute bien que vous avez trouvé la réponse. TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire. TEST: Notre but n’était pas de devenir célèbres. TEST: sans qu’on ait à le lui ordonner +TEST: Les messages envoyés à toto@toto.fr seront transmis à Roger. + @@@@ @@@@ @@@@ @@ -15214,10 +15227,11 @@ <<- /imp/ not value(>1, "|tu|") --1>> va # S’il s’agit d’un impératif, pas de “s”. TEST: {{Vas}} lui mettre une branlée. TEST: {{Vas}} au diable ! TEST: N’y {{vas}} pas +TEST: — Va-t’en ! [Firefox] # verbes du 1ᵉʳ et du 3ᵉ groupe en -e __imp_verbe_groupe1__ [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~\w\w+es$ @@ -15948,21 +15962,27 @@ TEST: il suffit de {{mangé}} sain pour aller mieux. TEST: il ne suffit pas de pensées positives pour calmer son anxiété. __infi_verbes__ - [>aimer|>aller|>désirer|>espérer|>préférer|>souhaiter|>venir] ~..(?:ée?s?|ez)$ + [>aimer|>aller|>désirer|>espérer|>préférer|>souhaiter] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M") -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. + >venir ~..(?:ée?s?|ez)$ + <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M|>(?:armer|déguiser)/") + -2>> =suggVerbInfi(\2) # S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. + TEST: elle préférait {{mangée}} seule. TEST: Il venait, comme d’habitude, {{discuté}} avec son ami. TEST: Ces types-là venaient {{mangé}} chez moi tous les dimanches. TEST: ils viennent bien entendu {{attaqué}} le parlement TEST: ils vont par voie de conséquence vraiment {{attaqué}} la banque TEST: elles ont pu {{mangé}} TEST: Cette affaire ne va rien {{arrangé}}. +TEST: Elles étaient venues armées. +TEST: Il vint déguisé en mousquetaire. __infi_mieux_valoir__ mieux >valoir ~..(?:ée?s?|ez)$ <<- /infi/ morph(\3, ":(?:Q|2p)", ":[GM]") @@ -16275,10 +16295,11 @@ TEST: un tas de choses pouvaient aller de travers. TEST: un paquet de gens futés n’y ont vu que du feu. TEST: La moitié d’entre elles voient leurs loyers diminuer depuis le début de l’année TEST: Une partie de ces propositions étaient naïves TEST: tu n’acceptais jamais de danser avec quelqu’un si tu avais refusé à quelqu’un d’autre au début +TEST: le loquet d’une des petites portes. __conj_un_une_des__ [un|une] des *WORD @:V¬:(?:3s|P|G|Q|[NA].*:[pi]) <<- /conj/ morph(<1, ":C||>,", ":(?:Y|P|Q|[123][sp]|R)") @@ -16779,10 +16800,11 @@ TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard. TEST: Je ne doute pas qu’ils réussiront leur mission. TEST: Je me doutais bien qu’Apple pourrait marcher TEST: il ne fait aucun doute qu’Amazon le sait. TEST: quoi que nous autres hommes ayons pu faire +TEST: Je me doutais bien qu’elle me détestait __vmode_qqch_que_subjonctif2__ à condition [que|qu’] @:(?:Os|M) @:I¬:[GYS] pour peu [que|qu’] @:(?:Os|M) @:I¬:[GYS]