function diakritize( matched ) {
var diakrited = {
'\u0301': { 'a': 'á', 'e': 'é', 'i': 'í', 'o': 'ó', 'u': 'ú', 'y': 'ý' }, // acute
'\u0304': { 'a': 'ā', 'e': 'ē', 'i': 'ī', 'o': 'ō', 'u': 'ū', 'y': 'ȳ' }, // macron
};
return diakrited[matched[1]][ matched[0] ];
}
text.replace(/[aeiouy][\u0301\u0304]/g, diakritize);