Grammalecte  Diff

Differences From Artifact [8e86c53d24]:

To Artifact [e2081e5058]:


845
846
847
848
849
850
851


852

853
854
855
856
857
858
859
845
846
847
848
849
850
851
852
853

854
855
856
857
858
859
860
861







+
+
-
+







# ligatures typographiques : fi, fl, ff, ffi, ffl, ft, st
__<s>/liga(ligatures_typographiques)__              [fiflffffifflſtst] <<- ->> =undoLigature(\0)             # Suppression de la ligature typographique.

TEST: __liga__ un {{fl}}ottement                                           ->> fl
TEST: __liga__ une belle {{fi}}gure                                        ->> fi


!!!! Apostrophes                                                                                    

# Apostrophe typographique
## Apostrophe typographique
__[i>/apos(apostrophe_typographique)__
    ([ldsncjmç]|jusqu|lorsqu|aujourd|presqu|quelqu|puisqu|qu|prud|entr)['´‘′`](?=[\w"«]) @@0 <<- ->> \1’    # Apostrophe typographique.
__[i>/apos(apostrophe_typographique_après_t)__
    t['´‘′`](?!ils?|elles?|on)(?=[\w"«]) <<- ->> t’                                                         # Apostrophe typographique.

TEST: {{C'}}est l’apostrophe typographique qui manque.                    ->> C’
TEST: C’est {{l'}}apostrophe typographique qui manque.                    ->> l’
894
895
896
897
898
899
900
901


902
903
904
905
906
907
908
909
910
911
912
913
914
915















916
917
918


919

920
921


922
923
924


925


926
927
928
929
930
931
932
896
897
898
899
900
901
902

903
904
905
906
907
908
909
910
911
912
913
914
915



916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931


932
933
934
935


936
937
938
939
940
941
942

943
944
945
946
947
948
949
950
951







-
+
+











-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-
-
+
+

+
-
-
+
+



+
+
-
+
+







TEST: {{jusqu }}à plus soif                                                     ->> jusqu’
TEST: il ne {{m }}avait jamais fait défaut                                      ->> m’
TEST: Il {{s }}était dit qu’il ne le ferait pas.                                ->> s’
TEST: Je {{m }}étais imaginé que je pourrais pas retrouver cet objet.           ->> m’
TEST: Je {{n }}ai pas retrouvé l’ambiance de mes années de lycée.               ->> n’


# Guillemets typographiques
!!!! Guillemets typographiques                                                                      

__<s>/typo(typo_guillemets_typographiques_doubles_ouvrants)__
    "(?=\w)
    <<- not before(r"[a-zA-Zéïîùàâäôö]$") ->> « |“                                                  # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_doubles_fermants)__
    [\w.?!…,](")(?!\w)  @@*
    <<- -1>> " »|”"                                                                                 # Guillemets typographiques fermants.

TEST: {{"}}Le grand homme.”                                                 ->> « |“
TEST: “Le grand homme.{{"}}                                                 ->> " »|”"


__<s>/typo(typo_guillemets_typographiques_simples_ouvrants)__
    (?:^|[ –—-])(''?)(?=\w)  @@*
    <<- -1>> “|‘                                                                                    # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_doubles_ouvrants)__
    (?:^|[ –—-])('')(?=\w)  @@*
    <<- -1>> « |“                                                                                   # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_doubles_fermants)__
    [\w.?!…,]('')(?![\w'’])  @@*
    <<- -1>> " »|”"                                                                                 # Guillemets typographiques fermants.

TEST: {{''}}Ça{{”}} recommence.                                                 ->> « |“|||
TEST: Le {{''}}grand{{”}} homme.                                                ->> « |“|||
TEST: Le {{“}}grand{{''}} homme.                                                ->> " »|”|||"


__<s>/typo(typo_guillemets_typographiques_simples_ouvrants)__
    (?:^|[ –—-])(')(?=\w)  @@*
    <<- -1>> “|‘|‹                                                                                  # Guillemets typographiques ouvrants.
__<s>/typo(typo_guillemets_typographiques_simples_fermants)__
    [\w.?!,](''?)(?![\w'])  @@*
    <<- -1>> ”|’                                                                                    # Guillemets typographiques fermants.
    [\w.?!,](')(?![\w'])  @@*
    <<- -1>> ”|’|›                                                                                  # Guillemets typographiques fermants.

TEST: {{'}}Ça’ recommence.                                                  ->> “|‘|‹
TEST: Le {{'}}grand’ homme.                                                ->> “|‘
TEST: Le ‘grand{{'}} homme.                                                ->> ”|’
TEST: Le {{'}}grand’ homme.                                                 ->> “|‘|‹
TEST: Le ‘grand{{'}} homme.                                                 ->> ”|’|›
TEST: J’en ai '''marre''' (syntaxe wiki).




## Élisions
!!!! Élisions                                                                                       

__[i]/typo(typo_élision_déterminants)__
    (l[ea] |de )([aâeéêiîoôu]\w+)  @@0,$
    <<- not re.search("(?i)^(?:onz[ei]|énième|iourte|ouistiti|ouate|one-?step|ouf|Ouagadougou|I(?:I|V|X|er|ᵉʳ|ʳᵉ|è?re))", \2) and not \2.isupper() and not morph(\2, ":G", False)
    -1>> =\1[0]+"’"                                         # Élision de l’article devant un mot commençant par une voyelle.|http://fr.wikipedia.org/wiki/Élision

__[i]/typo(typo_élision_si)__    (si )ils?  @@0 <<- -1>> s’                      # Il faut élider « si » et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision
__[i]/typo(typo_élision_que)__   (que )(?:ils?|elles?|on)  @@0 <<- -1>> qu’      # Il faut élider « que » et l’accoler au pronom.|http://fr.wikipedia.org/wiki/Élision
944
945
946
947
948
949
950


951
952
953
954
955
956
957
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978







+
+







__[i]/typo(typo_euphonie_cet)__
    (ce) ([aâeéêiîoôu]\w+)  @@0,$
    <<- not re.search("(?i)^(?:onz|énième|ouf|énième|ouistiti|one-?step|I(?:I|V|X|er|ᵉʳ))", \2) and morph(\2, ":[me]")
    -1>> cet                                                # Euphonie : « ce » devient « cet » devant un mot commençant par une voyelle.

TEST: {{ce}} animal est dangereux


!!!! Divers                                                                                         

## NF (memo: don’t use flag i)
__[s]/nf(nf_norme_française)__
    [nN][fF][  -]?(?:c|C|e|E|p|P|q|Q|s|S|x|X|z|Z|[eE][nN](?:[  -][iI][sS][oO]|))[  -]?[0-9]+(?:[/ ‑-][0-9]+|)
    <<- not re.search("^NF (?:C|E|P|Q|S|X|Z|EN(?: ISO|)) [0-9]+(?:‑[0-9]+|)", \0)
    ->> =formatNF(\0)                                       # Norme française. Utilisez les espaces et tirets insécables.|http://fr.wikipedia.org/wiki/Liste_de_normes_NF