diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 1648b26a0958f7bd119589471cc69f39a50a7ba5..45ed43dc5e855a7f9c13d8b5b8d238c989ebcc4c 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -1087,19 +1087,74 @@ window.nameReplace = function(name)
 {
 	name = name.replace("Sh", "Th");
 	name = name.replace("S", "Th");
-	name = name.replace("X", "Th");
+	
+	name = name.replace("aX", "aKTH");
+	name = name.replace("eX", "eKTH");
+	name = name.replace("iX", "iKTH");
+	name = name.replace("oX", "oKTH");
+	name = name.replace("uX", "uKTH");
+	name = name.replace("yX", "yKTH");
+	name = name.replace("AX", "AKTH");
+	name = name.replace("EX", "EKTH");
+	name = name.replace("IX", "IKTH");
+	name = name.replace("OX", "OKTH");
+	name = name.replace("UX", "UKTH");
+	name = name.replace("YX", "YKTH");
+	name = name.replace("Xa", "Tha");
+	name = name.replace("Xe", "The");
+	name = name.replace("Xi", "Thi");
+	name = name.replace("Xo", "Tho");
+	name = name.replace("Xu", "Thu");
+	name = name.replace("Xy", "Thy");
+	name = name.replace("XA", "THA");
+	name = name.replace("XE", "THE");
+	name = name.replace("XI", "THI");
+	name = name.replace("XO", "THO");
+	name = name.replace("XU", "THU");
+	name = name.replace("XY", "THY");
+	name = name.replace("X", "EKTH");
 	name = name.replace("Z", "Th");
 	name = name.replace("Ci", "Thi");
 	name = name.replace("Ce", "The");
 	name = name.replace("Cy", "Thy");
+	name = name.replace("CI", "THI");
+	name = name.replace("CE", "THE");
+	name = name.replace("CY", "THY");
 	name = name.replace("ss", "th");
 	name = name.replace("sh", "th");
 	name = name.replace("s", "th");
 	name = name.replace("z", "th");
-	name = name.replace("x", "ckth");
+	name = name.replace("ax", "akth");
+	name = name.replace("ex", "ekth");
+	name = name.replace("ix", "ikth");
+	name = name.replace("ox", "okth");
+	name = name.replace("ux", "ukth");
+	name = name.replace("yx", "ykth");
+	name = name.replace("Ax", "Akth");
+	name = name.replace("Ex", "Ekth");
+	name = name.replace("Ix", "Ikth");
+	name = name.replace("Ox", "Okth");
+	name = name.replace("Ux", "Ukth");
+	name = name.replace("Yx", "Ykth");
+	name = name.replace("xa", "tha");
+	name = name.replace("xe", "the");
+	name = name.replace("xi", "thi");
+	name = name.replace("xo", "tho");
+	name = name.replace("xu", "thu");
+	name = name.replace("xy", "thy");
+	name = name.replace("xA", "thA");
+	name = name.replace("xE", "thE");
+	name = name.replace("xI", "thI");
+	name = name.replace("xO", "thO");
+	name = name.replace("xU", "thU");
+	name = name.replace("xY", "thY");
+	name = name.replace("x", "eckth");
 	name = name.replace("ci", "thi");
 	name = name.replace("ce", "the");
 	name = name.replace("cy", "thy");
+	name = name.replace("cI", "thI");
+	name = name.replace("cE", "thE");
+	name = name.replace("cY", "thY");
 	return name;
 }