import unicodedata


def subst(table, text):
    """
    Make string substitutions using a two-column table.

    The table specified should already contain any uppercase and lowercase
    variants that should be applied for substitution.

    """
    text = unicodedata.normalize('NFC', text)
    for term1, term2 in table:
        if term1 in text:
            text = text.replace(term1, term2)
    return text