def substitute_ascii_equivalents(text_unicode):
    """
    This takes a UNICODE string and replaces Latin-1 characters with something
    equivalent in 7-bit ASCII. It returns a plain ASCII string. This function
    makes a best effort to convert Latin-1 characters into ASCII equivalents.
    It does not just strip out the Latin-1 characters. All characters in the
    standard 7-bit ASCII range are preserved. In the 8th bit range all the
    Latin-1 accented letters are converted to unaccented equivalents. Most
    symbol characters are converted to something meaningful. Anything not
    converted is deleted.
    """
    char_mapping = {(192): 'A', (193): 'A', (194): 'A', (195): 'A', (196):
        'A', (197): 'A', (198): 'Ae', (199): 'C', (200): 'E', (201): 'E', (
        202): 'E', (203): 'E', (204): 'I', (205): 'I', (206): 'I', (207):
        'I', (208): 'Th', (209): 'N', (210): 'O', (211): 'O', (212): 'O', (
        213): 'O', (214): 'O', (216): 'O', (217): 'U', (218): 'U', (219):
        'U', (220): 'U', (221): 'Y', (222): 'th', (223): 'ss', (224): 'a',
        (225): 'a', (226): 'a', (227): 'a', (228): 'a', (229): 'a', (230):
        'ae', (231): 'c', (232): 'e', (233): 'e', (234): 'e', (235): 'e', (
        236): 'i', (237): 'i', (238): 'i', (239): 'i', (240): 'th', (241):
        'n', (242): 'o', (243): 'o', (244): 'o', (245): 'o', (246): 'o', (
        248): 'o', (249): 'u', (250): 'u', (251): 'u', (252): 'u', (253):
        'y', (254): 'th', (255): 'y'}
    r = ''
    for char in text_unicode:
        if ord(char) in char_mapping:
            r += char_mapping[ord(char)]
        elif ord(char) >= 128:
            pass
        else:
            r += str(char)
    return r
