UTF-8も数種類あり、逆変換は原理的に不可能なので完璧は無理でしょ。
ms-utf8ですらvistaとxpで違うしね。

これに、合成フォントが入ってくると絶望的になる。
自分で、明示的に整理してくしかないね。