Example #1
0
def check_redundant_acronym_syndrome(text):
    """Suggest the preferred forms."""
    err = "garner.redundancy.ras"
    msg = "RAS syndrome. Use '{}' instead of '{}'."

    redundancies = [
        ["ABM", ["ABM missile"]],
        ["ABMs", ["ABM missiles"]],
        ["ABS", ["ABS braking system"]],
        ["ATM", ["ATM machine"]],
        ["CPI", ["CPI Index"]],
        ["GPS", ["GPS system"]],
        ["GUI", ["GUI interface"]],
        ["HIV", ["HIV virus"]],
        ["LCD", ["LCD display"]],
        ["PDF", ["PDF format"]],
        ["PIN", ["PIN number"]],
        ["RAS", ["RAS syndrome"]],
        ["RIP", ["RIP in peace"]],
        ["RSVP", ["please RSVP"]],
        ["SALT", ["SALT talks"]],
        ["SAT", ["SAT test"]],
        ["UPC", ["UPC codes"]],
    ]

    return preferred_forms_check(text, redundancies, err, msg)
Example #2
0
def check(text):
    """Suggest the preferred forms."""
    err = "wsj.athletes"
    msg = "Misspelling of athlete's name. '{}' is the preferred form."

    misspellings = [
        ["Dwyane Wade", ["Dwayne Wade"]],
        ["Miikka Kiprusoff", ["Mikka Kiprusoff"]],
        ["Mark Buehrle", ["Mark Buerhle"]],
        ["Skylar Diggins", ["Skyler Diggins"]],
        ["Agnieszka Radwanska", ["Agnieska Radwanska"]],
        ["J.J. Redick", ["J.J. Reddick"]],
        ["Manny Pacquiao", ["Manny Packquaio"]],
        ["Antawn Jamison", ["Antwan Jamison"]],
        ["Cal Ripken", ["Cal Ripkin"]],
        ["Jhonny Peralta", ["Johnny Peralta"]],
        ["Monta Ellis", ["Monte Ellis"]],
        ["Alex Rodriguez", ["Alex Rodriquez"]],
        ["Mark Teixeira", ["Mark Texeira"]],
        ["Brett Favre", ["Brett Farve"]],
        ["Torii Hunter", ["Tori Hunter"]],
        ["Stephen Curry", ["Stephon Curry"]],
        ["Mike Krzyzewski", ["Mike Kryzewski"]],
    ]

    return preferred_forms_check(text, misspellings, err, msg)
Example #3
0
def check(text):
    """Suggest the preferred forms."""
    err = "strunk_white.composition"
    msg = "Try '{}' instead of '{}'."

    bad_forms = [
        # Put statements in positive form
        ["dishonest", ["not honest"]],
        ["trifling", ["not important"]],
        ["forgot", ["did not remember"]],
        ["ignored", ["did not pay (any )?attention to"]],
        ["distrusted", ["did not have much confidence in"]],

        # Omit needless words
        ["whether", ["the question as to whether"]],
        ["no doubt", ["there is no doubt but that"]],
        ["used for fuel", ["used for fuel purposes"]],
        ["he", ["he is a man who"]],
        ["hastily", ["in a hasty manner"]],
        ["this subject", ["this is a subject that"]],
        ["Her story is strange.", ["Her story is a strange one."]],
        ["because", ["the reason why is that"]],
        ["because / since", ["owing to the fact that"]],
        ["although / though", ["in spite of the fact that"]],
        ["remind you / notify you", ["call your attention to the fact that"]],
        [
            "I did not know that / I was unaware that",
            ["I was unaware of the fact that"]
        ],
        ["his failure", ["the fact that he had not succeeded"]],
        ["my arrival", ["the fact that i had arrived"]]
    ]

    return preferred_forms_check(text, bad_forms, err, msg)
Example #4
0
def check(text):
    """Suggest the preferred forms."""
    err = "wsj.athletes"
    msg = "Misspelling of athlete's name. '{}' is the preferred form."

    misspellings = [
        ["Dwyane Wade",         ["Dwayne Wade"]],
        ["Miikka Kiprusoff",    ["Mikka Kiprusoff"]],
        ["Mark Buehrle",        ["Mark Buerhle"]],
        ["Skylar Diggins",      ["Skyler Diggins"]],
        ["Agnieszka Radwanska", ["Agnieska Radwanska"]],
        ["J.J. Redick",         ["J.J. Reddick"]],
        ["Manny Pacquiao",      ["Manny Packquaio"]],
        ["Antawn Jamison",      ["Antwan Jamison"]],
        ["Cal Ripken",          ["Cal Ripkin"]],
        ["Jhonny Peralta",      ["Johnny Peralta"]],
        ["Monta Ellis",         ["Monte Ellis"]],
        ["Alex Rodriguez",      ["Alex Rodriquez"]],
        ["Mark Teixeira",       ["Mark Texeira"]],
        ["Brett Favre",         ["Brett Farve"]],
        ["Torii Hunter",        ["Tori Hunter"]],
        ["Stephen Curry",       ["Stephon Curry"]],
        ["Mike Krzyzewski",     ["Mike Kryzewski"]],
    ]

    return preferred_forms_check(text, misspellings, err, msg)
Example #5
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.sexism"
    msg = "Gender bias. Use '{}' instead of '{}'."

    sexism = [["anchor", ["anchorman", "anchorwoman", "anchorperson"]],
              ["chair", ["chairman", "chairwoman", "chairperson"]],
              ["drafter", ["draftman", "draftwoman", "draftperson"]],
              ["ombuds", ["ombudsman", "ombudswoman", "ombudsperson"]],
              ["tribe member", ["tribesman", "tribeswoman", "tribesperson"]],
              ["police officer", ["policeman", "policewoman", "policeperson"]],
              ["firefighter", ["fireman", "firewoman", "fireperson"]],
              ["mail carrier", ["mailman", "mailwoman", "mailperson"]],
              ["history", ["herstory"]], ["women", ["womyn"]],
              ["poet", ["poetess"]], ["author", ["authoress"]],
              ["waiter", ["waitress"]], ["lawyer", ["lady lawyer"]],
              ["doctor", ["woman doctor"]],
              ["bookseller", ["female booksalesman"]],
              ["air pilot", ["femaile airman"]], ["executor", ["executrix"]],
              ["prosecutor", ["prosecutrix"]], ["testator", ["testatrix"]],
              ["husband and wife", ["man and wife"]],
              ["chairs", ["chairmen and chairs"]],
              ["men and women", ["men and girls"]],
              ["comedian", ["comedienne"]], ["confidant", ["confidante"]],
              ["scientist", ["woman scientist"]],
              ["scientists", ["women scientists"]]
              # ["hero",             ["heroine"]]
              ]

    return preferred_forms_check(text, sexism, err, msg, ignore_case=False)
Example #6
0
def check_redundant_acronym_syndrome(text):
    """Suggest the preferred forms."""
    err = "garner.redundancy.ras"
    msg = "RAS syndrome. Use '{}' instead of '{}'."

    redundancies = [
        ["ABM",               ["ABM missile"]],
        ["ABMs",              ["ABM missiles"]],
        ["ABS",               ["ABS braking system"]],
        ["ATM",               ["ATM machine"]],
        ["CPI",               ["CPI Index"]],
        ["GPS",               ["GPS system"]],
        ["GUI",               ["GUI interface"]],
        ["HIV",               ["HIV virus"]],
        ["LCD",               ["LCD display"]],
        ["PDF",               ["PDF format"]],
        ["PIN",               ["PIN number"]],
        ["RAS",               ["RAS syndrome"]],
        ["RIP",               ["RIP in peace"]],
        ["RSVP",              ["please RSVP"]],
        ["SALT",              ["SALT talks"]],
        ["SAT",               ["SAT test"]],
        ["UPC",               ["UPC codes"]],
    ]

    return preferred_forms_check(text, redundancies, err, msg)
Example #7
0
def check(text):
    """Suggest the preferred forms."""
    err = "strunk_white.composition"
    msg = "Try '{}' instead of '{}'."

    bad_forms = [
        # Put statements in positive form
        ["dishonest",               ["not honest"]],
        ["trifling",                ["not important"]],
        ["forgot",                  ["did not remember"]],
        ["ignored",                 ["did not pay (any )?attention to"]],
        ["distrusted",              ["did not have much confidence in"]],

        # Omit needless words
        ["whether",                 ["the question as to whether"]],
        ["no doubt",                ["there is no doubt but that"]],
        ["used for fuel",           ["used for fuel purposes"]],
        ["he",                      ["he is a man who"]],
        ["hastily",                 ["in a hasty manner"]],
        ["this subject",            ["this is a subject that"]],
        ["Her story is strange.",   ["Her story is a strange one."]],
        ["because",                 ["the reason why is that"]],
        ["because / since",         ["owing to the fact that"]],
        ["although / though",       ["in spite of the fact that"]],
        ["remind you / notify you",
            ["call your attention to the fact that"]],
        ["I did not know that / I was unaware that",
            ["I was unaware of the fact that"]],
        ["his failure",             ["the fact that he had not succeeded"]],
        ["my arrival",              ["the fact that i had arrived"]]
    ]

    return preferred_forms_check(text, bad_forms, err, msg)
def check_em_vs_em_and_en_vs_in(text):
    """em- vs. en-, im- vs. in-."""
    err = "garner.preferred_forms.em"
    msg = "em-, im-, en-, and in-. '{}' is the preferred form."

    preferences = [

        ["embalm",      ["imbalm"]],
        ["embark",      ["imbark"]],
        ["embed",       ["imbed"]],
        ["embitter",    ["imbitter"]],
        ["emblaze",     ["imblaze"]],
        ["embody",      ["imbody"]],
        ["embolden",    ["imbolden"]],
        ["embosom",     ["imbosom"]],
        ["embower",     ["imbower"]],
        ["embrown",     ["imbrown"]],
        ["empanel",     ["impanel"]],
        ["empower",     ["impower"]],
        ["encage",      ["incage"]],
        ["encapsulate", ["incapsulate"]],
        ["encase",      ["incase"]],
        ["enclasp",     ["inclasp"]],
        ["encumber",    ["incumber"]],
        ["encumbrance", ["incumbrance"]],
        ["endow",       ["indow"]],
        ["endowment",   ["indowment"]],
        ["endue",       ["indue"]],
        ["enfold",      ["infold"]],
        ["engraft",     ["ingraft"]],
        ["engulf",      ["ingulf"]],
        ["enlace",      ["inlace"]],
        ["enmesh",      ["inmesh"]],
        ["ensheathe",   ["insheathe"]],
        ["enshrine",    ["inshrine"]],
        ["ensnare",     ["insnare"]],
        ["ensoul",      ["insoul"]],
        ["ensphere",    ["insphere"]],
        ["enthrall",    ["inthrall"]],
        ["enthrone",    ["inthrone"]],
        ["entitle",     ["intitle"]],
        ["entomb",      ["intomb"]],
        ["entreat",     ["intreat"]],
        ["entrench",    ["intrench"]],
        ["entrust",     ["intrust"]],
        ["entwine",     ["intwine"]],
        ["entwist",     ["intwist"]],
        ["enwind",      ["inwind"]],
        ["enwrap",      ["inwrap"]],
        ["enwreathe",   ["inwreathe"]],
        ["imbrue",      ["embrue"]],
        ["impale",      ["empale"]],
        ["impoverish",  ["empoverish"]],
        ["inflame",     ["enflame"]],
        ["ingrain",     ["engrain"]],
        ["inure",       ["enure"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #9
0
def check_em_vs_em_and_en_vs_in(text):
    """em- vs. en-, im- vs. in-."""
    err = "garner.preferred_forms.em"
    msg = "em-, im-, en-, and in-. '{}' is the preferred form."

    preferences = [

        ["embalm",      ["imbalm"]],
        ["embark",      ["imbark"]],
        ["embed",       ["imbed"]],
        ["embitter",    ["imbitter"]],
        ["emblaze",     ["imblaze"]],
        ["embody",      ["imbody"]],
        ["embolden",    ["imbolden"]],
        ["embosom",     ["imbosom"]],
        ["embower",     ["imbower"]],
        ["embrown",     ["imbrown"]],
        ["empanel",     ["impanel"]],
        ["empower",     ["impower"]],
        ["encage",      ["incage"]],
        ["encapsulate", ["incapsulate"]],
        ["encase",      ["incase"]],
        ["enclasp",     ["inclasp"]],
        ["encumber",    ["incumber"]],
        ["encumbrance", ["incumbrance"]],
        ["endow",       ["indow"]],
        ["endowment",   ["indowment"]],
        ["endue",       ["indue"]],
        ["enfold",      ["infold"]],
        ["engraft",     ["ingraft"]],
        ["engulf",      ["ingulf"]],
        ["enlace",      ["inlace"]],
        ["enmesh",      ["inmesh"]],
        ["ensheathe",   ["insheathe"]],
        ["enshrine",    ["inshrine"]],
        ["ensnare",     ["insnare"]],
        ["ensoul",      ["insoul"]],
        ["ensphere",    ["insphere"]],
        ["enthrall",    ["inthrall"]],
        ["enthrone",    ["inthrone"]],
        ["entitle",     ["intitle"]],
        ["entomb",      ["intomb"]],
        ["entreat",     ["intreat"]],
        ["entrench",    ["intrench"]],
        ["entrust",     ["intrust"]],
        ["entwine",     ["intwine"]],
        ["entwist",     ["intwist"]],
        ["enwind",      ["inwind"]],
        ["enwrap",      ["inwrap"]],
        ["enwreathe",   ["inwreathe"]],
        ["imbrue",      ["embrue"]],
        ["impale",      ["empale"]],
        ["impoverish",  ["empoverish"]],
        ["inflame",     ["enflame"]],
        ["ingrain",     ["engrain"]],
        ["inure",       ["enure"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #10
0
def check(text):
    """Suggest the preferred forms."""
    err = "wallace.redundancy"
    msg = "Redundancy. Use '{}' instead of '{}'."

    redundancies = [
        ["rectangular",        ["rectangular in shape"]],
        ["audible",            ["audible to the ear"]],
    ]
    return preferred_forms_check(text, redundancies, err, msg)
Example #11
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.back_formations"
    msg = "Back-formation. '{}' is the preferred form."

    list = [
        ["improper",       ["improprietous"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #12
0
def check(text):
    """Suggest the preferred forms."""
    err = "wallace.redundancy"
    msg = "Redundancy. Use '{}' instead of '{}'."

    redundancies = [
        ["rectangular", ["rectangular in shape"]],
        ["audible", ["audible to the ear"]],
    ]
    return preferred_forms_check(text, redundancies, err, msg)
Example #13
0
def check(text):
    """Suggest the preferred forms."""
    err = "misc.professions"
    msg = "'{}' is the name of that job."

    preferences = [
        ["cobbler", ["shoe repair guy"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #14
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.back_formations"
    msg = "Back-formation. '{}' is the preferred form."

    list = [
        ["improper", ["improprietous"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #15
0
def check_curly_quotes(text):
    u"""Use curly quotes, not straight quotes."""
    err = "butterick.symbols.curly_quotes"
    msg = u'Use curly quotes “”, not straight quotes "".'

    list = [
        [u"“ or ”", ['"']],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #16
0
def check_lie_detector_test(text):
    """Suggest the preferred forms."""
    err = "lilienfeld.terms_to_avoid.lie_detector"
    msg = "Polygraph machines measure arousal, not lying per se. Try {}."

    list = [
        ["polygraph test", ["lie detector test"]],
        ["polygraph machine", ["lie detector machine"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #17
0
def check(text):
    """Suggest the preferred forms."""
    err = "misc.professions"
    msg = "'{}' is the name of that job."

    preferences = [

        ["cobbler",    ["shoe repair guy"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
def check(text):
    """Suggest the preferred forms."""
    err = "garner.eponymous_adjective"
    msg = "'{}' is the preferred eponymous adjective."

    preferences = [
        ["Mephistophelean", ["Mephistophelian"]],
        ["Shakespearean", ["Shakespearian"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #19
0
def check(text):
    """Suggest the preferred forms."""
    err = "ganer.false_plurals.examples"
    msg = "The plural is {}"

    preferences = [
        ["talismans", ["talismen"]],
        ["phenomena", ["phenomenons"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #20
0
def check(text):
    """Suggest the preferred forms."""
    err = "nordquist.redundancy"
    msg = "Redundancy. Use '{}' instead of '{}'."

    redundancies = [
        ["essential", ["absolutely essential"]],
        ["necessary", ["absolutely necessary"]],
        ["a.m.", ["a.m. in the morning"]],
        ["p.m.", ["p.m. at night"]],
    ]
    return preferred_forms_check(text, redundancies, err, msg)
Example #21
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.eponymous_adjective"
    msg = "'{}' is the preferred eponymous adjective."

    preferences = [

        ["Mephistophelean",    ["Mephistophelian"]],
        ["Shakespearean",      ["Shakespearian"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #22
0
def check_lie_detector_test(text):
    """Suggest the preferred forms."""
    err = "lilienfeld.terms_to_avoid.lie_detector"
    msg = "Polygraph machines measure arousal, not lying per se. Try {}."

    list = [

        ["polygraph test",      ["lie detector test"]],
        ["polygraph machine",   ["lie detector machine"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #23
0
def check(text):
    """Suggest the preferred forms."""
    err = "nordquist.redundancy"
    msg = "Redundancy. Use '{}' instead of '{}'."

    redundancies = [
        ["essential",          ["absolutely essential"]],
        ["necessary",          ["absolutely necessary"]],
        ["a.m.",               ["a.m. in the morning"]],
        ["p.m.",               ["p.m. at night"]],
    ]
    return preferred_forms_check(text, redundancies, err, msg)
Example #24
0
def check(text):
    """Suggest the preferred forms."""
    err = "ganer.many_a"
    msg = "'many a' requires a singular verb."

    preferences = [
        ["is many a", ["are many a"]],
        ["has been many a", ["have been many a"]],
        ["was many a", ["were many a"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #25
0
def check(text):
    """Suggest the preferred forms."""
    err = "ganer.many_a"
    msg = "'many a' requires a singular verb."

    preferences = [
        ["is many a",          ["are many a"]],
        ["has been many a",    ["have been many a"]],
        ["was many a",         ["were many a"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #26
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.animal_labels"
    msg = "There's a word for this: '{}'."

    preferences = [

        ["accipitrine",   ["hawk-like"]],
        ["anserine",      ["goose-like"]],
        ["aquiline",      ["eagle-like"]],
        ["avine",         ["bird-like"]],
        ["cancrine",      ["crab-like"]],
        ["hircine",       ["goat-like"]],
        ["damine",        ["deer-like"]],
        ["corvine",       ["crow-like", "raven-like"]],
        ["crocodiline",   ["crocodile-like"]],
        ["crotaline",     ["rattlesnake-like"]],
        ["falconine",     ["falcon-like"]],
        ["ferine",        ["wild animal-like"]],
        ["hippopotamine", ["hippopotamus-like"]],
        ["hirundine",     ["swallow-like"]],
        ["hystricine",    ["porcupine-like"]],
        ["lacertine",     ["lizard-like"]],
        ["laridine",      ["gull-like"]],
        ["leporine",      ["hare-like"]],
        ["lumbricine",    ["earthworm-like"]],
        ["lupine",        ["wolf-like"]],
        ["murine",        ["mouse-like"]],
        ["ovine",         ["sheep-like"]],
        ["pardine",       ["leopard-like", "panther-like"]],
        ["passerine",     ["sparrow-like"]],
        ["pavonine",      ["peacock-like"]],
        ["picine",        ["woodpecker-like"]],
        ["piscine",       ["fish-like"]],
        ["ranine",        ["frog-like"]],
        ["scolopendrine", ["centipede-like"]],
        ["soricine",      ["shrew-like"]],
        ["struthionine",  ["ostrich-like"]],
        ["suilline",      ["swine-like"]],
        ["taurine",       ["bull-like", "ox-like"]],
        ["tigrine",       ["tiger-like"]],
        ["vespine",       ["wasp-like"]],
        ["viperine",      ["viper-like"]],
        ["vituline",      ["calf-like", "veal-like"]],
        ["viverrine",     ["mongoose-like"]],
        ["vulpine",       ["fox-like"]],
        ["vulturine",     ["vulture-like"]],
        ["zebrine",       ["zebra-like"]],
        ["zibeline",      ["sable-like"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #27
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.captalization"
    msg = "Incorrect capitalization. '{}' is the preferred form."

    list = [
        ["Stone Age",          ["stone age"]],
        ["space age",          ["Space Age"]],
        ["the American West",  ["the American west"]],
        ["Mother Nature",      ["mother nature"]],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #28
0
def check(text):
    """Suggest the preferred forms."""
    err = "pinker.latin"
    msg = "Use English. '{}' is the preferred form."

    list = [
        ["other things being equal",          ["ceteris paribus"]],
        ["among other things",                ["inter alia"]],
        ["in and of itself",                  ["simpliciter"]],
        ["having made the necessary changes", ["mutatis mutandis"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #29
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.captalization"
    msg = "Incorrect capitalization. '{}' is the preferred form."

    list = [
        ["Stone Age", ["stone age"]],
        ["space age", ["Space Age"]],
        ["the American West", ["the American west"]],
        ["Mother Nature", ["mother nature"]],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #30
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.animal_labels"
    msg = "There's a word for this: '{}'."

    preferences = [
        ["accipitrine", ["hawk-like"]],
        ["anserine", ["goose-like"]],
        ["aquiline", ["eagle-like"]],
        ["avine", ["bird-like"]],
        ["cancrine", ["crab-like"]],
        ["hircine", ["goat-like"]],
        ["damine", ["deer-like"]],
        ["corvine", ["crow-like", "raven-like"]],
        ["crocodiline", ["crocodile-like"]],
        ["crotaline", ["rattlesnake-like"]],
        ["falconine", ["falcon-like"]],
        ["ferine", ["wild animal-like"]],
        ["hippopotamine", ["hippopotamus-like"]],
        ["hirundine", ["swallow-like"]],
        ["hystricine", ["porcupine-like"]],
        ["lacertine", ["lizard-like"]],
        ["laridine", ["gull-like"]],
        ["leporine", ["hare-like"]],
        ["lumbricine", ["earthworm-like"]],
        ["lupine", ["wolf-like"]],
        ["murine", ["mouse-like"]],
        ["ovine", ["sheep-like"]],
        ["pardine", ["leopard-like", "panther-like"]],
        ["passerine", ["sparrow-like"]],
        ["pavonine", ["peacock-like"]],
        ["picine", ["woodpecker-like"]],
        ["piscine", ["fish-like"]],
        ["ranine", ["frog-like"]],
        ["scolopendrine", ["centipede-like"]],
        ["soricine", ["shrew-like"]],
        ["struthionine", ["ostrich-like"]],
        ["suilline", ["swine-like"]],
        ["taurine", ["bull-like", "ox-like"]],
        ["tigrine", ["tiger-like"]],
        ["vespine", ["wasp-like"]],
        ["viperine", ["viper-like"]],
        ["vituline", ["calf-like", "veal-like"]],
        ["viverrine", ["mongoose-like"]],
        ["vulpine", ["fox-like"]],
        ["vulturine", ["vulture-like"]],
        ["zebrine", ["zebra-like"]],
        ["zibeline", ["sable-like"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #31
0
def check(text):
    """Check the text."""
    err = "garner.mixed_metaphors"
    msg = u"Mixed metaphor. Try '{}'."

    preferences = [
        ["cream rises to the top", ["cream rises to the crop"]],
        ["fasten your seatbelts", ["button your seatbelts"]],
        ["a minute to decompress", ["a minute to decompose"]],
        ["sharpest tool in the shed", ["sharpest marble in the (shed|box)"]],
        ["not rocket science", ["not rocket surgery"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #32
0
def check(text):
    """Check the text."""
    err = "garner.mixed_metaphors"
    msg = u"Mixed metaphor. Try '{}'."

    preferences = [

        ["cream rises to the top",    ["cream rises to the crop"]],
        ["fasten your seatbelts",     ["button your seatbelts"]],
        ["a minute to decompress",    ["a minute to decompose"]],
        ["sharpest tool in the shed", ["sharpest marble in the (shed|box)"]],
        ["not rocket science",        ["not rocket surgery"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #33
0
def check_curly_quotes(text):
    u"""Use curly quotes, not straight quotes."""
    err = "butterick.symbols.curly_quotes"
    msg = u'Use curly quotes “”, not straight quotes "".'

    list = [
        [u"“ or ”", ['"']],
    ]

    return preferred_forms_check(text,
                                 list,
                                 err,
                                 msg,
                                 ignore_case=False,
                                 max_errors=2)
Example #34
0
def check_days(text):
    """Suggest the preferred forms."""
    err = "MAU102"
    msg = "Days of the week should be capitalized. '{}' is the preferred form."

    list = [
        ["Monday", ["monday"]],
        ["Tuesday", ["tuesday"]],
        ["Wednesday", ["wednesday"]],
        ["Thursday", ["thursday"]],
        ["Friday", ["friday"]],
        ["Saturday", ["saturday"]],
        ["Sunday", ["sunday"]],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #35
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.denizen_labels"
    msg = "'{}' is the preferred denizen label."

    preferences = [

        ["Afrikaner",         ["Afrikaaner"]],
        ["Afrikaner",         ["Afrikander"]],
        ["Alabamian",         ["Alabaman"]],
        ["Albuquerquean",     ["Albuquerquian"]],
        ["Anchorageite",      ["Anchoragite"]],
        ["Angeleno",          ["Los Angelean"]],
        ["Arizonan",          ["Arizonian"]],
        ["Arkansan",          ["Arkansawyer"]],
        ["Belarusian",        ["Belarusan"]],
        ["Caymanian",         ["Cayman Islander"]],
        ["Coloradan",         ["Coloradoan"]],
        ["Fairbanksan",       ["Fairbanksian"]],
        ["Fort Worthian",     ["Fort Worther"]],
        ["Grenadan",          ["Grenadian"]],
        ["Hong Konger",       ["Hong Kongite", "Hong Kongian"]],
        ["Hoosier",           ["Indianan", "Indianian"]],
        ["Illinoisan",        ["Illinoisian"]],
        ["Iowan",             ["Iowegian"]],
        ["Louisianian",       ["Louisianan"]],
        ["Michigander",       ["Michiganite", "Michiganian"]],
        ["Missourian",        ["Missouran"]],
        ["Monegasque",        ["Monacan"]],
        ["Neapolitan",        ["Neopolitan"]],
        ["New Hampshirite",   ["New Hampshireite", "New Hampshireman"]],
        ["New Jerseyan",      ["New Jerseyite"]],
        ["New Orleanian",     ["New Orleansian"]],
        ["Nutmegger",         ["Connecticuter"]],
        ["Oklahoma Cityan",   ["Oklahoma Citian"]],
        ["Oklahoman",         ["Oklahomian"]],
        ["Seattleite",        ["Seattlite"]],
        ["Surinamese",        ["Surinamer"]],
        ["Tallahasseean",     ["Tallahassean"]],
        ["Tennessean",        ["Tennesseean"]],
        ["Tusconan",          ["Tusconian", "Tusconite"]],
        ["Utahn",             ["Utahan"]],
        ["Saudi",             ["Saudi Arabian"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #36
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.mondegreens"
    msg = "'{}' is the preferred form."

    list = [
        ["a girl with kaleidascope eyes", ["a girl with colitis goes by"]],
        ["a partridge in a pear tree",    ["a part-red gingerbread tree"]],
        ["attorney and not a republic",   ["attorney and notary public"]],
        ["beck and call",                 ["beckon call"]],
        ["for all intents and purposes",  ["for all intensive purposes"]],
        ["laid him on the green",         ["Lady Mondegreen"]],
        ["Olive, the other reindeer",     ["all of the other reindeer"]],
        ["to the manner born",            ["to the manor born"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #37
0
def check_days(text):
    """Suggest the preferred forms."""
    err = "MAU102"
    msg = "Days of the week should be capitalized. '{}' is the preferred form."

    list = [

        ["Monday",       ["monday"]],
        ["Tuesday",      ["tuesday"]],
        ["Wednesday",    ["wednesday"]],
        ["Thursday",     ["thursday"]],
        ["Friday",       ["friday"]],
        ["Saturday",     ["saturday"]],
        ["Sunday",       ["sunday"]],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #38
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.mondegreens"
    msg = "'{}' is the preferred form."

    list = [
        ["a girl with kaleidascope eyes", ["a girl with colitis goes by"]],
        ["a partridge in a pear tree", ["a part-red gingerbread tree"]],
        ["attorney and not a republic", ["attorney and notary public"]],
        ["beck and call", ["beckon call"]],
        ["for all intents and purposes", ["for all intensive purposes"]],
        ["laid him on the green", ["Lady Mondegreen"]],
        ["Olive, the other reindeer", ["all of the other reindeer"]],
        ["to the manner born", ["to the manor born"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #39
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.denizen_labels"
    msg = "'{}' is the preferred denizen label."

    preferences = [
        ["Afrikaner", ["Afrikaaner"]],
        ["Afrikaner", ["Afrikander"]],
        ["Alabamian", ["Alabaman"]],
        ["Albuquerquean", ["Albuquerquian"]],
        ["Anchorageite", ["Anchoragite"]],
        ["Angeleno", ["Los Angelean"]],
        ["Arizonan", ["Arizonian"]],
        ["Arkansan", ["Arkansawyer"]],
        ["Belarusian", ["Belarusan"]],
        ["Caymanian", ["Cayman Islander"]],
        ["Coloradan", ["Coloradoan"]],
        ["Fairbanksan", ["Fairbanksian"]],
        ["Fort Worthian", ["Fort Worther"]],
        ["Grenadan", ["Grenadian"]],
        ["Hong Konger", ["Hong Kongite", "Hong Kongian"]],
        ["Hoosier", ["Indianan", "Indianian"]],
        ["Illinoisan", ["Illinoisian"]],
        ["Iowan", ["Iowegian"]],
        ["Louisianian", ["Louisianan"]],
        ["Michigander", ["Michiganite", "Michiganian"]],
        ["Missourian", ["Missouran"]],
        ["Monegasque", ["Monacan"]],
        ["Neapolitan", ["Neopolitan"]],
        ["New Hampshirite", ["New Hampshireite", "New Hampshireman"]],
        ["New Jerseyan", ["New Jerseyite"]],
        ["New Orleanian", ["New Orleansian"]],
        ["Nutmegger", ["Connecticuter"]],
        ["Oklahoma Cityan", ["Oklahoma Citian"]],
        ["Oklahoman", ["Oklahomian"]],
        ["Seattleite", ["Seattlite"]],
        ["Surinamese", ["Surinamer"]],
        ["Tallahasseean", ["Tallahassean"]],
        ["Tennessean", ["Tennesseean"]],
        ["Tusconan", ["Tusconian", "Tusconite"]],
        ["Utahn", ["Utahan"]],
        ["Saudi", ["Saudi Arabian"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #40
0
def check_months(text):
    """Suggest the preferred forms."""
    err = "MAU102"
    msg = "Months should be capitalized. '{}' is the preferred form."

    list = [
        ["January", ["january"]],
        ["February", ["february"]],
        # ["March",           ["march"]],
        ["April", ["april"]],
        # ["May",             ["may"]],
        ["June", ["june"]],
        ["July", ["july"]],
        ["August", ["august"]],
        ["September", ["september"]],
        ["October", ["october"]],
        ["November", ["november"]],
        ["December", ["december"]],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #41
0
def check_months(text):
    """Suggest the preferred forms."""
    err = "MAU102"
    msg = "Months should be capitalized. '{}' is the preferred form."

    list = [

        ["January",         ["january"]],
        ["February",        ["february"]],
        # ["March",           ["march"]],
        ["April",           ["april"]],
        # ["May",             ["may"]],
        ["June",            ["june"]],
        ["July",            ["july"]],
        ["August",          ["august"]],
        ["September",       ["september"]],
        ["October",         ["october"]],
        ["November",        ["november"]],
        ["December",        ["december"]],
    ]

    return preferred_forms_check(text, list, err, msg, ignore_case=False)
Example #42
0
def check(text):
    """Suggest the preferred forms."""
    err = "norris.denizen_labels"
    msg = "Would you like '{}'?"

    preferences = [
        ["Mancunian",         ["Manchesterian"]],
        ["Mancunians",        ["Manchesterians"]],
        ["Vallisoletano",     ["Valladolidian"]],
        ["Wulfrunian",        ["Wolverhamptonian", "Wolverhamptonite"]],
        ["Novocastrian",      ["Newcastleite", "Newcastlite"]],
        ["Trifluvian",        [u"Trois-Rivièrester"]],
        ["Leodenisian",       ["Leedsian"]],
        ["Minneapolitan",     ["Minneapolisian"]],
        ["Hartlepudlian",     ["Hartlepoolian"]],
        ["Liverpudlian",      ["Liverpoolian"]],
        ["Haligonian",        ["Halifaxer"]],
        ["Varsovian",         ["Warsawer", "Warsawian"]],
        ["Providentian",      ["Providencian", "Providencer"]],
        ["Tridentine",        ["Trentian", "Trentonian"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #43
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.sexism"
    msg = "Gender bias. Use '{}' instead of '{}'."

    sexism = [
        ["anchor",           ["anchorman", "anchorwoman", "anchorperson"]],
        ["chair",            ["chairman", "chairwoman", "chairperson"]],
        ["drafter",          ["draftman", "draftwoman", "draftperson"]],
        ["ombuds",           ["ombudsman", "ombudswoman", "ombudsperson"]],
        ["tribe member",     ["tribesman", "tribeswoman", "tribesperson"]],
        ["police officer",   ["policeman", "policewoman", "policeperson"]],
        ["firefighter",      ["fireman", "firewoman", "fireperson"]],
        ["mail carrier",     ["mailman", "mailwoman", "mailperson"]],
        ["history",          ["herstory"]],
        ["women",            ["womyn"]],
        ["poet",             ["poetess"]],
        ["author",           ["authoress"]],
        ["waiter",           ["waitress"]],
        ["lawyer",           ["lady lawyer"]],
        ["doctor",           ["woman doctor"]],
        ["bookseller",       ["female booksalesman"]],
        ["air pilot",        ["femaile airman"]],
        ["executor",         ["executrix"]],
        ["prosecutor",       ["prosecutrix"]],
        ["testator",         ["testatrix"]],
        ["husband and wife", ["man and wife"]],
        ["chairs",           ["chairmen and chairs"]],
        ["men and women",    ["men and girls"]],
        ["comedian",         ["comedienne"]],
        ["confidant",        ["confidante"]],
        ["scientist",        ["woman scientist"]],
        ["scientists",       ["women scientists"]]
        # ["hero",             ["heroine"]]
    ]

    return preferred_forms_check(text, sexism, err, msg, ignore_case=False)
Example #44
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.needless_variants"
    msg = "Needless variant. '{}' is the preferred form."

    preferences = [

        # Needless variants
        ["abolition", ["abolishment"]],
        ["accessory", ["accessary"]],
        ["accredit", ["accreditate"]],
        ["accrual", ["accruement"]],
        ["accumulate", ["cumulate"]],
        ["accused", ["accusee"]],
        ["acquaintance", ["acquaintanceship"]],
        ["acquittal", ["acquitment"]],
        ["administer", ["administrate"]],
        ["administered", ["administrated"]],
        ["administering", ["administrating"]],
        ["adulterous", ["adulterate"]],
        ["advisory", ["advisatory"]],
        ["advocate", ["advocator"]],
        ["alleger", ["allegator"]],
        ["allusive", ["allusory"]],
        ["ameliorate", ["meliorate"]],
        ["amorous", ["amative"]],
        ["amortization", ["amortizement"]],
        ["amphibology", ["amphiboly"]],
        ["anachronism", ["parachronism"]],
        ["anecdotist", ["anecdotalist"]],
        ["anilingus", ["anilinctus"]],
        ["anticipatory", ["anticipative"]],
        ["antithetical", ["antithetic"]],
        ["applicable", ["applicative"]],
        ["applicable", ["applicatory"]],
        ["applicator", ["applier"]],
        ["approbatory", ["approbative"]],
        ["arbitrageur", ["arbitrager"]],
        ["arsenious", ["arsenous"]],
        ["ascendancy", ["ascendance"]],
        ["ascendancy", ["ascendence"]],
        ["ascendancy", ["ascendency"]],
        ["authorial", ["auctorial"]],
        ["averment", ["averral"]],
        ["barbed wire", ["barbwire"]],
        ["beneficent", ["benefic"]],
        ["benign", ["benignant"]],
        ["bestowal", ["bestowment"]],
        ["betrothal", ["betrothment"]],
        ["blameworthiness", ["blamableness"]],
        ["buck naked", ["butt naked"]],
        ["captor", ["capturer"]],
        ["carte blanche", ["carta blanca"]],
        ["casualties", ["casualities"]],
        ["casualty", ["casuality"]],
        ["catch fire", ["catch on fire"]],
        ["catholically", ["catholicly"]],
        ["ceasefire", ["cease fire"]],
        ["cellphone", ["cell phone", "cell-phone"]],
        ["channel", ["channelize"]],
        ["chaplaincy", ["chaplainship"]],
        ["chrysalis", ["chrysalid"]],
        ["chrysalises", ["chrysalids"]],
        ["cigarette", ["cigaret"]],
        ["cliquish", ["cliquey", "cliquy"]],
        ["cognitive", ["cognitional"]],
        ["cohabit", ["cohabitate"]],
        ["cohabitant", ["cohabitor"]],
        ["collodion", ["collodium"]],
        ["collusive", ["collusory"]],
        ["commemorative", ["commemoratory"]],
        ["commonage", ["commonty"]],
        ["communicative", ["communicatory"]],
        ["compensatory", ["compensative"]],
        ["complacency", ["complacence"]],
        ["complicit", ["complicitous"]],
        ["compute", ["computate"]],
        ["comrade", ["camarade"]],
        ["conciliatory", ["conciliative"]],
        ["concomitance", ["concomitancy"]],
        ["condonation", ["condonance"]],
        ["confirmatory", ["confirmative"]],
        ["congruence", ["congruency"]],
        ["connote", ["connotate"]],
        ["consanguine", ["consanguineal"]],
        ["conspicuousness", ["conspicuity"]],
        ["conspirator", ["conspiratorialist"]],
        ["constitutionalist", ["constitutionist"]],
        ["contemporaneous", ["cotemporaneous"]],
        ["contemporary", ["cotemporary"]],
        ["contigency", ["contingence"]],
        ["contributory", ["contributary"]],
        ["contumacy", ["contumacity"]],
        ["convertible", ["conversible"]],
        ["conveyance", ["conveyal"]],
        ["corroborative", ["corroboratory"]],
        ["coworker", ["coemployee"]],
        ["curative", ["curatory"]],
        ["daredevilry", ["daredeviltry"]],
        ["deceptive", ["deceptious"]],
        ["defamatory", ["defamative"]],
        ["degenerative", ["degeneratory"]],
        ["delimit", ["delimitate"]],
        ["delusive", ["delusory"]],
        ["denunciation", ["denouncement"]],
        ["depositary", ["depositee"]],
        ["depreciatory", ["depreciative"]],
        ["deprivation", ["deprival"]],
        ["derogatory", ["derogative"]],
        ["destructible", ["destroyable"]],
        ["dethrone", ["disenthrone"]],
        ["detoxify", ["detoxicate"]],
        ["detractive", ["detractory"]],
        ["deuterogamy", ["digamy"]],
        ["deviance", ["deviancy"]],
        ["deviant", ["deviationist"]],
        ["digitize", ["digitalize"]],
        ["diminution", ["diminishment"]],
        ["diplomat", ["diplomatist"]],
        ["disciplinary", ["disciplinatory"]],
        ["discriminating", ["discriminant"]],
        ["disintegrative", ["disintegratory"]],
        ["dismissal", ["dismission"]],
        ["disorient", ["disorientate"]],
        ["disoriented", ["disorientated"]],
        ["disquiet", ["disquieten"]],
        ["dissociate", ["disassociate"]],
        ["distrait", ["distraite"]],
        ["divergence", ["divergency"]],
        ["divisible", ["dividable"]],
        ["doctrinaire", ["doctrinary"]],
        ["documentary", ["documental"]],
        ["domesticate", ["domesticize"]],
        ["doubt", ["misdoubt"]],
        ["duplicative", ["duplicatory"]],
        ["dutiful", ["duteous"]],
        ["educationist", ["educationalist"]],
        ["educative", ["educatory"]],
        ["empanel", ["impanel"]],
        ["encumbrance", ["cumbrance"]],
        ["endow", ["indow"]],
        ["endue", ["indue"]],
        ["enigmas", ["enigmatas"]],
        ["enlarge", ["enlargen"]],
        ["epic", ["epical"]],
        ["eroticism", ["erotism"]],
        ["ethicist", ["ethician"]],
        ["ex officio", ["ex officiis"]],
        ["exculpatory", ["exculpative"]],
        ["exigency", ["exigence"]],
        ["exigent", ["exigeant"]],
        ["exoticism", ["exotism"]],
        ["expediency", ["expedience"]],
        ["expedient", ["expediential"]],
        ["expedient", ["expediential"]],
        ["extendable", ["extensible"]],
        ["eyeing", ["eying"]],
        ["fief", ["fiefdom"]],
        ["flagrancy", ["flagrance"]],
        ["flatulence", ["flatulency"]],
        ["fraudulent", ["defraudulent"]],
        ["fraudulent", ["fraudful"]],
        ["funereal", ["funebrial"]],
        ["geographic", ["geographical"]],
        ["geometric", ["geometrical"]],
        ["goatherd", ["goatherder"]],
        ["grievance", ["aggrievance"]],
        ["gustatory", ["gustatorial"]],
        ["habit", ["habitude"]],
        ["henceforth", ["henceforward"]],
        ["hesitancy", ["hesitance"]],
        ["heterogeneous", ["heterogenous"]],
        ["hierarchical", ["hierarchic"]],
        ["hindmost", ["hindermost"]],
        ["honoree", ["honorand"]],
        ["hypostatize", ["hypostasize"]],
        ["hysterical", ["hysteric"]],
        ["idolize", ["idolatrize"]],
        ["impersonation", ["personation"]],
        ["impervious", ["imperviable"]],
        ["importunity", ["importunacy"]],
        ["impotence", ["impotency"]],
        ["imprimatur", ["imprimatura"]],
        ["improper", ["improprietous"]],
        ["incitement", ["incitation"]],
        ["inconsistency", ["inconsistence"]],
        ["incriminate", ["criminate"]],
        ["inculpatory", ["culpatory"]],
        ["incurrence", ["incurment"]],
        ["infrequent", ["unfrequent"]],
        ["inhibitory", ["inhibitive"]],
        ["innovative", ["innovational"]],
        ["inquisitorial", ["inquisitional"]],
        ["insistence", ["insistment"]],
        ["instillation", ["instillment"]],
        ["instinctive", ["instinctual"]],
        ["insubstantial", ["unsubstantial"]],
        ["insurer", ["insuror"]],
        ["insurrectionary", ["insurrectional"]],
        ["interpret", ["interpretate"]],
        ["intervention", ["intervenience"]],
        ["ironic", ["ironical"]],
        ["irrevocable", ["unrevokable"]],
        ["judgmental", ["judgmatic"]],
        ["jury-rigged", ["gerry-rigged"]],
        ["jury-rigged", ["jerry-rigged"]],
        ["kaffeeklatsch", ["Coffee klatsch", "coffee klatch"]],
        ["knickknack", ["nicknack"]],
        ["labyrinthine", ["labyrinthian"]],
        ["laudatory", ["laudative"]],
        ["legitimation", ["legitimatization"]],
        ["legitimation", ["legitimization"]],
        ["legitimize", ["legitimatize"]],
        ["lengthwise", ["lengthways"]],
        ["licorice", ["liquorice"]],
        ["life-size", ["life-sized"]],
        ["lithe", ["lithesome"]],
        ["loath", ["loth"]],
        ["lollypop", ["lollipop"]],
        ["lubricious", ["lubricous"]],
        ["mayhem", ["maihem"]],
        ["medical marijuana", ["medicinal marijuana"]],
        ["minimize", ["minimalize"]],
        ["monetize", ["monetarize"]],
        ["movable", ["moveable"]],
        ["murk", ["mirk"]],
        ["murky", ["mirky"]],
        ["narcissism", ["narcism"]],
        ["neglectful", ["neglective"]],
        ["negligence", ["negligency"]],
        ["neologist", ["neologizer"]],
        ["neurological", ["neurologic"]],
        ["nictitate", ["nictate"]],
        ["normality", ["normalcy"]],
        ["numbness", ["numbedness"]],
        ["omissible", ["omittable"]],
        ["onomatopoeic", ["onomatopoetic"]],
        ["opined", ["opinioned"]],
        ["optimal advantage", ["optimum advantage"]],
        ["orient", ["orientate"]],
        ["outsize", ["outsized"]],
        ["oversize", ["oversized"]],
        ["overthrow", ["overthrowal"]],
        ["pacifist", ["pacificist"]],
        ["parti-colored", ["parti-color"]],
        ["parti-colored", ["party-colored"]],
        ["participatory", ["participative"]],
        ["partner", ["copartner"]],
        ["partnership", ["copartnership"]],
        # ["password",          ["passcode"]],  # FIXME
        ["patina", ["patine"]],
        ["pederast", ["paederast"]],
        ["pediatrician", ["pediatrist"]],
        ["pejorative", ["perjorative"]],
        ["penumbral", ["penumbrous"]],
        ["permissive", ["permissory"]],
        ["permute", ["permutate"]],
        ["pharmaceutical", ["pharmaceutic"]],
        ["pleurisy", ["pleuritis"]],
        ["policyholder", ["policy holder"]],
        ["policyholder", ["policyowner"]],
        ["politicize", ["politicalize"]],
        ["pre-Columbian", ["precolumbian"]],
        ["precedence", ["precedency"]],
        ["preceptorial", ["preceptoral"]],
        ["precipitancy", ["precipitance"]],
        ["precipitate", ["precipitant"]],
        ["preclusive", ["preclusory"]],
        ["prefectorial", ["prefectoral"]],
        ["preponderantly", ["preponderately"]],
        ["preservation", ["preserval"]],
        ["preventive", ["preventative"]],
        ["proconsulate", ["proconsulship"]],
        ["procreative", ["procreational"]],
        ["procurement", ["procurance"]],
        ["propulsion", ["propelment"]],
        ["propulsive", ["propulsory"]],
        ["prosecutory", ["prosecutive"]],
        ["protective", ["protectory"]],
        ["provocative", ["provocatory"]],
        ["prurience", ["pruriency"]],
        ["psychical", ["psychal"]],
        ["punitive", ["punitory"]],
        ["pygmy", ["pygmean", "pygmaen"]],
        ["quantify", ["quantitate"]],
        ["questionnaire", ["questionary"]],
        ["quiescence", ["quiescency"]],
        ["rabbi", ["rabbin"]],
        ["reasonableness", ["reasonability"]],
        ["recidivous", ["recidivistic"]],
        ["recriminatory", ["recriminative"]],
        ["recruitment", ["recruital"]],
        ["recurrence", ["recurrency"]],
        ["recusal", ["recusation"]],
        ["recusal", ["recusement"]],
        ["recusancy", ["recusance"]],
        ["redemptive", ["redemptory"]],
        ["referable", ["referrable"]],
        ["referable", ["referrible"]],
        ["refutative", ["refutatory"]],
        ["remission", ["remittal"]],
        ["remittance", ["remitment"]],
        ["renounceable", ["renunciable"]],
        ["renunciation", ["renouncement"]],
        ["reparative", ["reparatory"]],
        ["repudiatory", ["repudiative"]],
        ["requital", ["requitement"]],
        ["rescission", ["rescindment"]],
        ["restoration", ["restoral"]],
        ["reticence", ["reticency"]],
        ["retributive", ["retributional", "retributionary"]],
        ["review", ["reviewal"]],
        ["revision", ["revisal"]],
        ["revisionary", ["revisional"]],
        ["revocable", ["revokable", "revokeable"]],
        ["revolt", ["revolute"]],
        ["salience", ["saliency"]],
        ["salutary", ["salutiferous"]],
        ["sensory", ["sensatory"]],
        ["sessional", ["sessionary"]],
        ["shareholder", ["shareowner"]],
        ["sickly", ["sicklily"]],
        ["signatory", ["signator"]],
        ["slander", ["slanderize"]],
        ["societal", ["societary"]],
        ["sodomite", ["sodomist"]],
        ["solicit", ["solicitate"]],
        ["speculative", ["speculatory"]],
        ["spirituous", ["spiritous"]],
        ["statutory", ["statutorial"]],
        ["submersible", ["submergeable"]],
        ["submission", ["submittal"]],
        ["subtle", ["subtile"]],
        ["succubus", ["succuba"]],
        ["sufficiency", ["sufficience"]],
        ["supplicant", ["suppliant"]],
        ["surmise", ["surmisal"]],
        ["suspendable", ["suspendible"]],
        ["swathe", ["enswathe"]],
        ["synthesize", ["synthetize"]],
        ["systematize", ["systemize"]],
        ["T-shirt", ["tee-shirt"]],
        ["tactile", ["tactual"]],
        ["tangential", ["tangental"]],
        ["tautological", ["tautologous"]],
        ["thenceforth", ["thenceforward"]],
        ["transience", ["transiency"]],
        ["transposition", ["transposal"]],
        ["transposition", ["transposal"]],
        ["unalterable", ["inalterable"]],
        ["uncommunicative", ["incommunicative"]],
        ["uncontrollable", ["incontrollable"]],
        ["unenforceable", ["nonenforceable"]],
        ["unnavigable", ["innavigable"]],
        ["unreasonableness", ["unreasonability"]],
        ["unsolvable", ["insolvable"]],
        ["usurpation", ["usurpature"]],
        ["variational", ["variative"]],
        ["vegetative", ["vegetive"]],
        ["vindictive", ["vindicative"]],
        ["vituperative", ["vituperous"]],
        ["vociferous", ["vociferant"]],
        ["volitional", ["volitive"]],
        ["wolfish", ["wolvish"]],
        ["wolverine", ["wolverene"]],
        ["Zoroastrianism", ["Zoroastrism"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #45
0
def check_able_atable(text):
    """-able vs. -ible."""
    err = "garner.preferred_forms.atable"
    msg = "-able vs. -atable. '{}' is the preferred form."

    preferences = [
        ["abbreviable", ["abbreviatable"]],
        ["abdicable", ["abdicatable"]],
        ["abrogable", ["abrogatable"]],
        ["accommodable", ["accommodatable"]],
        ["accumulable", ["accumulatable"]],
        ["activable", ["activatable"]],
        ["administrable", ["administratable"]],
        ["adulterable", ["adulteratable"]],
        ["affiliable", ["affiliatable"]],
        ["aggregable", ["aggregatable"]],
        ["agitable", ["agitatable"]],
        ["alienable", ["alienatable"]],
        ["alleviable", ["alleviatable"]],
        ["allocable", ["allocatable"]],
        ["ameliorable", ["amelioratable"]],
        ["annihilable", ["annihilatable"]],
        ["appreciable", ["appreciatable"]],
        ["appropriable", ["appropriatable"]],
        ["arbitrable", ["arbitratable"]],
        ["articulable", ["articulatable"]],
        ["calculable", ["calculatable"]],
        ["communicable", ["communicatable"]],
        ["compensable", ["compensatable"]],
        ["confiscable", ["confiscatable"]],
        ["corroborable", ["corroboratable"]],
        ["cultivable", ["cultivatable"]],
        ["delegable", ["delegatable"]],
        ["delineable", ["delineatable"]],
        ["demonstrable", ["demonstratable"]],
        ["detonable", ["detonatable"]],
        ["differentiable", ["differentiatable"]],
        ["eradicable", ["eradicatable"]],
        ["evacuable", ["evacuatable"]],
        ["evaluable", ["evaluatable"]],
        ["expropriable", ["expropriatable"]],
        ["generable", ["generatable"]],
        ["indicable", ["indicatable"]],
        ["inebriable", ["inebriatable"]],
        ["inextirpable", ["inextirpatable"]],
        ["inextricable", ["inextricatable"]],
        ["infatuable", ["infatuatable"]],
        ["infuriable", ["infuriatable"]],
        ["invalidable", ["invalidatable"]],
        ["investigable", ["investigatable"]],
        ["isolable", ["isolatable"]],
        ["litigable", ["litigatable"]],
        ["manipulable", ["manipulatable"]],
        ["medicable", ["medicatable"]],
        ["navigable", ["navigatable"]],
        ["obligable", ["obligatable"]],
        ["obviable", ["obviatable"]],
        ["operable", ["operatable"]],
        ["originable", ["originatable"]],
        ["participable", ["participatable"]],
        ["penetrable", ["penetratable"]],
        ["perpetrable", ["perpetratable"]],
        ["perpetuable", ["perpetuatable"]],
        ["predicable", ["predicatable"]],
        ["propagable", ["propagatable"]],
        ["regulable", ["regulatable"]],
        ["replicable", ["replicatable"]],
        ["repudiable", ["repudiatable"]],
        ["segregable", ["segregatable"]],
        ["separable", ["separatable"]],
        ["subjugable", ["subjugatable"]],
        ["vindicable", ["vindicatable"]],
        ["violable", ["violatable"]],
        ["vitiable", ["vitiatable"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #46
0
def check_able_ible(text):
    """-able vs. -ible."""
    err = "garner.preferred_forms.ible"
    msg = "-able vs. -ible. '{}' is the preferred form."

    preferences = [
        ["actionable", ["actionible"]],
        ["addable", ["addible"]],
        ["admittable", ["admittible"]],
        ["advisable", ["advisible"]],
        ["affectable", ["affectible"]],
        ["allegeable", ["allegeible"]],
        ["analyzable", ["analyzible"]],
        ["annexable", ["annexible"]],
        ["arrestable", ["arrestible"]],
        ["ascendable", ["ascendible"]],
        ["assertable", ["assertible"]],
        ["assessable", ["assessible"]],
        ["averageable", ["averageible"]],
        ["bailable", ["bailible"]],
        ["blamable", ["blamible"]],
        ["changeable", ["changeible"]],
        ["chargeable", ["chargeible"]],
        ["circumscribable", ["circumscribible"]],
        ["commensurable", ["commensurible"]],
        ["committable", ["committible"]],
        ["condensable", ["condensible"]],
        ["connectable", ["connectible"]],
        ["contestable", ["contestible"]],
        ["contractable", ["contractible"]],
        ["conversable", ["conversible"]],
        ["convictable", ["convictible"]],
        ["correctable", ["correctible"]],
        ["definable", ["definible"]],
        ["detectable", ["detectible"]],
        ["diagnosable", ["diagnosible"]],
        ["discussable", ["discussible"]],
        ["endorsable", ["endorsible"]],
        ["enforceable", ["enforceible"]],
        ["evadable", ["evadible"]],
        ["excisable", ["excisible"]],
        ["excludable", ["excludible"]],
        ["expandable", ["expandible"]],
        ["extendable", ["extendible"]],
        ["extractable", ["extractible"]],
        ["ignitable", ["ignitible"]],
        ["immovable", ["immovible"]],
        ["improvable", ["improvible"]],
        ["includable", ["includible"]],
        ["inferable", ["inferible"]],
        ["inventable", ["inventible"]],
        ["investable", ["investible"]],
        ["lapsable", ["lapsible"]],
        ["lovable", ["lovible"]],
        ["mixable", ["mixible"]],
        ["movable", ["movible"]],
        ["noticeable", ["noticeible"]],
        ["offendable", ["offendible"]],
        ["patentable", ["patentible"]],
        ["persuadable", ["persuadible"]],
        ["preventable", ["preventible"]],
        ["processable", ["processible"]],
        ["protectable", ["protectible"]],
        ["ratable", ["ratible"]],
        ["redressable", ["redressible"]],
        ["referable", ["referible"]],
        ["retractable", ["retractible"]],
        ["revisable", ["revisible"]],
        ["rinsable", ["rinsible"]],
        ["salable", ["salible"]],
        ["suspendable", ["suspendible"]],
        ["tractable", ["tractible"]],
        ["transferable", ["transferible"]],
        ["transmittable", ["transmittible"]],
        ["willable", ["willible"]],
        ["accessible", ["accessable"]],
        ["adducible", ["adducable"]],
        ["admissible", ["admissable"]],
        ["audible", ["audable"]],
        ["avertible", ["avertable"]],
        ["collapsible", ["collapsable"]],
        ["collectible", ["collectable"]],
        ["combustible", ["combustable"]],
        ["compactible", ["compactable"]],
        ["compatible", ["compatable"]],
        ["comprehensible", ["comprehensable"]],
        ["compressible", ["compressable"]],
        ["concussible", ["concussable"]],
        ["conductible", ["conductable"]],
        ["contemptible", ["contemptable"]],
        ["controvertible", ["controvertable"]],
        ["convertible", ["convertable"]],
        ["corrodible", ["corrodable"]],
        ["corruptible", ["corruptable"]],
        ["credible", ["credable"]],
        ["deducible", ["deducable"]],
        ["deductible", ["deductable"]],
        ["defeasible", ["defeasable"]],
        ["defensible", ["defensable"]],
        ["descendible", ["descendable"]],
        ["destructible", ["destructable"]],
        ["diffusible", ["diffusable"]],
        ["digestible", ["digestable"]],
        ["discernible", ["discernable"]],
        ["dismissible", ["dismissable"]],
        ["divisible", ["divisable"]],
        ["edible", ["edable"]],
        ["educible", ["educable"]],
        ["eligible", ["eligable"]],
        ["erodible", ["erodable"]],
        ["exhaustible", ["exhaustable"]],
        ["expressible", ["expressable"]],
        ["fallible", ["fallable"]],
        ["feasible", ["feasable"]],
        ["flexible", ["flexable"]],
        ["forcible", ["forcable"]],
        ["fusible", ["fusable"]],
        ["gullible", ["gullable"]],
        ["horrible", ["horrable"]],
        ["impressible", ["impressable"]],
        ["inadmissible", ["inadmissable"]],
        ["incorrigible", ["incorrigable"]],
        ["indelible", ["indelable"]],
        ["inexpressible", ["inexpressable"]],
        ["intelligible", ["intelligable"]],
        ["interfusible", ["interfusable"]],
        ["invincible", ["invincable"]],
        ["irascible", ["irascable"]],
        ["irresistible", ["irresistable"]],
        ["legible", ["legable"]],
        ["negligible", ["negligable"]],
        ["omissible", ["omissable"]],
        ["oppressible", ["oppressable"]],
        ["ostensible", ["ostensable"]],
        ["perceptible", ["perceptable"]],
        ["perfectible", ["perfectable"]],
        ["permissible", ["permissable"]],
        ["plausible", ["plausable"]],
        ["possible", ["possable"]],
        ["producible", ["producable"]],
        ["reducible", ["reducable"]],
        ["remissible", ["remissable"]],
        ["reprehensible", ["reprehensable"]],
        ["repressible", ["repressable"]],
        ["resistible", ["resistable"]],
        ["responsible", ["responsable"]],
        ["reversible", ["reversable"]],
        ["revertible", ["revertable"]],
        ["risible", ["risable"]],
        ["seducible", ["seducable"]],
        ["sensible", ["sensable"]],
        ["submersible", ["submersable"]],
        ["submergible", ["submergable"]],
        ["suggestible", ["suggestable"]],
        ["suppressible", ["suppressable"]],
        ["susceptible", ["susceptable"]],
        ["terrible", ["terrable"]],
        ["transfusible", ["transfusable"]],
        ["transmissible", ["transmissable"]],
        ["uncollectible", ["uncollectable"]],
        ["vendible", ["vendable"]],
        ["visible", ["visable"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #47
0
def check(text):
    """Suggest the preferred forms."""
    err = "ganer.preferred_forms"
    msg = "'{}' is the preferred form."

    preferences = [
        # Obsolete words
        ["imprimatur", ["imprimature"]],
        # Proper nouns
        ["Halloween", ["haloween", "hallowe'en"]],
        ["Khrushchev", ["Khruschev", "Kruschev"]],
        ["Ku Klux Klan", ["Klu Klux Klan"]],
        ["Pontius Pilate", ["Pontius Pilot"]],
        # Plurals
        ["hippopotamuses", ["hippopotami"]],
        ["manifestos", ["manifesti"]],
        ["matrixes", ["matrices"]],
        ["mongooses", ["mongeese"]],
        ["narcissi", ["narcissuses"]],
        ["retinas", ["retinae"]],
        ["sopranos", ["soprani"]],
        ["titmice", ["titmouses"]],
        # Hyphenated words
        ["long-standing", ["longstanding"]],
        ["sans serif", ["sans-serif", "sanserif"]],
        ["tortfeasor", ["tort feasor", "tort-feasor"]],
        ["transship", ["tranship", "trans-ship"]],
        ["transshipped", ["transhipped", "trans-shipped"]],
        ["transshipping", ["transhipping", "trans-shipping"]],
        ["non sequitur", ["non-sequitur"]],
        # er vs. or
        ["abductor", ["abducter"]],
        ["abettor", ["abbeter"]],
        ["acquirer", ["acquiror"]],
        ["adapter", ["adaptor"]],
        ["collector", ["collecter"]],
        ["conjurer", ["conjuror"]],
        ["corrupter", ["corruptor"]],
        ["digester", ["digestor"]],
        ["dispenser", ["dispensor"]],
        ["distributor", ["distributer"]],
        ["endorser", ["endorsor"]],
        ["eraser", ["erasor"]],
        ["idolater", ["idolator"]],
        ["impostor", ["imposter"]],
        ["infiltrator", ["infiltrater"]],
        ["investor", ["invester"]],
        ["manipulator", ["manipulater"]],
        ["mortgagor", ["mortgager"]],
        ["persecutor", ["persecuter"]],
        ["promoter", ["promotor"]],
        ["promoter", ["promotor"]],
        ["purveyor", ["purveyer"]],
        ["requester", ["requestor"]],
        ["reviser", ["revisor"]],
        ["surveyor", ["surveyer"]],
        # in vs. un
        ["inadvisable", ["unadvisable"]],
        ["inalienable", ["unalienable"]],
        ["inexpressive", ["unexpressive"]],
        ["infeasible", ["unfeasible"]],
        # Misc
        ["attitude", ["mental attitude"]],
        [
            "Chief Justice of the United States",
            [
                "Chief Justice of the United States Supreme Court",
                "Chief Justice of the Supreme Court of the United States.",
            ],
        ],
        ["chitterlings", ["chitlings", "chitlins"]],
        ["combustion engine", ["combustible engine"]],
        ["during / throughout", ["for the duration of"]],
        ["foreclose on", ["foreclose againt"]],
        ["friend in common", ["mutual friend"]],
        ["in regard to", ["in regards to"]],
        ["infectious", ["infectuous"]],
        ["inferable", ["inferrable", "inferrible"]],
        ["knowing that", ["in light of the fact that"]],
        ["lanyard", ["laniard"]],
        ["largess", ["largesse"]],
        ["lasagna", ["lasagne"]],
        ["leery", ["leary"]],
        ["lend me her", ["loan me her"]],
        ["lend me his", ["loan me his"]],
        ["lend me their", ["loan me their"]],
        ["lend me your", ["loan me your"]],
        ["lent me her", ["loaned me her"]],
        ["lent me his", ["loaned me his"]],
        ["lent me their", ["loaned me their"]],
        ["lent me your", ["loaned me your"]],
        ["linguist", ["linguistician"]],
        ["matzo-ball", ["matzoh-ball", "matza-ball", "matzah-ball", "matsah-ball"]],
        ["mayoralty", ["mayorality"]],
        ["mealy-mouthed", ["mealymouthed"]],
        ["mean-spirited", ["meanspirited"]],
        ["midwifed", ["midwived"]],
        ["moniker", ["monicker"]],
        ["musical revue", ["musical review"]],
        ["mustache", ["moustache"]],
        ["nonplussed", ["nonplused"]],
        ["nonplussing", ["nonplusing"]],
        ["non sequitur", ["nonsequitur"]],
        ["not nearly as", ["nowhere near as"]],
        ["off", ["off of"]],
        ["podiatrist", ["chiropodist"]],
        ["podiatry", ["chiropody"]],
        ["shoo-in", ["shoe-in"]],
        ["suicide", ["suicide victim"]],
        ["the highway median", ["the highway medium"]],
        ["vaipidity", ["vapidness"]],
        ["weather vane", ["weather vein", "weather vain"]],
        ["with regard to", ["with regards to"]],
        # Idioms
        ["a couple of people", ["a couple people"]],
        ["all the time", ["all of the time"]],
        ["as follows", ["as follow"]],
        ["bulk large", ["bulk largely"]],
        ["burying the lede", ["burying the lead"]],
        ["came to naught", ["came to nought"]],
        ["come off it", ["come off of it"]],
        ["corroborating evidence", ["corroborative evidence"]],
        ["dear departed", ["dearly departed"]],
        ["default on a loan", ["default to a loan"]],
        ["draw an inference", ["make an inference"]],
        ["in the meantime", ["in the meanwhile"]],
        ["long distances", ["lengthy distances"]],
        ["madding crowd", ["maddening crowd"]],
        ["Magna Carta", ["Magna Charta"]],
        ["marriage of convenience", ["mariage de convenance"]],
        ["Meanwhile,", ["Meantime,"]],
        ["Midwest", ["Middle West"]],
        ["Midwestern", ["Middle Western"]],
        ["modi operandi", ["modes of operandi"]],
        ["modus operandi", ["mode of operandi"]],
        ["motion seconded", ["notion seconded"]],
        ["mucous membranes", ["mucus membranes"]],
        ["must pass muster", ["must past muster"]],
        ["neck-and-neck", ["neck-in-neck"]],
        ["no-holds-barred", ["no-holes-barred"]],
        ["oil magnate", ["oil magnet"]],
        ["punch up the lede", ["punch up the lead"]],
        ["railroad magnate", ["railroad magnet"]],
        ["seconded the motion", ["seconded the notion"]],
        ["statute of limitationas", ["statute of limits"]],
        ["take precedence over", ["take prescience over"]],
        ["the last two", ["both of the last two"]],
        ["the last two", ["both of the last"]],
        ["unorganic food", ["inorganic food"]],
        ["vale of tears", ["veil of tears"]],
        ["Venus flytrap", ["Venus's flytrap", "Venus' flytrap"]],
        ["was accused of", ["was accused with"]],
        # Verbosity
        ["try to", ["make an attempt to"]],
        ["try to", ["make attempts to"]],
        ["try to", ["make efforts to"]],
        ["tried to", ["made an attempt to"]],
        ["tried to", ["made attempts to"]],
        ["tried to", ["made efforts to"]],
        ["modern", ["modern-day"]],
        # Grammar
        ["be misled", ["be mislead"]],
        ["was misled", ["was mislead"]],
        ["were misled", ["were mislead"]],
        # Euphemisms
        ["a search-and-destroy mission", ["armed reconnaissance"]],
        ["abortion", ["pregnancy termination"]],
        ["bisexual", ["sexually ambidextrous"]],
        ["exterminator", ["extermination engineer"]],
        ["firing", ["permanent layoff"]],
        ["rat-catcher", ["rodent operative"]],
        # Tenses
        ["mistook", ["mistaked"]],
        # Accents
        ["né", ["ne"]],
        ["née", ["nee"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #48
0
def check_able_ible(text):
    """-able vs. -ible."""
    err = "garner.preferred_forms.ible"
    msg = "-able vs. -ible. '{}' is the preferred form."

    preferences = [

        ["actionable",      ["actionible"]],
        ["addable",         ["addible"]],
        ["admittable",      ["admittible"]],
        ["advisable",       ["advisible"]],
        ["affectable",      ["affectible"]],
        ["allegeable",      ["allegeible"]],
        ["analyzable",      ["analyzible"]],
        ["annexable",       ["annexible"]],
        ["arrestable",      ["arrestible"]],
        ["ascendable",      ["ascendible"]],
        ["assertable",      ["assertible"]],
        ["assessable",      ["assessible"]],
        ["averageable",     ["averageible"]],
        ["bailable",        ["bailible"]],
        ["blamable",        ["blamible"]],
        ["changeable",      ["changeible"]],
        ["chargeable",      ["chargeible"]],
        ["circumscribable", ["circumscribible"]],
        ["commensurable",   ["commensurible"]],
        ["committable",     ["committible"]],
        ["condensable",     ["condensible"]],
        ["connectable",     ["connectible"]],
        ["contestable",     ["contestible"]],
        ["contractable",    ["contractible"]],
        ["conversable",     ["conversible"]],
        ["convictable",     ["convictible"]],
        ["correctable",     ["correctible"]],
        ["definable",       ["definible"]],
        ["detectable",      ["detectible"]],
        ["diagnosable",     ["diagnosible"]],
        ["discussable",     ["discussible"]],
        ["endorsable",      ["endorsible"]],
        ["enforceable",     ["enforceible"]],
        ["evadable",        ["evadible"]],
        ["excisable",       ["excisible"]],
        ["excludable",      ["excludible"]],
        ["expandable",      ["expandible"]],
        ["extendable",      ["extendible"]],
        ["extractable",     ["extractible"]],
        ["ignitable",       ["ignitible"]],
        ["immovable",       ["immovible"]],
        ["improvable",      ["improvible"]],
        ["includable",      ["includible"]],
        ["inferable",       ["inferible"]],
        ["inventable",      ["inventible"]],
        ["investable",      ["investible"]],
        ["lapsable",        ["lapsible"]],
        ["lovable",         ["lovible"]],
        ["mixable",         ["mixible"]],
        ["movable",         ["movible"]],
        ["noticeable",      ["noticeible"]],
        ["offendable",      ["offendible"]],
        ["patentable",      ["patentible"]],
        ["persuadable",     ["persuadible"]],
        ["preventable",     ["preventible"]],
        ["processable",     ["processible"]],
        ["protectable",     ["protectible"]],
        ["ratable",         ["ratible"]],
        ["redressable",     ["redressible"]],
        ["referable",       ["referible"]],
        ["retractable",     ["retractible"]],
        ["revisable",       ["revisible"]],
        ["rinsable",        ["rinsible"]],
        ["salable",         ["salible"]],
        ["suspendable",     ["suspendible"]],
        ["tractable",       ["tractible"]],
        ["transferable",    ["transferible"]],
        ["transmittable",   ["transmittible"]],
        ["willable",        ["willible"]],

        ["accessible",      ["accessable"]],
        ["adducible",       ["adducable"]],
        ["admissible",      ["admissable"]],
        ["audible",         ["audable"]],
        ["avertible",       ["avertable"]],
        ["collapsible",     ["collapsable"]],
        ["collectible",     ["collectable"]],
        ["combustible",     ["combustable"]],
        ["compactible",     ["compactable"]],
        ["compatible",      ["compatable"]],
        ["comprehensible",  ["comprehensable"]],
        ["compressible",    ["compressable"]],
        ["concussible",     ["concussable"]],
        ["conductible",     ["conductable"]],
        ["contemptible",    ["contemptable"]],
        ["controvertible",  ["controvertable"]],
        ["convertible",     ["convertable"]],
        ["corrodible",      ["corrodable"]],
        ["corruptible",     ["corruptable"]],
        ["credible",        ["credable"]],
        ["deducible",       ["deducable"]],
        ["deductible",      ["deductable"]],
        ["defeasible",      ["defeasable"]],
        ["defensible",      ["defensable"]],
        ["descendible",     ["descendable"]],
        ["destructible",    ["destructable"]],
        ["diffusible",      ["diffusable"]],
        ["digestible",      ["digestable"]],
        ["discernible",     ["discernable"]],
        ["dismissible",     ["dismissable"]],
        ["divisible",       ["divisable"]],
        ["edible",          ["edable"]],
        ["educible",        ["educable"]],
        ["eligible",        ["eligable"]],
        ["erodible",        ["erodable"]],
        ["exhaustible",     ["exhaustable"]],
        ["expressible",     ["expressable"]],
        ["fallible",        ["fallable"]],
        ["feasible",        ["feasable"]],
        ["flexible",        ["flexable"]],
        ["forcible",        ["forcable"]],
        ["fusible",         ["fusable"]],
        ["gullible",        ["gullable"]],
        ["horrible",        ["horrable"]],
        ["impressible",     ["impressable"]],
        ["inadmissible",    ["inadmissable"]],
        ["incorrigible",    ["incorrigable"]],
        ["indelible",       ["indelable"]],
        ["inexpressible",   ["inexpressable"]],
        ["intelligible",    ["intelligable"]],
        ["interfusible",    ["interfusable"]],
        ["invincible",      ["invincable"]],
        ["irascible",       ["irascable"]],
        ["irresistible",    ["irresistable"]],
        ["legible",         ["legable"]],
        ["negligible",      ["negligable"]],
        ["omissible",       ["omissable"]],
        ["oppressible",     ["oppressable"]],
        ["ostensible",      ["ostensable"]],
        ["perceptible",     ["perceptable"]],
        ["perfectible",     ["perfectable"]],
        ["permissible",     ["permissable"]],
        ["plausible",       ["plausable"]],
        ["possible",        ["possable"]],
        ["producible",      ["producable"]],
        ["reducible",       ["reducable"]],
        ["remissible",      ["remissable"]],
        ["reprehensible",   ["reprehensable"]],
        ["repressible",     ["repressable"]],
        ["resistible",      ["resistable"]],
        ["responsible",     ["responsable"]],
        ["reversible",      ["reversable"]],
        ["revertible",      ["revertable"]],
        ["risible",         ["risable"]],
        ["seducible",       ["seducable"]],
        ["sensible",        ["sensable"]],
        ["submersible",     ["submersable"]],
        ["submergible",     ["submergable"]],
        ["suggestible",     ["suggestable"]],
        ["suppressible",    ["suppressable"]],
        ["susceptible",     ["susceptable"]],
        ["terrible",        ["terrable"]],
        ["transfusible",    ["transfusable"]],
        ["transmissible",   ["transmissable"]],
        ["uncollectible",   ["uncollectable"]],
        ["vendible",        ["vendable"]],
        ["visible",         ["visable"]]
    ]

    return preferred_forms_check(text, preferences, err, msg)
Example #49
0
def check_able_atable(text):
    """-able vs. -ible."""
    err = "garner.preferred_forms.atable"
    msg = "-able vs. -atable. '{}' is the preferred form."

    preferences = [

        ["abbreviable",       ["abbreviatable"]],
        ["abdicable",         ["abdicatable"]],
        ["abrogable",         ["abrogatable"]],
        ["accommodable",      ["accommodatable"]],
        ["accumulable",       ["accumulatable"]],
        ["activable",         ["activatable"]],
        ["administrable",     ["administratable"]],
        ["adulterable",       ["adulteratable"]],
        ["affiliable",        ["affiliatable"]],
        ["aggregable",        ["aggregatable"]],
        ["agitable",          ["agitatable"]],
        ["alienable",         ["alienatable"]],
        ["alleviable",        ["alleviatable"]],
        ["allocable",         ["allocatable"]],
        ["ameliorable",       ["amelioratable"]],
        ["annihilable",       ["annihilatable"]],
        ["appreciable",       ["appreciatable"]],
        ["appropriable",      ["appropriatable"]],
        ["arbitrable",        ["arbitratable"]],
        ["articulable",       ["articulatable"]],
        ["calculable",        ["calculatable"]],
        ["communicable",      ["communicatable"]],
        ["compensable",       ["compensatable"]],
        ["confiscable",       ["confiscatable"]],
        ["corroborable",      ["corroboratable"]],
        ["cultivable",        ["cultivatable"]],
        ["delegable",         ["delegatable"]],
        ["delineable",        ["delineatable"]],
        ["demonstrable",      ["demonstratable"]],
        ["detonable",         ["detonatable"]],
        ["differentiable",    ["differentiatable"]],
        ["eradicable",        ["eradicatable"]],
        ["evacuable",         ["evacuatable"]],
        ["evaluable",         ["evaluatable"]],
        ["expropriable",      ["expropriatable"]],
        ["generable",         ["generatable"]],
        ["indicable",         ["indicatable"]],
        ["inebriable",        ["inebriatable"]],
        ["inextirpable",      ["inextirpatable"]],
        ["inextricable",      ["inextricatable"]],
        ["infatuable",        ["infatuatable"]],
        ["infuriable",        ["infuriatable"]],
        ["invalidable",       ["invalidatable"]],
        ["investigable",      ["investigatable"]],
        ["isolable",          ["isolatable"]],
        ["litigable",         ["litigatable"]],
        ["manipulable",       ["manipulatable"]],
        ["medicable",         ["medicatable"]],
        ["navigable",         ["navigatable"]],
        ["obligable",         ["obligatable"]],
        ["obviable",          ["obviatable"]],
        ["operable",          ["operatable"]],
        ["originable",        ["originatable"]],
        ["participable",      ["participatable"]],
        ["penetrable",        ["penetratable"]],
        ["perpetrable",       ["perpetratable"]],
        ["perpetuable",       ["perpetuatable"]],
        ["predicable",        ["predicatable"]],
        ["propagable",        ["propagatable"]],
        ["regulable",         ["regulatable"]],
        ["replicable",        ["replicatable"]],
        ["repudiable",        ["repudiatable"]],
        ["segregable",        ["segregatable"]],
        ["separable",         ["separatable"]],
        ["subjugable",        ["subjugatable"]],
        ["vindicable",        ["vindicatable"]],
        ["violable",          ["violatable"]],
        ["vitiable",          ["vitiatable"]]
    ]

    return preferred_forms_check(text, preferences, err, msg)
def check_examples(text):
    """Check the text."""
    err = "garner.phrasal_adjectives.examples"
    msg = u"""Hyphenate '{}', a phrasal adjective, as '{}'."""

    list = [
        ["across-the-board discounts", ["across the board discounts"]],
        ["acute-care treatment", ["acute care treatment"]],
        ["agreed-upon answer", ["agreed upon answer"]],
        ["big-ticket item", ["big ticket item"]],
        ["class-action lawyer", ["class action lawyer"]],
        ["criminal-law professor", ["criminal law professor"]],
        ["cut-and-dried issue", ["cut and dried issue"]],
        ["downward-sloping line", ["downward sloping line"]],
        ["English-speaking people", ["English speaking people"]],
        ["even-numbered", ["even numbered"]],
        ["face-to-face meeting", ["fact to face meeting"]],
        ["fixed-rate mortgage", ["fixed rate mortgage"]],
        ["for-profit firm", ["for profit firm"]],
        ["foreign-sounding name", ["foreign sounding name"]],
        ["government-owned business", ["government owned business"]],
        ["hard-and-fast issue", ["hard and fast issue"]],
        ["head-on collision", ["head on collision"]],
        ["head-to-head battle", ["head to head battle"]],
        ["head-to-head competition", ["head to head competition"]],
        ["health-care coverage", ["heath care coverage"]],
        ["high-school student", ["high school student"]],
        ["hit-and-run statute", ["hit and run statute"]],
        ["HIV-negative person", ["HIV negative person"]],
        ["HIV-positive person", ["HIV positive person"]],
        ["information-technology personnel",
            ["information technology personnel"]],
        ["intellectual-property rights", ["intellectual property rights"]],
        ["interest-group pressures", ["interest group pressures"]],
        ["joint-stock company", ["joint stock company"]],
        ["kidney-dialysis machine", ["kidney dialysis machine"]],
        ["long-run costs", ["long run costs"]],
        ["long-term care", ["long term care"]],
        ["low-income housing", ["low income housing"]],
        ["mom-and-pop retail outlet", ["mom and pop retail outlet"]],
        ["mom-and-pop shop", ["mom and pop shop"]],
        ["national-security briefing", ["national security briefing"]],
        ["natural-gas pipeline", ["natural gas pipeline"]],
        ["no-fault accident", ["no fault accident"]],
        ["no-fault divorce", ["no fault divorce"]],
        ["no-fault insurance", ["no fault insurance"]],
        ["odd-numbered", ["odd numbered"]],
        ["office-supply store", ["office supply store"]],
        ["one-way flight", ["one way flight"]],
        ["one-way window", ["one way window"]],
        ["open-and-shut case", ["open and shut case"]],
        ["open-and-shut issue", ["open and shut issue"]],
        ["optical-scan ballot", ["optical scan ballot"]],
        ["pension-fund investments", ["pension fund investments"]],
        ["private-sector employment", ["private sector employment"]],
        ["profit-seeking efforts", ["profit seeking efforts"]],
        ["punch-card ballot", ["punch card ballot"]],
        ["quality-adjusted price", ["quality adjusted price"]],
        ["razor-sharp intellect", ["razor sharp intellect"]],
        ["razor-sharp mind", ["razor sharp mind"]],
        ["razor-sharp mind", ["razor sharp mind"]],
        ["razor-sharp wit", ["razor sharp wit"]],
        ["larger-than-life personality", ["larger than life personality"]],
        ["real-estate prices", ["real estate prices"]],
        ["right-wing militia", ["right wing militia"]],
        ["round-trip flight", ["round trip flight"]],
        ["search-and-rescue operation", ["search and rescue operation"]],
        ["second-largest army", ["second largest army"]],
        ["shell-shocked mothers", ["shell shocked mothers"]],
        ["shell-shocked soldiers", ["shell shocked soldiers"]],
        ["small-business loan", ["small business loan"]],
        ["small-business owner", ["small business owner"]],
        ["small-state senator", ["small state senator"]],
        ["small-animal veterinarian", ["small animal veterinarian"]],
        ["state-sponsored terrorism", ["state sponsored terrorism"]],
        ["state-sponsored violence", ["state sponsored violence"]],
        ["thumbs-up sign", ["thumbs up sign"]],
        ["time-honored tradition", ["time honored tradition"]],
        ["U.S.-led campaign", ["U.S. led campaign"]],
        ["upward-sloping line", ["upward sloping line"]],
        ["venture-backed company", ["venture backed company"]],
        ["well-publicized event", ["well publicized event"]],
        ["wire-transfer service", ["wire transfer service"]],
        ["yes-or-no question", ["yes or no question"]],
        ["zero-sum game", ["zero sum game"]],
        ["stained-glass ceiling", ["stained glass ceiling"]],
        ["stained-glass window", ["stained glass window"]],
        ["free-range chicken", ["free range chicken"]],
        ["free-range poultry", ["free range poultry"]],
        ["non-profit-making organization",
            ["non profit making organization",
             "non-profit making organization",
             "non profit-making organization"]],


        # Harmony
        ["three-part harmony", ["three part harmony"]],
        ["four-part harmony", ["four part harmony"]],
        ["six-part harmony", ["six part harmony"]],
        ["eight-part harmony", ["eight part harmony"]],

        # Losses and gains.
        ["first-quarter loss", ["first quarter loss"]],
        ["second-quarter loss", ["second quarter loss"]],
        ["third-quarter loss", ["third quarter loss"]],
        ["fourth-quarter loss", ["fourth quarter loss"]],
        ["first-quarter gain", ["first quarter gain"]],
        ["second-quarter gain", ["second quarter gain"]],
        ["third-quarter gain", ["third quarter gain"]],
        ["fourth-quarter gain", ["fourth quarter gain"]],

    ]

    return preferred_forms_check(text, list, err, msg)
Example #51
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.redundancy"
    msg = "Redundancy. Use '{}' instead of '{}'."

    redundancies = [
        ["adequate", ["adequate enough"]],
        ["admitted", ["self-admitted"]],
        ["affidavit", ["sworn affidavit"]],
        ["agreement", ["mutual agreement"]],
        ["alumnus", ["former alumnus"]],
        ["antithetical", ["directly antithetical"]],
        ["approximately", ["approximately about"]],
        ["associate", ["associate together(?: in groups)?"]],
        ["bivouac", ["temporary bivouac", "bivouac camp"]],
        ["blend", ["blend together"]],
        ["but", ["but nevertheless"]],
        ["charged with...", ["accused of a charge"]],
        ["circumstances of", ["circumstances surrounding"]],
        ["circumstances", ["surrounding circumstances"]],
        ["close", ["close proximity"]],
        ["collaborate", ["collaborate together"]],
        ["collaborator", ["fellow collaborator"]],
        ["collaborators", ["fellow collaborators"]],
        ["colleagues", ["fellow colleagues"]],
        ["combine", ["combine together"]],
        ["complacent", ["self-complacent"]],
        ["confessed", ["self-confessed"]],
        ["connect", ["connect together"]],
        ["consensus", ["(?:general )?consensus of opinion"]],
        ["consolidate", ["consolidate together"]],
        ["continues to", ["still continues to"]],
        ["contradictory", ["mutually contradictory"]],
        ["cooperation", ["mutual cooperation"]],
        ["couple", ["couple together"]],
        ["crisis", ["serious crisis"]],
        ["eliminate", ["entirely eliminate"]],
        ["especially", ["most especially"]],
        ["fact", ["actual fact"]],
        ["facts", ["true facts"]],
        ["forecast", ["future forecast"]],
        ["founding fathers", ["founding forefathers"]],
        ["free", ["free and gratis"]],
        ["free", ["free gratis"]],
        ["full", ["completely full"]],
        ["fundamentals", ["basic fundamentals"]],
        ["gift", ["free gift"]],
        ["innovation", ["new innovation"]],
        ["interact", ["interact with each other"]],
        ["large", ["large-size"]],
        ["meld", ["meld together"]],
        ["merge", ["merge together"]],
        ["mingle", ["mingle together"]],
        ["mix", ["mix together"]],
        ["mutual feelings", ["mutual feelings for eachother"]],
        ["mutual respect", ["mutual respect for each other"]],
        ["native citizen", ["native-born citizen"]],
        ["necessity", ["absolute necessity"]],
        ["obvious", ["blatantly obvious"]],
        ["pause", ["pause for a moment"]],
        ["planning", ["advance planning"]],
        ["plans", ["future plans"]],
        ["pooled", ["pooled together"]],
        ["potable water", ["potable drinking water"]],
        ["potable water", ["potable drinking water"]],
        ["recruit", ["new recruit"]],
        ["reelected", ["reelected for another term"]],
        ["refer", ["refer back"]],
        ["regress", ["regress back"]],
        ["repay them", ["repay them back"]],
        ["repay", ["repay back"]],
        ["repeat", ["repeat again"]],
        ["repeat", ["repeat back"]],
        ["repeat", ["repeat the same"]],
        ["repeated", ["repeated the same"]],
        ["reprieve", ["temporary reprieve"]],
        ["respite", ["brief respite"]],
        ["retirement", ["retiral", "retiracy"]],
        ["retreat", ["retreat back"]],
        ["return", ["return back"]],
        ["scrutinize", ["closely scrutinize"]],
        ["software", ["software program"]],
        ["surrounded", ["surrounded on all sides"]],
        ["the nation", ["the whole entire nation"]],
        ["throughout the", ["throughout the entire"]],
        ["timpani", ["timpani drum"]],
        ["twins", ["pair of twins"]],
        ["vacancy", ["unfilled vacancy"]],
        ["various", ["various different"]],
        ["veteran", ["former veteran"]],
        ["visible", ["visible to the eye"]],
        ["vocation", ["professional vocation"]],
        ["while", ["while at the same time"]],
    ]

    return preferred_forms_check(text, redundancies, err, msg)
Example #52
0
def check(text):
    """Suggest the preferred forms."""
    err = "ganer.preferred_forms"
    msg = "'{}' is the preferred form."

    preferences = [

        # Obsolete words
        ["imprimatur",          ["imprimature"]],

        # Proper nouns
        ["Halloween",           ["haloween", "hallowe'en"]],
        ["Khrushchev",          ["Khruschev", "Kruschev"]],
        ["Ku Klux Klan",        ["Klu Klux Klan"]],
        ["Pontius Pilate",      ["Pontius Pilot"]],

        # Plurals
        ["hippopotamuses",      ["hippopotami"]],
        ["manifestos",          ["manifesti"]],
        # ["matrixes",            ["matrices"]],
        ["mongooses",           ["mongeese"]],
        ["narcissi",            ["narcissuses"]],
        ["retinas",             ["retinae"]],
        ["sopranos",            ["soprani"]],
        ["titmice",             ["titmouses"]],

        # Hyphenated words
        ["long-standing",       ["longstanding"]],
        ["sans serif",          ["sans-serif", "sanserif"]],
        ["tortfeasor",          ["tort feasor", "tort-feasor"]],
        ["transship",           ["tranship", "trans-ship"]],
        ["transshipped",        ["transhipped", "trans-shipped"]],
        ["transshipping",       ["transhipping", "trans-shipping"]],
        ["non sequitur",        ["non-sequitur"]],

        # er vs. or
        ["abductor",            ["abducter"]],
        ["abettor",             ["abbeter"]],
        ["acquirer",            ["acquiror"]],
        ["adapter",             ["adaptor"]],
        ["collector",           ["collecter"]],
        ["conjurer",            ["conjuror"]],
        ["corrupter",           ["corruptor"]],
        ["digester",            ["digestor"]],
        ["dispenser",           ["dispensor"]],
        ["distributor",         ["distributer"]],
        ["endorser",            ["endorsor"]],
        ["eraser",              ["erasor"]],
        ["idolater",            ["idolator"]],
        ["impostor",            ["imposter"]],
        ["infiltrator",         ["infiltrater"]],
        ["investor",            ["invester"]],
        ["manipulator",         ["manipulater"]],
        ["mortgagor",           ["mortgager"]],
        ["persecutor",          ["persecuter"]],
        ["promoter",            ["promotor"]],
        ["promoter",            ["promotor"]],
        ["purveyor",            ["purveyer"]],
        ["requester",           ["requestor"]],
        ["reviser",             ["revisor"]],
        ["surveyor",            ["surveyer"]],

        # in vs. un
        ["inadvisable",         ["unadvisable"]],
        ["inalienable",         ["unalienable"]],
        ["inexpressive",        ["unexpressive"]],
        ["infeasible",          ["unfeasible"]],

        # Misc
        ["attitude",            ["mental attitude"]],
        ["Chief Justice of the United States",
            ["Chief Justice of the United States Supreme Court",
             "Chief Justice of the Supreme Court of the United States."]],
        ["chitterlings",        ["chitlings", "chitlins"]],
        ["combustion engine",   ["combustible engine"]],
        ["during / throughout", ["for the duration of"]],
        ["foreclose on",        ["foreclose againt"]],
        ["friend in common",    ["mutual friend"]],
        ["in regard to",        ["in regards to"]],
        ["infectious",          ["infectuous"]],
        ["inferable",           ["inferrable", "inferrible"]],
        ["knowing that",        ["in light of the fact that"]],
        ["lanyard",             ["laniard"]],
        ["largess",             ["largesse"]],
        ["lasagna",             ["lasagne"]],
        ["leery",               ["leary"]],
        ["lend me her",         ["loan me her"]],
        ["lend me his",         ["loan me his"]],
        ["lend me their",       ["loan me their"]],
        ["lend me your",        ["loan me your"]],
        ["lent me her",         ["loaned me her"]],
        ["lent me his",         ["loaned me his"]],
        ["lent me their",       ["loaned me their"]],
        ["lent me your",        ["loaned me your"]],
        ["linguist",            ["linguistician"]],
        ["matzo-ball",          ["matzoh-ball",
                                 "matza-ball",
                                 "matzah-ball",
                                 "matsah-ball"]],
        ["mayoralty",           ["mayorality"]],
        ["mealy-mouthed",       ["mealymouthed"]],
        ["mean-spirited",       ["meanspirited"]],
        ["midwifed",            ["midwived"]],
        ["moniker",             ["monicker"]],
        ["musical revue",       ["musical review"]],
        ["mustache",            ["moustache"]],
        ["nonplussed",          ["nonplused"]],
        ["nonplussing",         ["nonplusing"]],
        ["non sequitur",        ["nonsequitur"]],
        ["not nearly as",       ["nowhere near as"]],
        ["off",                 ["off of"]],
        ["podiatrist",          ["chiropodist"]],
        ["podiatry",            ["chiropody"]],
        ["shoo-in",             ["shoe-in"]],
        ["suicide",             ["suicide victim"]],
        ["the highway median",  ["the highway medium"]],
        ["vaipidity",           ["vapidness"]],
        ["weather vane",        ["weather vein", "weather vain"]],
        ["with regard to",      ["with regards to"]],

        # Idioms
        ["a couple of people",  ["a couple people"]],
        ["all the time",        ["all of the time"]],
        ["as follows",          ["as follow"]],
        ["bulk large",          ["bulk largely"]],
        ["burying the lede",    ["burying the lead"]],
        ["came to naught",      ["came to nought"]],
        ["come off it",         ["come off of it"]],
        ["corroborating evidence", ["corroborative evidence"]],
        ["dear departed",       ["dearly departed"]],
        ["default on a loan",   ["default to a loan"]],
        ["draw an inference",   ["make an inference"]],
        ["in the meantime",     ["in the meanwhile"]],
        ["long distances",      ["lengthy distances"]],
        ["madding crowd",       ["maddening crowd"]],
        ["Magna Carta",         ["Magna Charta"]],
        ["marriage of convenience", ["mariage de convenance"]],
        ["Meanwhile,",          ["Meantime,"]],
        ["Midwest",             ["Middle West"]],
        ["Midwestern",          ["Middle Western"]],
        ["modi operandi",       ["modes of operandi"]],
        ["modus operandi",      ["mode of operandi"]],
        ["motion seconded",     ["notion seconded"]],
        ["mucous membranes",    ["mucus membranes"]],
        ["must pass muster",    ["must past muster"]],
        ["neck-and-neck",       ["neck-in-neck"]],
        ["no-holds-barred",     ["no-holes-barred"]],
        ["oil magnate",         ["oil magnet"]],
        ["punch up the lede",   ["punch up the lead"]],
        ["railroad magnate",    ["railroad magnet"]],
        ["seconded the motion", ["seconded the notion"]],
        ["statute of limitationas", ["statute of limits"]],
        ["take precedence over", ["take prescience over"]],
        ["the last two",        ["both of the last two"]],
        ["the last two",        ["both of the last"]],
        ["unorganic food",      ["inorganic food"]],
        ["vale of tears",       ["veil of tears"]],
        ["Venus flytrap",       ["Venus's flytrap", "Venus' flytrap"]],
        ["was accused of",      ["was accused with"]],

        # Verbosity
        ["try to",              ["make an attempt to"]],
        ["try to",              ["make attempts to"]],
        ["try to",              ["make efforts to"]],
        ["tried to",            ["made an attempt to"]],
        ["tried to",            ["made attempts to"]],
        ["tried to",            ["made efforts to"]],
        ["modern",              ["modern-day"]],

        # Grammar
        ["be misled",           ["be mislead"]],
        ["was misled",          ["was mislead"]],
        ["were misled",         ["were mislead"]],

        # Euphemisms
        ["a search-and-destroy mission", ["armed reconnaissance"]],
        ["abortion",            ["pregnancy termination"]],
        ["bisexual",            ["sexually ambidextrous"]],
        ["exterminator",        ["extermination engineer"]],
        ["firing",              ["permanent layoff"]],
        ["rat-catcher",         ["rodent operative"]],

        # Tenses
        ["mistook",             ["mistaked"]],

        # Accents
        ["né",                  ["ne"]],
        ["née",                 ["nee"]],
    ]

    return preferred_forms_check(text, preferences, err, msg)
def check(text):
    """Suggest the preferred forms."""
    err = "garner.diacritical_marks"
    msg = u"Use diacritical marks in '{}'."

    list = [
        # French loanwords
        [u"beau idéal",         ["beau ideal"]],
        [u"boutonnière",        ["boutonniere"]],
        [u"bric-à-brac",        ["bric-a-brac"]],
        [u"café",               ["cafe"]],
        [u"cause célèbre",      ["cause celebre"]],
        [u"chèvre",             ["chevre"]],
        [u"cliché",             ["cliche"]],
        [u"comme ci comme ça",  ["comme ci comme ca", "comsi comsa"]],
        [u"consommé",           ["consomme"]],
        [u"coup d'état",        ["coup d'etat"]],
        [u"coup de grâce",      ["coup de grace"]],
        [u"crudités",           ["crudites"]],
        [u"crème brûlée",       ["creme brulee"]],
        [u"crème de menthe",    ["creme de menthe"]],
        [u"crème fraîche",      ["creme fraice"]],
        [u"crème fraîche",      ["creme fresh"]],
        [u"crêpe",              ["crepe"]],
        [u"débutante",          ["debutante"]],
        [u"décor",              ["decor"]],
        [u"déjà vu",            ["deja vu"]],
        [u"dénouement",         ["denouement"]],
        [u"façade",             ["facade"]],
        [u"fiancé",             ["fiance"]],
        [u"fiancée",            ["fiancee"]],
        [u"flambé",             ["flambe"]],
        [u"garçon",             ["garcon"]],
        [u"lycée",              ["lycee"]],
        [u"maître d",           ["maitre d"]],
        [u"ménage à trois",     ["menage a trois"]],
        [u"négligée",           ["negligee"]],
        [u"papier-mâché", ["papier-mache", "paper mache", "paper-mache"]],
        [u"protégé",            ["protege"]],
        [u"protégée",           ["protegee"]],
        [u"purée",              ["puree"]],
        [u"raison d'être",      ["raison d'etre"]],
        [u"my résumé",          ["my resume"]],
        [u"your résumé",        ["your resume"]],
        [u"his résumé",         ["his resume"]],
        [u"her résumé",         ["her resume"]],
        [u"a résumé",           ["a resume"]],
        [u"the résumé",         ["the resume"]],
        [u"risqué",             ["risque"]],
        [u"roué",               ["roue"]],
        [u"soirée",             ["soiree"]],
        [u"soufflé",            ["souffle"]],
        [u"soupçon",            ["soupcon"]],
        [u"touché",             ["touche"]],
        [u"tête-à-tête",        ["tete-a-tete"]],
        [u"voilà",              ["voila"]],
        [u"à la carte",         ["a la carte"]],
        [u"à la mode",          ["a la mode"]],
        [u"émigré",             ["emigre"]],

        # Spanish loanwords
        [u"El Niño",            ["El Nino"]],
        [u"jalapeño",           ["jalapeno"]],
        [u"La Niña",            ["La Nina"]],
        [u"piña colada",        ["pina colada"]],
        [u"señor",              ["senor"]],
        [u"señora",             ["senora"]],
        [u"señorita",           ["senorita"]],

        # Portuguese loanwords
        [u"açaí",               ["acai"]],

        # German loanwords
        [u"doppelgänger",       ["doppelganger"]],
        [u"Führer",             ["Fuhrer"]],
        [u"Gewürztraminer",     ["Gewurztraminer"]],
        [u"vis-à-vis",          ["vis-a-vis"]],
        [u"Übermensch",         ["Ubermensch"]],

        # Swedish loandwords
        [u"filmjölk",           ["filmjolk"]],
        [u"smörgåsbord",        ["smorgasbord"]],

        # Names, places, and companies
        [u"Beyoncé",            ["Beyonce"]],
        [u"Brontë",             ["Bronte"]],
        [u"Brontë",             ["Bronte"]],
        [u"Champs-Élysées",     ["Champs-Elysees"]],
        [u"Citroën",            ["Citroen"]],
        [u"Curaçao",            ["Curacao"]],
        [u"Häagen-Dazs",        ["Haagen-Dazs", "Haagen Dazs"]],
        [u"Löwenbräu",          ["Lowenbrau"]],
        [u"Monégasque",         ["Monegasque"]],
        [u"Mötley Crüe",        ["Motley Crue"]],
        [u"Nescafé",            ["Nescafe"]],
        [u"Queensrÿche",        ["Queensryche"]],
        [u"Québec",             ["Quebec"]],
        [u"Québécois",          ["Quebecois"]],
        [u"Ångström",           ["Angstrom"]],
        [u"ångström",           ["angstrom"]],
        [u"Škoda",              ["Skoda"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #54
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.redundancy"
    msg = "Redundancy. Use '{}' instead of '{}'."

    redundancies = [
        ["adequate",          ["adequate enough"]],
        ["admitted",          ["self-admitted"]],
        ["affidavit",         ["sworn affidavit"]],
        ["agreement",         ["mutual agreement"]],
        ["alumnus",           ["former alumnus"]],
        ["antithetical",      ["directly antithetical"]],
        ["approximately",     ["approximately about"]],
        ["associate",         ["associate together(?: in groups)?"]],
        ["bivouac",           ["temporary bivouac", "bivouac camp"]],
        ["blend",             ["blend together"]],
        ["but",               ["but nevertheless"]],
        ["charged with...",   ["accused of a charge"]],
        ["circumstances of",  ["circumstances surrounding"]],
        ["circumstances",     ["surrounding circumstances"]],
        ["close",             ["close proximity"]],
        ["collaborate",       ["collaborate together"]],
        ["collaborator",      ["fellow collaborator"]],
        ["collaborators",     ["fellow collaborators"]],
        ["colleagues",        ["fellow colleagues"]],
        ["combine",           ["combine together"]],
        ["complacent",        ["self-complacent"]],
        ["confessed",         ["self-confessed"]],
        ["connect",           ["connect together"]],
        ["consensus",         ["(?:general )?consensus of opinion"]],
        ["consolidate",       ["consolidate together"]],
        ["continues to",      ["still continues to"]],
        ["contradictory",     ["mutually contradictory"]],
        ["cooperation",       ["mutual cooperation"]],
        ["couple",            ["couple together"]],
        ["crisis",            ["serious crisis"]],
        ["eliminate",         ["entirely eliminate"]],
        ["especially",        ["most especially"]],
        ["fact",              ["actual fact"]],
        ["facts",             ["true facts"]],
        ["forecast",          ["future forecast"]],
        ["founding fathers",  ["founding forefathers"]],
        ["free",              ["free and gratis"]],
        ["free",              ["free gratis"]],
        ["full",              ["completely full"]],
        ["fundamentals",      ["basic fundamentals"]],
        ["gift",              ["free gift"]],
        ["innovation",        ["new innovation"]],
        ["interact",          ["interact with each other"]],
        ["large",             ["large-size"]],
        ["meld",              ["meld together"]],
        ["merge",             ["merge together"]],
        ["mingle",            ["mingle together"]],
        ["mix",               ["mix together"]],
        ["mutual feelings",   ["mutual feelings for eachother"]],
        ["mutual respect",    ["mutual respect for each other"]],
        ["native citizen",    ["native-born citizen"]],
        ["necessity",         ["absolute necessity"]],
        ["obvious",           ["blatantly obvious"]],
        ["pause",             ["pause for a moment"]],
        ["planning",          ["advance planning"]],
        ["plans",             ["future plans"]],
        ["pooled",            ["pooled together"]],
        ["potable water",     ["potable drinking water"]],
        ["potable water",     ["potable drinking water"]],
        ["recruit",           ["new recruit"]],
        ["reelected",         ["reelected for another term"]],
        ["refer",             ["refer back"]],
        ["regress",           ["regress back"]],
        ["repay them",        ["repay them back"]],
        ["repay",             ["repay back"]],
        ["repeat",            ["repeat again"]],
        ["repeat",            ["repeat back"]],
        ["repeat",            ["repeat the same"]],
        ["repeated",          ["repeated the same"]],
        ["reprieve",          ["temporary reprieve"]],
        ["respite",           ["brief respite"]],
        ["retirement",        ["retiral", "retiracy"]],
        ["retreat",           ["retreat back"]],
        ["return",            ["return back"]],
        ["scrutinize",        ["closely scrutinize"]],
        ["software",          ["software program"]],
        ["surrounded",        ["surrounded on all sides"]],
        ["the nation",        ["the whole entire nation"]],
        ["throughout the",    ["throughout the entire"]],
        ["timpani",           ["timpani drum"]],
        ["twins",             ["pair of twins"]],
        ["vacancy",           ["unfilled vacancy"]],
        ["various",           ["various different"]],
        ["veteran",           ["former veteran"]],
        ["visible",           ["visible to the eye"]],
        ["vocation",          ["professional vocation"]],
        ["while",             ["while at the same time"]],
    ]

    return preferred_forms_check(text, redundancies, err, msg)
Example #55
0
def check(text):
    """Suggest the preferred forms."""
    err = "garner.diacritical_marks"
    msg = u"Use diacritical marks in '{}'."

    list = [
        # French loanwords
        [u"beau idéal", ["beau ideal"]],
        [u"boutonnière", ["boutonniere"]],
        [u"bric-à-brac", ["bric-a-brac"]],
        [u"café", ["cafe"]],
        [u"cause célèbre", ["cause celebre"]],
        [u"chèvre", ["chevre"]],
        [u"cliché", ["cliche"]],
        [u"comme ci comme ça", ["comme ci comme ca", "comsi comsa"]],
        [u"consommé", ["consomme"]],
        [u"coup d'état", ["coup d'etat"]],
        [u"coup de grâce", ["coup de grace"]],
        [u"crudités", ["crudites"]],
        [u"crème brûlée", ["creme brulee"]],
        [u"crème de menthe", ["creme de menthe"]],
        [u"crème fraîche", ["creme fraice"]],
        [u"crème fraîche", ["creme fresh"]],
        [u"crêpe", ["crepe"]],
        [u"débutante", ["debutante"]],
        [u"décor", ["decor"]],
        [u"déjà vu", ["deja vu"]],
        [u"dénouement", ["denouement"]],
        [u"façade", ["facade"]],
        [u"fiancé", ["fiance"]],
        [u"fiancée", ["fiancee"]],
        [u"flambé", ["flambe"]],
        [u"garçon", ["garcon"]],
        [u"lycée", ["lycee"]],
        [u"maître d", ["maitre d"]],
        [u"ménage à trois", ["menage a trois"]],
        [u"négligée", ["negligee"]],
        [u"papier-mâché", ["papier-mache", "paper mache", "paper-mache"]],
        [u"protégé", ["protege"]],
        [u"protégée", ["protegee"]],
        [u"purée", ["puree"]],
        [u"raison d'être", ["raison d'etre"]],
        [u"my résumé", ["my resume"]],
        [u"your résumé", ["your resume"]],
        [u"his résumé", ["his resume"]],
        [u"her résumé", ["her resume"]],
        [u"a résumé", ["a resume"]],
        [u"the résumé", ["the resume"]],
        [u"risqué", ["risque"]],
        [u"roué", ["roue"]],
        [u"soirée", ["soiree"]],
        [u"soufflé", ["souffle"]],
        [u"soupçon", ["soupcon"]],
        [u"touché", ["touche"]],
        [u"tête-à-tête", ["tete-a-tete"]],
        [u"voilà", ["voila"]],
        [u"à la carte", ["a la carte"]],
        [u"à la mode", ["a la mode"]],
        [u"émigré", ["emigre"]],

        # Spanish loanwords
        [u"El Niño", ["El Nino"]],
        [u"jalapeño", ["jalapeno"]],
        [u"La Niña", ["La Nina"]],
        [u"piña colada", ["pina colada"]],
        [u"señor", ["senor"]],
        [u"señora", ["senora"]],
        [u"señorita", ["senorita"]],

        # Portuguese loanwords
        [u"açaí", ["acai"]],

        # German loanwords
        [u"doppelgänger", ["doppelganger"]],
        [u"Führer", ["Fuhrer"]],
        [u"Gewürztraminer", ["Gewurztraminer"]],
        [u"vis-à-vis", ["vis-a-vis"]],
        [u"Übermensch", ["Ubermensch"]],

        # Swedish loandwords
        [u"filmjölk", ["filmjolk"]],
        [u"smörgåsbord", ["smorgasbord"]],

        # Names, places, and companies
        [u"Beyoncé", ["Beyonce"]],
        [u"Brontë", ["Bronte"]],
        [u"Brontë", ["Bronte"]],
        [u"Champs-Élysées", ["Champs-Elysees"]],
        [u"Citroën", ["Citroen"]],
        [u"Curaçao", ["Curacao"]],
        [u"Häagen-Dazs", ["Haagen-Dazs", "Haagen Dazs"]],
        [u"Löwenbräu", ["Lowenbrau"]],
        [u"Monégasque", ["Monegasque"]],
        [u"Mötley Crüe", ["Motley Crue"]],
        [u"Nescafé", ["Nescafe"]],
        [u"Queensrÿche", ["Queensryche"]],
        [u"Québec", ["Quebec"]],
        [u"Québécois", ["Quebecois"]],
        [u"Ångström", ["Angstrom"]],
        [u"ångström", ["angstrom"]],
        [u"Škoda", ["Skoda"]],
    ]

    return preferred_forms_check(text, list, err, msg)
Example #56
0
def check(text):
    """Check the text."""
    err = "oxford.venery_terms"
    msg = "The venery term is '{}'."

    term_list = [
        ["alligators",   "congregation"],
        ["antelopes",    "herd"],
        ["baboons",      "troop"],
        ["badgers",      "cete"],
        ["bats",         "colony"],
        ["bears",        "sloth"],
        ["buffalo",      "herd"],
        ["bullfinches",  "bellowing"],
        ["caribou",      "herd"],
        ["caterpillars", "army"],
        ["cockroaches",  "intrusion"],
        ["coyotes",      "pack"],
        ["crows",        "murder"],
        ["dogs",         "pack"],
        ["eagles",       "convocation"],
        ["emus",         "mob"],
        ["flamingos",    "stand"],
        ["frogs",        "army"],
        ["goldfinches",  "charm"],
        ["gorillas",     "band"],
        ["guineafowl",   "rasp"],
        ["hedgehogs",    "array"],
        ["herons",       "siege"],
        ["hogs",         "parcel"],
        ["hyenas",       "cackle"],
        ["ibex",         "herd"],
        ["iguanas",      "mess"],
        ["lions",        "pride"],
        ["locusts",      "plague"],
        ["mackerel",     "shoal"],
        ["mares",        "stud"],
        ["minnows",      "shoal"],
        ["moose",        "herd"],
        ["mosquitoes",   "scourge"],
        ["nightingales", "watch"],
        ["oysters",      "bed"],
        ["partridges",   "covey"],
        ["pelicans",     "pod"],
        ["raccoons",     "gaze"],
        ["ravens",       "unkindness"],
        ["rhinoceroses", "crash"],
        ["sea urchins",  "sea"],
        ["starlings",    "murmuration"],
        ["toads",        "knot"],
        ["wombats",      "wisdom"],
        ["woodcocks",    "fall"],
        ["woodpeckers",  "descent"],
        ["wrens",        "herd"],
    ]

    generic_terms = [
        "group",
        "bunch",
    ]

    list = []
    for term_pair in term_list:
        for generic in generic_terms:
            wrong = "a {} of {}".format(generic, term_pair[0])
            right = "a {} of {}".format(term_pair[1], term_pair[0])
            list += [[right, [wrong]]]

    return preferred_forms_check(text, list, err, msg)
Example #57
0
def check(text):
    """Check the text."""
    err = "oxford.venery_terms"
    msg = "The venery term is '{}'."

    term_list = [
        ["alligators", "congregation"],
        ["antelopes", "herd"],
        ["baboons", "troop"],
        ["badgers", "cete"],
        ["bats", "colony"],
        ["bears", "sloth"],
        ["buffalo", "herd"],
        ["bullfinches", "bellowing"],
        ["caribou", "herd"],
        ["caterpillars", "army"],
        ["cockroaches", "intrusion"],
        ["coyotes", "pack"],
        ["crows", "murder"],
        ["dogs", "pack"],
        ["eagles", "convocation"],
        ["emus", "mob"],
        ["flamingos", "stand"],
        ["frogs", "army"],
        ["goldfinches", "charm"],
        ["gorillas", "band"],
        ["guineafowl", "rasp"],
        ["hedgehogs", "array"],
        ["herons", "siege"],
        ["hogs", "parcel"],
        ["hyenas", "cackle"],
        ["ibex", "herd"],
        ["iguanas", "mess"],
        ["lions", "pride"],
        ["locusts", "plague"],
        ["mackerel", "shoal"],
        ["mares", "stud"],
        ["minnows", "shoal"],
        ["moose", "herd"],
        ["mosquitoes", "scourge"],
        ["nightingales", "watch"],
        ["oysters", "bed"],
        ["partridges", "covey"],
        ["pelicans", "pod"],
        ["raccoons", "gaze"],
        ["ravens", "unkindness"],
        ["rhinoceroses", "crash"],
        ["sea urchins", "sea"],
        ["starlings", "murmuration"],
        ["toads", "knot"],
        ["wombats", "wisdom"],
        ["woodcocks", "fall"],
        ["woodpeckers", "descent"],
        ["wrens", "herd"],
    ]

    generic_terms = [
        "group",
        "bunch",
    ]

    list = []
    for term_pair in term_list:
        for generic in generic_terms:
            wrong = "a {} of {}".format(generic, term_pair[0])
            right = "a {} of {}".format(term_pair[1], term_pair[0])
            list += [[right, [wrong]]]

    return preferred_forms_check(text, list, err, msg)