I don't have what you are looking for [canonically equivalent strings], but I am curious how you plan to go from that to:
>(The underlying issue is that I'm trying to figure out, given some >precomposed glyph in a font, what are all the valid substitutions that >could be applied in the smart-font code.) > Eg. don't you also want the strings that contain a sprinkling of ZWJ, ZWNJ, CGJ, SHY and various other things? Eric.

