'Return icu equivalent sort letter.
Returns base sort letter for accented characters. Code provided by
chaley, modified to force unaccented base letters for A, O & U when
an accented version would otherwise be returned.
Args:
item_list (list): list of items, sorted by icu_sort
Return:
cl_list (list): list of equivalent leading chars, 1:1 correspondence to item_list'

def establish_equivalencies(self, item_list, key=None):

    exceptions = {u'\xc4': u'A', u'\xd6': u'O', u'\xdc': u'U'}
    if (key is not None):
        sort_field = key
    cl_list = ([None] * len(item_list))
    last_ordnum = 0
    for (idx, item) in enumerate(item_list):
        if key:
            c = item[sort_field]
        else:
            c = item
        (ordnum, ordlen) = collation_order(c)
        if (isosx and (platform.mac_ver()[0] < '10.8')):
            last_c = u''
            if ((ordnum == 0) and (ordlen == (-1))):
                if (icu_upper(c[0]) != last_c):
                    last_c = icu_upper(c[0])
                    if (last_c in exceptions.keys()):
                        last_c = exceptions[unicode(last_c)]
                    last_ordnum = ordnum
                cl_list[idx] = last_c
            else:
                if (last_ordnum != ordnum):
                    last_c = icu_upper(c[0:ordlen])
                    if (last_c in exceptions.keys()):
                        last_c = exceptions[unicode(last_c)]
                    last_ordnum = ordnum
                else:
                    last_c = cl_list[(idx - 1)]
                cl_list[idx] = last_c
        else:
            if (last_ordnum != ordnum):
                last_c = icu_upper(c[0:ordlen])
                if (last_c in exceptions.keys()):
                    last_c = exceptions[unicode(last_c)]
                last_ordnum = ordnum
            else:
                last_c = cl_list[(idx - 1)]
            cl_list[idx] = last_c
    if (self.DEBUG and self.opts.verbose):
        print '                    establish_equivalencies():'
        if key:
            for (idx, item) in enumerate(item_list):
                print ('                        %s    %s' % (cl_list[idx], item[sort_field]))
        else:
            print ('                        %s    %s' % (cl_list[idx], item))
    return cl_list
