The current method of relying on a mix of character replacements, contextual detection via regular expression, pre/post processing and options don't work that well.
Unicode has a language for expressing transliteration systems but it has its flaws.
https://www.unicode.org/cldr/charts/32/transforms/index.html
We should come up with a better language to describe how transliteration systems work.
ping @chaaklau