Overview
Comment: | [fr] autres tests pour les guillemets + commentaires |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
e3c4cc6975e9a2d05f99da03d0d5fe4d |
User & Date: | olr on 2017-11-10 20:45:39 |
Other Links: | manifest | tags |
Context
2017-11-10
| ||
20:59 | [build] use Firefox Developper edition again check-in: 841c1372ef user: olr tags: trunk, build | |
20:45 | [fr] autres tests pour les guillemets + commentaires check-in: e3c4cc6975 user: olr tags: trunk, fr | |
16:52 | [core] merge spellsugg: much faster suggestion engine check-in: e6e44e506c user: olr tags: trunk, core | |
Changes
Modified gc_lang/fr/rules.grx from [10eeed75ab] to [20c78b7fa1].
︙ | ︙ | |||
355 356 357 358 359 360 361 | __<s>/typo(typo_guillemets_fermants_inverses)__ [ ]”(?=\w) <<- ->> " “" # Mettez des guillemets ouvrants plutôt que fermants. __<s>/typo(typo_guillemets_ouvrants_inverses1)__ \w([«“][ ]) @@1 <<- -1>> " »|”" # Mettez des guillemets fermants plutôt qu’ouvrants. __<s>/typo(typo_guillemets_ouvrants_inverses2)__ ([«“])[ ]*$ @@0 <<- -1>> " »|”" # Mettez des guillemets fermants plutôt qu’ouvrants. __<s>/typo(typo_guillemets_ouvrants_inverses3)__ \w([ ][«“])[ ]*[!?,:;.…] @@1 <<- -1>> " »|”" # Mettez des guillemets fermants plutôt qu’ouvrants. TEST: « Le grand homme{{«}} TEST: « La grande femme{{ «}} ! | | | < < < < < < < < < < < < < < < < < | < < < < < < < | | | > | 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 | __<s>/typo(typo_guillemets_fermants_inverses)__ [ ]”(?=\w) <<- ->> " “" # Mettez des guillemets ouvrants plutôt que fermants. __<s>/typo(typo_guillemets_ouvrants_inverses1)__ \w([«“][ ]) @@1 <<- -1>> " »|”" # Mettez des guillemets fermants plutôt qu’ouvrants. __<s>/typo(typo_guillemets_ouvrants_inverses2)__ ([«“])[ ]*$ @@0 <<- -1>> " »|”" # Mettez des guillemets fermants plutôt qu’ouvrants. __<s>/typo(typo_guillemets_ouvrants_inverses3)__ \w([ ][«“])[ ]*[!?,:;.…] @@1 <<- -1>> " »|”" # Mettez des guillemets fermants plutôt qu’ouvrants. TEST: « Le grand homme{{«}} TEST: « La grande femme{{ «}} ! TEST: Eux et leurs{{ ”}}amis{{”}} sont finis ! TEST: Vos {{“}}amis{{“ }}et vous êtes finis ! # # # NOTE # Tout contrôle des espaces doit se faire avant ce point. # À partir d’ici, toute règle est susceptible de supprimer des caractères et les remplacer par des espaces ou des chaînes de longueur égale. # # !!! !!! !!! Processeur: efface les ponctuations gênantes (URL, sigles, abréviations, IP, heures, etc.) !!! !!! |
︙ | ︙ | |||
561 562 563 564 565 566 567 | __<i]/latex(p_latex1)__ \\[a-z]+ <<- ~>> * __<i>/latex(p_latex2)__ \\[,;/\\] <<- ~>> * __<s>/latex(p_latex3)__ \{(?:abstract|align|cases|center|description|enumerate|equation|figure|flush(?:left|right)|gather|minipage|multline|quot(?:ation|e)|SaveVerbatim|table|tabular|thebibliography|[vV]erbatim|verse|wrapfigure)\} <<- ~>> * !! !! | > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | __<i]/latex(p_latex1)__ \\[a-z]+ <<- ~>> * __<i>/latex(p_latex2)__ \\[,;/\\] <<- ~>> * __<s>/latex(p_latex3)__ \{(?:abstract|align|cases|center|description|enumerate|equation|figure|flush(?:left|right)|gather|minipage|multline|quot(?:ation|e)|SaveVerbatim|table|tabular|thebibliography|[vV]erbatim|verse|wrapfigure)\} <<- ~>> * !! !! !!!! Cohérence des guillemets !! !! __<s>/typo(typo_cohérence_guillemets1)__ («)[^»“]+?(”) @@0,$ <<- not before(r"\w$") -1>> “ # Guillemet ouvrant différent du guillemet fermant (”). <<- not after(r"^\w") -2>> " »" # Guillemet fermant différent du guillemet ouvrant («). __<s>/typo(typo_cohérence_guillemets2)__ (“)[^”«]+?(») @@0,$ <<- not before(r"\w$") -1>> "« " # Guillemet ouvrant différent du guillemet fermant (»). <<- not after(r"^\w") -2>> ” # Guillemet fermant différent du guillemet ouvrant (“). __<s>/typo(typo_cohérence_guillemets3)__ (“)[^”’“«]+?(’)(?!\w) @@0,$ <<- not before(r"\w$") -1>> "‘" # Guillemet ouvrant différent du guillemet fermant (’). <<- -2>> ” # Guillemet fermant différent du guillemet ouvrant (“). __<s>/typo(typo_cohérence_guillemets4)__ (‘)[^’“«]+?(”) @@0,$ <<- not before(r"\w$") -1>> "“" # Guillemet ouvrant différent du guillemet fermant (”). <<- not after(r"^\w") -2>> ’ # Guillemet fermant différent du guillemet ouvrant (‘). TEST: C’est {{«}}stupide{{”}}. TEST: Quel {{“}}emmerdeur{{»}}, ce gars-là. TEST: Tu sais, {{‘}}ton ami{{”}} est venu. TEST: Oui, je vois, mais c’est quand même un {{“}}salopard{{’}}. TEST: « Je suis là. TEST: — Oui, nous t’avons vu arriver. » TEST: « J’en suis “malade”. » __[i]/typo(typo_guillemets_ouvrants_non_fermés)__ (“)\w[^”"»]+$ @@0 <<- -1>> _ # Guillemets fermants introuvables dans la suite du paragraphe. __[i]/typo(typo_guillemets_fermants_non_ouverts)__ ^[^“„«"]+\w(”) @@$ <<- -1>> _ # Guillemets ouvrants introuvables dans ce paragraphe. TEST: C’était mon affaire{{”}}. TEST: C’est {{“}}compliqué. !! !! !!!! Écritures épicènes dystypographiques !! !! # (attention aux modifs: brainfuck d’intensité non négligeable) # La désambiguïsation est faite lors de la deuxième passe __[i](typo_écriture_épicène_tous_toutes)__ tous?[.(/·–—-]te[.)/·–—-]?s <<- option("typo") ->> tous et toutes|toutes et tous # Écriture épicène dystypographique et imprononçable. <<- ~>> =normalizeInclusiveWriting(\0) |
︙ | ︙ | |||
656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 | <<- option("typo") and (\1 == "un" or \1 == "Un") ->> un ou une|une ou un # Écriture épicène imprononçable. Préférez écrire lisiblement. <<- __else__ and option("typo") and not \0.endswith("·e") ->> \1·e # Écriture épicène. Utilisez un point médian. <<- ~>> \1-e TEST: je suis {{déconsidéré.e}} par ma hiérarchie. TEST: il faut en parler à l’{{auteur(e)}} et à son agent. # Majuscules après un point __[s]/maj(majuscule_après_point)__ ({w_2})[.] ([a-zéàèî]\w*) @@0,$ <<- not re.search("(?i)^(?:etc|[A-Z]|chap|cf|fig|hab|litt|circ|coll|r[eé]f|étym|suppl|bibl|bibliogr|cit|op|vol|déc|nov|oct|janv|juil|avr|sept)$", \1) and morph(\1, ":", False) and morph(\2, ":", False) -2>> =\2.capitalize() # Après un point, une majuscule est généralement requise. TEST: Je suis là. {{viens}}. ->> Viens TEST: Ils sont devenus idiots. {{c}}’est peine perdue. __[s]/maj(majuscule_en_début_phrase)__ ^ *([a-zéèâàô][\w-]+) @@$ <<- after("\w\w[.] +\w+") -1>> =\1.capitalize() # Majuscule en début de phrase, sauf éventuellement lors d’une énumération. TEST: {{je}} suis disponible quand tu veux. Mais pas aujourd’hui. ## virgules manquantes __[i>/virg(virgule_manquante_avant_etc)__ {w_1}( etc[.]) @@$ <<- -1>> , etc. # Avant « etc. », il faut mettre une virgule. __[i>/virg(virgule_manquante_avant_car)__ ({w_1})( car)(?= (?:j[e’]|tu|ils?|nous|vous|elles?|on|les?|la|ces?|des?|cette|[mts](?:on|a))\b) @@0,$ <<- not morph(\1, ":[DR]", False) -2>> , car # Si « car » est la conjonction de coordination, une virgule est peut-être souhaitable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3447 __[i>/virg(virgule_manquante_avant_mais)__ {w_1}( mais)(?= (?:j[e’]|tu|ils?|elles?|on|ces?|des?|cette|[mts](?:on|a))\b) @@$ <<- -1>> , mais # Si « mais » est la conjonction de coordination, une virgule est souhaitable si elle introduit une nouvelle proposition.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3445 TEST: Un chien, un chat{{ etc.}} ->> , etc. TEST: Je suis fatigué{{ car}} ils ont joué toute la nuit. ->> , car TEST: Je suis fatigué{{ mais}} il a joué toute la nuit. ->> , mais | > > > > > > > > > > > > | < < | | | > | 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | <<- option("typo") and (\1 == "un" or \1 == "Un") ->> un ou une|une ou un # Écriture épicène imprononçable. Préférez écrire lisiblement. <<- __else__ and option("typo") and not \0.endswith("·e") ->> \1·e # Écriture épicène. Utilisez un point médian. <<- ~>> \1-e TEST: je suis {{déconsidéré.e}} par ma hiérarchie. TEST: il faut en parler à l’{{auteur(e)}} et à son agent. !! !! !!!! Majuscules manquantes !! !! # Majuscules après un point __[s]/maj(majuscule_après_point)__ ({w_2})[.] ([a-zéàèî]\w*) @@0,$ <<- not re.search("(?i)^(?:etc|[A-Z]|chap|cf|fig|hab|litt|circ|coll|r[eé]f|étym|suppl|bibl|bibliogr|cit|op|vol|déc|nov|oct|janv|juil|avr|sept)$", \1) and morph(\1, ":", False) and morph(\2, ":", False) -2>> =\2.capitalize() # Après un point, une majuscule est généralement requise. TEST: Je suis là. {{viens}}. ->> Viens TEST: Ils sont devenus idiots. {{c}}’est peine perdue. __[s]/maj(majuscule_en_début_phrase)__ ^ *([a-zéèâàô][\w-]+) @@$ <<- after("\w\w[.] +\w+") -1>> =\1.capitalize() # Majuscule en début de phrase, sauf éventuellement lors d’une énumération. TEST: {{je}} suis disponible quand tu veux. Mais pas aujourd’hui. !! !! !!!! Typographie, virgules, espaces insécables, unités de mesure… !! !! ## virgules manquantes __[i>/virg(virgule_manquante_avant_etc)__ {w_1}( etc[.]) @@$ <<- -1>> , etc. # Avant « etc. », il faut mettre une virgule. __[i>/virg(virgule_manquante_avant_car)__ ({w_1})( car)(?= (?:j[e’]|tu|ils?|nous|vous|elles?|on|les?|la|ces?|des?|cette|[mts](?:on|a))\b) @@0,$ <<- not morph(\1, ":[DR]", False) -2>> , car # Si « car » est la conjonction de coordination, une virgule est peut-être souhaitable.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3447 __[i>/virg(virgule_manquante_avant_mais)__ {w_1}( mais)(?= (?:j[e’]|tu|ils?|elles?|on|ces?|des?|cette|[mts](?:on|a))\b) @@$ <<- -1>> , mais # Si « mais » est la conjonction de coordination, une virgule est souhaitable si elle introduit une nouvelle proposition.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=3445 TEST: Un chien, un chat{{ etc.}} ->> , etc. TEST: Je suis fatigué{{ car}} ils ont joué toute la nuit. ->> , car TEST: Je suis fatigué{{ mais}} il a joué toute la nuit. ->> , mais __<s>/virg(virgule_point_fin_dialogue)__ ([.] » )[a-zéà] @@0 <<- -1>> " », | » " # Ou il faut une virgule (exemple : « Je viens », dit-il). Ou le point est superflu. Ou il faut une majuscule sur le mot suivant. __<s>/virg(virgule_fin_dialogue)__ (, »,? )[a-zéà] @@0 <<- -1>> " », | » " # Virgule mal placée ou superflue. TEST: « Ça suffit{{. » }}dit-elle. TEST: « J’en ai plus qu’assez{{, » }}dis-je. TEST: {{Julien}} donne-moi le sel. TEST: dès son premier rendez-vous au centre TEST: Depuis combien de temps fumez-vous ? |
︙ | ︙ | |||
1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 | ({w_4})[ ,.;!?:].*[ ](\1) @@0,$ <<- not morph(\1, ":(?:G|V0)|>(?:t(?:antôt|emps|rès)|loin|souvent|parfois|quelquefois|côte|petit|même) ", False) and not \1[0].isupper() -2>> _ # Dans ce paragraphe, répétition de « \1 » (à gauche). <<- __also__ -1>> _ # Dans ce paragraphe, répétition de « \1 » (à droite). TEST: __redon1__ Tu es son {{avenir}}. Et lui aussi est ton {{avenir}}. TEST: __redon1__ Car parfois il y en a. Mais parfois il n’y en a pas. !!! !!! !!! Processeur: Dernier nettoyage avant coupure du paragraphe en phrases !!! !!! | > | 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 | ({w_4})[ ,.;!?:].*[ ](\1) @@0,$ <<- not morph(\1, ":(?:G|V0)|>(?:t(?:antôt|emps|rès)|loin|souvent|parfois|quelquefois|côte|petit|même) ", False) and not \1[0].isupper() -2>> _ # Dans ce paragraphe, répétition de « \1 » (à gauche). <<- __also__ -1>> _ # Dans ce paragraphe, répétition de « \1 » (à droite). TEST: __redon1__ Tu es son {{avenir}}. Et lui aussi est ton {{avenir}}. TEST: __redon1__ Car parfois il y en a. Mais parfois il n’y en a pas. !!! !!! !!! Processeur: Dernier nettoyage avant coupure du paragraphe en phrases !!! !!! |
︙ | ︙ |