diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 865d67f..6d06a12 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -750,14 +750,129 @@
 					 || STRCMP(p_enc, "iso-8859-15") == 0)
 #endif
     {
+#ifdef EBCDIC
+# define A_circumflex 0x62
+# define A_diaeresis 0x63
+# define A_grave 0x64
+# define A_acute 0x65
+# define A_virguilla 0x66
+# define A_ring 0x67
+# define C_cedilla 0x68
+# define E_acute 0x71
+# define E_circumflex 0x72
+# define E_diaeresis 0x73
+# define E_grave 0x74
+# define I_acute 0x75
+# define I_circumflex 0x76
+# define I_diaeresis 0x77
+# define I_grave 0x78
+# define N_virguilla 0x69
+# define O_circumflex 0xeb
+# define O_diaeresis 0xec
+# define O_grave 0xed
+# define O_acute 0xee
+# define O_virguilla 0xef
+# define O_slash 0x80
+# define U_circumflex 0xfb
+# define U_diaeresis 0xfc
+# define U_grave 0xfd
+# define U_acute 0xfe
+# define Y_acute 0xba
+# define a_grave 0x42
+# define a_acute 0x43
+# define a_circumflex 0x44
+# define a_virguilla 0x45
+# define a_diaeresis 0x46
+# define a_ring 0x47
+# define c_cedilla 0x48
+# define e_grave 0x51
+# define e_acute 0x52
+# define e_circumflex 0x53
+# define e_diaeresis 0x54
+# define i_grave 0x55
+# define i_acute 0x56
+# define i_circumflex 0x57
+# define i_diaeresis 0x58
+# define n_virguilla 0x49
+# define o_grave 0xcb
+# define o_acute 0xcc
+# define o_circumflex 0xcd
+# define o_virguilla 0xce
+# define o_diaeresis 0xcf
+# define o_slash 0x70
+# define u_grave 0xdb
+# define u_acute 0xdc
+# define u_circumflex 0xdd
+# define u_diaeresis 0xde
+# define y_acute 0x8d
+# define y_diaeresis 0xdf
+#else
+# define A_grave 0xc0
+# define A_acute 0xc1
+# define A_circumflex 0xc2
+# define A_virguilla 0xc3
+# define A_diaeresis 0xc4
+# define A_ring 0xc5
+# define C_cedilla 0xc7
+# define E_grave 0xc8
+# define E_acute 0xc9
+# define E_circumflex 0xca
+# define E_diaeresis 0xcb
+# define I_grave 0xcc
+# define I_acute 0xcd
+# define I_circumflex 0xce
+# define I_diaeresis 0xcf
+# define N_virguilla 0xd1
+# define O_grave 0xd2
+# define O_acute 0xd3
+# define O_circumflex 0xd4
+# define O_virguilla 0xd5
+# define O_diaeresis 0xd6
+# define O_slash 0xd8
+# define U_grave 0xd9
+# define U_acute 0xda
+# define U_circumflex 0xdb
+# define U_diaeresis 0xdc
+# define Y_acute 0xdd
+# define a_grave 0xe0
+# define a_acute 0xe1
+# define a_circumflex 0xe2
+# define a_virguilla 0xe3
+# define a_diaeresis 0xe4
+# define a_ring 0xe5
+# define c_cedilla 0xe7
+# define e_grave 0xe8
+# define e_acute 0xe9
+# define e_circumflex 0xea
+# define e_diaeresis 0xeb
+# define i_grave 0xec
+# define i_acute 0xed
+# define i_circumflex 0xee
+# define i_diaeresis 0xef
+# define n_virguilla 0xf1
+# define o_grave 0xf2
+# define o_acute 0xf3
+# define o_circumflex 0xf4
+# define o_virguilla 0xf5
+# define o_diaeresis 0xf6
+# define o_slash 0xf8
+# define u_grave 0xf9
+# define u_acute 0xfa
+# define u_circumflex 0xfb
+# define u_diaeresis 0xfc
+# define y_acute 0xfd
+# define y_diaeresis 0xff
+#endif
 	switch (c)
 	{
-	    case 'A': case 0300: case 0301: case 0302:
-	    case 0303: case 0304: case 0305:
-	    CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104) CASEMBC(0x1cd)
-	    CASEMBC(0x1de) CASEMBC(0x1e0) CASEMBC(0x1ea2)
-		    EMIT2('A');	EMIT2(0300); EMIT2(0301); EMIT2(0302);
-		    EMIT2(0303); EMIT2(0304); EMIT2(0305);
+	    case 'A': case A_grave: case A_acute: case A_circumflex:
+		      case A_virguilla: case A_diaeresis: case A_ring:
+		      CASEMBC(0x100) CASEMBC(0x102) CASEMBC(0x104)
+		      CASEMBC(0x1cd) CASEMBC(0x1de) CASEMBC(0x1e0)
+		      CASEMBC(0x1ea2)
+		    EMIT2('A');	EMIT2(A_grave); EMIT2(A_acute);
+		    EMIT2(A_circumflex); EMIT2(A_virguilla);
+		    EMIT2(A_diaeresis); EMIT2(A_ring);
 		    EMITMBC(0x100) EMITMBC(0x102) EMITMBC(0x104)
 		    EMITMBC(0x1cd) EMITMBC(0x1de) EMITMBC(0x1e0)
 		    EMITMBC(0x1ea2)
@@ -767,23 +882,25 @@
 		    EMIT2('B'); EMITMBC(0x1e02) EMITMBC(0x1e06)
 		    return OK;
 
-	    case 'C': case 0307:
-	    CASEMBC(0x106) CASEMBC(0x108) CASEMBC(0x10a) CASEMBC(0x10c)
-		    EMIT2('C'); EMIT2(0307); EMITMBC(0x106) EMITMBC(0x108)
+	    case 'C': case C_cedilla: CASEMBC(0x106) CASEMBC(0x108)
+		      CASEMBC(0x10a) CASEMBC(0x10c)
+		    EMIT2('C');	EMIT2(C_cedilla);
+		    EMITMBC(0x106) EMITMBC(0x108)
 		    EMITMBC(0x10a) EMITMBC(0x10c)
 		    return OK;
 
 	    case 'D': CASEMBC(0x10e) CASEMBC(0x110) CASEMBC(0x1e0a)
-	    CASEMBC(0x1e0e) CASEMBC(0x1e10)
+		      CASEMBC(0x1e0e) CASEMBC(0x1e10)
 		    EMIT2('D'); EMITMBC(0x10e) EMITMBC(0x110) EMITMBC(0x1e0a)
 		    EMITMBC(0x1e0e) EMITMBC(0x1e10)
 		    return OK;
 
-	    case 'E': case 0310: case 0311: case 0312: case 0313:
-	    CASEMBC(0x112) CASEMBC(0x114) CASEMBC(0x116) CASEMBC(0x118)
-	    CASEMBC(0x11a) CASEMBC(0x1eba) CASEMBC(0x1ebc)
-		    EMIT2('E'); EMIT2(0310); EMIT2(0311); EMIT2(0312);
-		    EMIT2(0313);
+	    case 'E': case E_grave: case E_acute: case E_circumflex:
+		      case E_diaeresis: CASEMBC(0x112) CASEMBC(0x114)
+		      CASEMBC(0x116) CASEMBC(0x118) CASEMBC(0x11a)
+		      CASEMBC(0x1eba) CASEMBC(0x1ebc)
+		    EMIT2('E');	EMIT2(E_grave); EMIT2(E_acute);
+		    EMIT2(E_circumflex); EMIT2(E_diaeresis);
 		    EMITMBC(0x112) EMITMBC(0x114) EMITMBC(0x116)
 		    EMITMBC(0x118) EMITMBC(0x11a) EMITMBC(0x1eba)
 		    EMITMBC(0x1ebc)
@@ -794,24 +911,26 @@
 		    return OK;
 
 	    case 'G': CASEMBC(0x11c) CASEMBC(0x11e) CASEMBC(0x120)
-	    CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6) CASEMBC(0x1f4)
-	    CASEMBC(0x1e20)
+		      CASEMBC(0x122) CASEMBC(0x1e4) CASEMBC(0x1e6)
+		      CASEMBC(0x1f4) CASEMBC(0x1e20)
 		    EMIT2('G'); EMITMBC(0x11c) EMITMBC(0x11e) EMITMBC(0x120)
 		    EMITMBC(0x122) EMITMBC(0x1e4) EMITMBC(0x1e6)
 		    EMITMBC(0x1f4) EMITMBC(0x1e20)
 		    return OK;
 
 	    case 'H': CASEMBC(0x124) CASEMBC(0x126) CASEMBC(0x1e22)
-	    CASEMBC(0x1e26) CASEMBC(0x1e28)
+		      CASEMBC(0x1e26) CASEMBC(0x1e28)
 		    EMIT2('H'); EMITMBC(0x124) EMITMBC(0x126) EMITMBC(0x1e22)
 		    EMITMBC(0x1e26) EMITMBC(0x1e28)
 		    return OK;
 
-	    case 'I': case 0314: case 0315: case 0316: case 0317:
-	    CASEMBC(0x128) CASEMBC(0x12a) CASEMBC(0x12c) CASEMBC(0x12e)
-	    CASEMBC(0x130) CASEMBC(0x1cf) CASEMBC(0x1ec8)
-		    EMIT2('I'); EMIT2(0314); EMIT2(0315); EMIT2(0316);
-		    EMIT2(0317); EMITMBC(0x128) EMITMBC(0x12a)
+	    case 'I': case I_grave: case I_acute: case I_circumflex:
+		      case I_diaeresis: CASEMBC(0x128) CASEMBC(0x12a)
+		      CASEMBC(0x12c) CASEMBC(0x12e) CASEMBC(0x130)
+		      CASEMBC(0x1cf) CASEMBC(0x1ec8)
+		    EMIT2('I');	EMIT2(I_grave); EMIT2(I_acute);
+		    EMIT2(I_circumflex); EMIT2(I_diaeresis);
+		    EMITMBC(0x128) EMITMBC(0x12a)
 		    EMITMBC(0x12c) EMITMBC(0x12e) EMITMBC(0x130)
 		    EMITMBC(0x1cf) EMITMBC(0x1ec8)
 		    return OK;
@@ -821,13 +940,13 @@
 		    return OK;
 
 	    case 'K': CASEMBC(0x136) CASEMBC(0x1e8) CASEMBC(0x1e30)
-	    CASEMBC(0x1e34)
+		      CASEMBC(0x1e34)
 		    EMIT2('K'); EMITMBC(0x136) EMITMBC(0x1e8) EMITMBC(0x1e30)
 		    EMITMBC(0x1e34)
 		    return OK;
 
 	    case 'L': CASEMBC(0x139) CASEMBC(0x13b) CASEMBC(0x13d)
-	    CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
+		      CASEMBC(0x13f) CASEMBC(0x141) CASEMBC(0x1e3a)
 		    EMIT2('L'); EMITMBC(0x139) EMITMBC(0x13b) EMITMBC(0x13d)
 		    EMITMBC(0x13f) EMITMBC(0x141) EMITMBC(0x1e3a)
 		    return OK;
@@ -836,19 +955,21 @@
 		    EMIT2('M'); EMITMBC(0x1e3e) EMITMBC(0x1e40)
 		    return OK;
 
-	    case 'N': case 0321:
-	    CASEMBC(0x143) CASEMBC(0x145) CASEMBC(0x147) CASEMBC(0x1e44)
-	    CASEMBC(0x1e48)
-		    EMIT2('N'); EMIT2(0321); EMITMBC(0x143) EMITMBC(0x145)
+	    case 'N': case N_virguilla: CASEMBC(0x143) CASEMBC(0x145)
+		      CASEMBC(0x147) CASEMBC(0x1e44) CASEMBC(0x1e48)
+		    EMIT2('N');	EMIT2(N_virguilla);
+		    EMITMBC(0x143) EMITMBC(0x145)
 		    EMITMBC(0x147) EMITMBC(0x1e44) EMITMBC(0x1e48)
 		    return OK;
 
-	    case 'O': case 0322: case 0323: case 0324: case 0325:
-	    case 0326: case 0330:
-	    CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150) CASEMBC(0x1a0)
-	    CASEMBC(0x1d1) CASEMBC(0x1ea) CASEMBC(0x1ec) CASEMBC(0x1ece)
-		    EMIT2('O'); EMIT2(0322); EMIT2(0323); EMIT2(0324);
-		    EMIT2(0325); EMIT2(0326); EMIT2(0330);
+	    case 'O': case O_grave: case O_acute: case O_circumflex:
+		      case O_virguilla: case O_diaeresis: case O_slash:
+		      CASEMBC(0x14c) CASEMBC(0x14e) CASEMBC(0x150)
+		      CASEMBC(0x1a0) CASEMBC(0x1d1) CASEMBC(0x1ea)
+		      CASEMBC(0x1ec) CASEMBC(0x1ece)
+		    EMIT2('O');	 EMIT2(O_grave); EMIT2(O_acute);
+		    EMIT2(O_circumflex); EMIT2(O_virguilla);
+		    EMIT2(O_diaeresis); EMIT2(O_slash);
 		    EMITMBC(0x14c) EMITMBC(0x14e) EMITMBC(0x150)
 		    EMITMBC(0x1a0) EMITMBC(0x1d1) EMITMBC(0x1ea)
 		    EMITMBC(0x1ec) EMITMBC(0x1ece)
@@ -859,29 +980,31 @@
 		    return OK;
 
 	    case 'R': CASEMBC(0x154) CASEMBC(0x156) CASEMBC(0x158)
-	    CASEMBC(0x1e58) CASEMBC(0x1e5e)
+		      CASEMBC(0x1e58) CASEMBC(0x1e5e)
 		    EMIT2('R'); EMITMBC(0x154) EMITMBC(0x156) EMITMBC(0x158)
 		    EMITMBC(0x1e58) EMITMBC(0x1e5e)
 		    return OK;
 
 	    case 'S': CASEMBC(0x15a) CASEMBC(0x15c) CASEMBC(0x15e)
-	    CASEMBC(0x160) CASEMBC(0x1e60)
+		      CASEMBC(0x160) CASEMBC(0x1e60)
 		    EMIT2('S'); EMITMBC(0x15a) EMITMBC(0x15c) EMITMBC(0x15e)
 		    EMITMBC(0x160) EMITMBC(0x1e60)
 		    return OK;
 
 	    case 'T': CASEMBC(0x162) CASEMBC(0x164) CASEMBC(0x166)
-	    CASEMBC(0x1e6a) CASEMBC(0x1e6e)
+		      CASEMBC(0x1e6a) CASEMBC(0x1e6e)
 		    EMIT2('T'); EMITMBC(0x162) EMITMBC(0x164) EMITMBC(0x166)
 		    EMITMBC(0x1e6a) EMITMBC(0x1e6e)
 		    return OK;
 
-	    case 'U': case 0331: case 0332: case 0333: case 0334:
-	    CASEMBC(0x168) CASEMBC(0x16a) CASEMBC(0x16c) CASEMBC(0x16e)
-	    CASEMBC(0x170) CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
-	    CASEMBC(0x1ee6)
-		    EMIT2('U'); EMIT2(0331); EMIT2(0332); EMIT2(0333);
-		    EMIT2(0334); EMITMBC(0x168) EMITMBC(0x16a)
+	    case 'U': case U_grave: case U_acute: case U_diaeresis:
+		      case U_circumflex: CASEMBC(0x168) CASEMBC(0x16a)
+		      CASEMBC(0x16c) CASEMBC(0x16e) CASEMBC(0x170)
+		      CASEMBC(0x172) CASEMBC(0x1af) CASEMBC(0x1d3)
+		      CASEMBC(0x1ee6)
+		    EMIT2('U');	EMIT2(U_grave); EMIT2(U_acute);
+		    EMIT2(U_diaeresis); EMIT2(U_circumflex);
+		    EMITMBC(0x168) EMITMBC(0x16a)
 		    EMITMBC(0x16c) EMITMBC(0x16e) EMITMBC(0x170)
 		    EMITMBC(0x172) EMITMBC(0x1af) EMITMBC(0x1d3)
 		    EMITMBC(0x1ee6)
@@ -892,7 +1015,7 @@
 		    return OK;
 
 	    case 'W': CASEMBC(0x174) CASEMBC(0x1e80) CASEMBC(0x1e82)
-	    CASEMBC(0x1e84) CASEMBC(0x1e86)
+		      CASEMBC(0x1e84) CASEMBC(0x1e86)
 		    EMIT2('W'); EMITMBC(0x174) EMITMBC(0x1e80) EMITMBC(0x1e82)
 		    EMITMBC(0x1e84) EMITMBC(0x1e86)
 		    return OK;
@@ -901,26 +1024,29 @@
 		    EMIT2('X'); EMITMBC(0x1e8a) EMITMBC(0x1e8c)
 		    return OK;
 
-	    case 'Y': case 0335:
-	    CASEMBC(0x176) CASEMBC(0x178) CASEMBC(0x1e8e) CASEMBC(0x1ef2)
-	    CASEMBC(0x1ef6) CASEMBC(0x1ef8)
-		    EMIT2('Y'); EMIT2(0335); EMITMBC(0x176) EMITMBC(0x178)
+	    case 'Y': case Y_acute: CASEMBC(0x176) CASEMBC(0x178)
+		      CASEMBC(0x1e8e) CASEMBC(0x1ef2) CASEMBC(0x1ef6)
+		      CASEMBC(0x1ef8)
+		    EMIT2('Y');	EMIT2(Y_acute);
+		    EMITMBC(0x176) EMITMBC(0x178)
 		    EMITMBC(0x1e8e) EMITMBC(0x1ef2) EMITMBC(0x1ef6)
 		    EMITMBC(0x1ef8)
 		    return OK;
 
 	    case 'Z': CASEMBC(0x179) CASEMBC(0x17b) CASEMBC(0x17d)
-	    CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
+		      CASEMBC(0x1b5) CASEMBC(0x1e90) CASEMBC(0x1e94)
 		    EMIT2('Z'); EMITMBC(0x179) EMITMBC(0x17b) EMITMBC(0x17d)
 		    EMITMBC(0x1b5) EMITMBC(0x1e90) EMITMBC(0x1e94)
 		    return OK;
 
-	    case 'a': case 0340: case 0341: case 0342:
-	    case 0343: case 0344: case 0345:
-	    CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105) CASEMBC(0x1ce)
-	    CASEMBC(0x1df) CASEMBC(0x1e1) CASEMBC(0x1ea3)
-		    EMIT2('a'); EMIT2(0340); EMIT2(0341); EMIT2(0342);
-		    EMIT2(0343); EMIT2(0344); EMIT2(0345);
+	    case  'a': case a_grave: case a_acute: case a_circumflex:
+		       case a_virguilla: case a_diaeresis: case a_ring:
+		       CASEMBC(0x101) CASEMBC(0x103) CASEMBC(0x105)
+		       CASEMBC(0x1ce) CASEMBC(0x1df) CASEMBC(0x1e1)
+		       CASEMBC(0x1ea3)
+		    EMIT2('a');	EMIT2(a_grave); EMIT2(a_acute);
+		    EMIT2(a_circumflex); EMIT2(a_virguilla);
+		    EMIT2(a_diaeresis); EMIT2(a_ring);
 		    EMITMBC(0x101) EMITMBC(0x103) EMITMBC(0x105)
 		    EMITMBC(0x1ce) EMITMBC(0x1df) EMITMBC(0x1e1)
 		    EMITMBC(0x1ea3)
@@ -930,23 +1056,26 @@
 		    EMIT2('b'); EMITMBC(0x1e03) EMITMBC(0x1e07)
 		    return OK;
 
-	    case 'c': case 0347:
-	    CASEMBC(0x107) CASEMBC(0x109) CASEMBC(0x10b) CASEMBC(0x10d)
-		    EMIT2('c'); EMIT2(0347); EMITMBC(0x107) EMITMBC(0x109)
+	    case 'c': case c_cedilla: CASEMBC(0x107) CASEMBC(0x109)
+		      CASEMBC(0x10b) CASEMBC(0x10d)
+		    EMIT2('c');	EMIT2(c_cedilla);
+		    EMITMBC(0x107) EMITMBC(0x109)
 		    EMITMBC(0x10b) EMITMBC(0x10d)
 		    return OK;
 
 	    case 'd': CASEMBC(0x10f) CASEMBC(0x111) CASEMBC(0x1e0b)
-	    CASEMBC(0x1e0f) CASEMBC(0x1e11)
+		      CASEMBC(0x1e0f) CASEMBC(0x1e11)
 		    EMIT2('d'); EMITMBC(0x10f) EMITMBC(0x111)
 		    EMITMBC(0x1e0b) EMITMBC(0x1e0f) EMITMBC(0x1e11)
 		    return OK;
 
-	    case 'e': case 0350: case 0351: case 0352: case 0353:
-	    CASEMBC(0x113) CASEMBC(0x115) CASEMBC(0x117) CASEMBC(0x119)
-	    CASEMBC(0x11b) CASEMBC(0x1ebb) CASEMBC(0x1ebd)
-		    EMIT2('e'); EMIT2(0350); EMIT2(0351); EMIT2(0352);
-		    EMIT2(0353); EMITMBC(0x113) EMITMBC(0x115)
+	    case 'e': case e_grave: case e_acute: case e_circumflex:
+		      case e_diaeresis: CASEMBC(0x113) CASEMBC(0x115)
+		      CASEMBC(0x117) CASEMBC(0x119) CASEMBC(0x11b)
+		      CASEMBC(0x1ebb) CASEMBC(0x1ebd)
+		    EMIT2('e');	EMIT2(e_grave); EMIT2(e_acute);
+		    EMIT2(e_circumflex); EMIT2(e_diaeresis);
+		    EMITMBC(0x113) EMITMBC(0x115)
 		    EMITMBC(0x117) EMITMBC(0x119) EMITMBC(0x11b)
 		    EMITMBC(0x1ebb) EMITMBC(0x1ebd)
 		    return OK;
@@ -956,24 +1085,26 @@
 		    return OK;
 
 	    case 'g': CASEMBC(0x11d) CASEMBC(0x11f) CASEMBC(0x121)
-	    CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7) CASEMBC(0x1f5)
-	    CASEMBC(0x1e21)
+		      CASEMBC(0x123) CASEMBC(0x1e5) CASEMBC(0x1e7)
+		      CASEMBC(0x1f5) CASEMBC(0x1e21)
 		    EMIT2('g'); EMITMBC(0x11d) EMITMBC(0x11f) EMITMBC(0x121)
 		    EMITMBC(0x123) EMITMBC(0x1e5) EMITMBC(0x1e7)
 		    EMITMBC(0x1f5) EMITMBC(0x1e21)
 		    return OK;
 
 	    case 'h': CASEMBC(0x125) CASEMBC(0x127) CASEMBC(0x1e23)
-	    CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
+		      CASEMBC(0x1e27) CASEMBC(0x1e29) CASEMBC(0x1e96)
 		    EMIT2('h'); EMITMBC(0x125) EMITMBC(0x127) EMITMBC(0x1e23)
 		    EMITMBC(0x1e27) EMITMBC(0x1e29) EMITMBC(0x1e96)
 		    return OK;
 
-	    case 'i': case 0354: case 0355: case 0356: case 0357:
-	    CASEMBC(0x129) CASEMBC(0x12b) CASEMBC(0x12d) CASEMBC(0x12f)
-	    CASEMBC(0x1d0) CASEMBC(0x1ec9)
-		    EMIT2('i'); EMIT2(0354); EMIT2(0355); EMIT2(0356);
-		    EMIT2(0357); EMITMBC(0x129) EMITMBC(0x12b)
+	    case 'i': case i_grave: case i_acute: case i_circumflex:
+		      case i_diaeresis: CASEMBC(0x129) CASEMBC(0x12b)
+		      CASEMBC(0x12d) CASEMBC(0x12f) CASEMBC(0x1d0)
+		      CASEMBC(0x1ec9)
+		    EMIT2('i');	EMIT2(i_grave); EMIT2(i_acute);
+		    EMIT2(i_circumflex); EMIT2(i_diaeresis);
+		    EMITMBC(0x129) EMITMBC(0x12b)
 		    EMITMBC(0x12d) EMITMBC(0x12f) EMITMBC(0x1d0)
 		    EMITMBC(0x1ec9)
 		    return OK;
@@ -983,13 +1114,13 @@
 		    return OK;
 
 	    case 'k': CASEMBC(0x137) CASEMBC(0x1e9) CASEMBC(0x1e31)
-	    CASEMBC(0x1e35)
+		      CASEMBC(0x1e35)
 		    EMIT2('k'); EMITMBC(0x137) EMITMBC(0x1e9) EMITMBC(0x1e31)
 		    EMITMBC(0x1e35)
 		    return OK;
 
 	    case 'l': CASEMBC(0x13a) CASEMBC(0x13c) CASEMBC(0x13e)
-	    CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
+		      CASEMBC(0x140) CASEMBC(0x142) CASEMBC(0x1e3b)
 		    EMIT2('l'); EMITMBC(0x13a) EMITMBC(0x13c) EMITMBC(0x13e)
 		    EMITMBC(0x140) EMITMBC(0x142) EMITMBC(0x1e3b)
 		    return OK;
@@ -998,20 +1129,23 @@
 		    EMIT2('m'); EMITMBC(0x1e3f) EMITMBC(0x1e41)
 		    return OK;
 
-	    case 'n': case 0361:
-	    CASEMBC(0x144) CASEMBC(0x146) CASEMBC(0x148) CASEMBC(0x149)
-	    CASEMBC(0x1e45) CASEMBC(0x1e49)
-		    EMIT2('n'); EMIT2(0361); EMITMBC(0x144) EMITMBC(0x146)
+	    case 'n': case n_virguilla: CASEMBC(0x144) CASEMBC(0x146)
+		      CASEMBC(0x148) CASEMBC(0x149) CASEMBC(0x1e45)
+		      CASEMBC(0x1e49)
+		    EMIT2('n');	EMIT2(n_virguilla);
+		    EMITMBC(0x144) EMITMBC(0x146)
 		    EMITMBC(0x148) EMITMBC(0x149) EMITMBC(0x1e45)
 		    EMITMBC(0x1e49)
 		    return OK;
 
-	    case 'o': case 0362: case 0363: case 0364: case 0365:
-	    case 0366: case 0370:
-	    CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151) CASEMBC(0x1a1)
-	    CASEMBC(0x1d2) CASEMBC(0x1eb) CASEMBC(0x1ed) CASEMBC(0x1ecf)
-		    EMIT2('o'); EMIT2(0362); EMIT2(0363); EMIT2(0364);
-		    EMIT2(0365); EMIT2(0366); EMIT2(0370);
+	    case 'o': case o_grave: case o_acute: case o_circumflex:
+		      case o_virguilla: case o_diaeresis: case o_slash:
+		      CASEMBC(0x14d) CASEMBC(0x14f) CASEMBC(0x151)
+		      CASEMBC(0x1a1) CASEMBC(0x1d2) CASEMBC(0x1eb)
+		      CASEMBC(0x1ed) CASEMBC(0x1ecf)
+		    EMIT2('o');	EMIT2(o_grave); EMIT2(o_acute);
+		    EMIT2(o_circumflex); EMIT2(o_virguilla);
+		    EMIT2(o_diaeresis); EMIT2(o_slash);
 		    EMITMBC(0x14d) EMITMBC(0x14f) EMITMBC(0x151)
 		    EMITMBC(0x1a1) EMITMBC(0x1d2) EMITMBC(0x1eb)
 		    EMITMBC(0x1ed) EMITMBC(0x1ecf)
@@ -1022,29 +1156,31 @@
 		    return OK;
 
 	    case 'r': CASEMBC(0x155) CASEMBC(0x157) CASEMBC(0x159)
-	    CASEMBC(0x1e59) CASEMBC(0x1e5f)
+		      CASEMBC(0x1e59) CASEMBC(0x1e5f)
 		    EMIT2('r'); EMITMBC(0x155) EMITMBC(0x157) EMITMBC(0x159)
 		    EMITMBC(0x1e59) EMITMBC(0x1e5f)
 		    return OK;
 
 	    case 's': CASEMBC(0x15b) CASEMBC(0x15d) CASEMBC(0x15f)
-	    CASEMBC(0x161) CASEMBC(0x1e61)
+		      CASEMBC(0x161) CASEMBC(0x1e61)
 		    EMIT2('s'); EMITMBC(0x15b) EMITMBC(0x15d) EMITMBC(0x15f)
 		    EMITMBC(0x161) EMITMBC(0x1e61)
 		    return OK;
 
 	    case 't': CASEMBC(0x163) CASEMBC(0x165) CASEMBC(0x167)
-	    CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
+		      CASEMBC(0x1e6b) CASEMBC(0x1e6f) CASEMBC(0x1e97)
 		    EMIT2('t'); EMITMBC(0x163) EMITMBC(0x165) EMITMBC(0x167)
 		    EMITMBC(0x1e6b) EMITMBC(0x1e6f) EMITMBC(0x1e97)
 		    return OK;
 
-	    case 'u': case 0371: case 0372: case 0373: case 0374:
-	    CASEMBC(0x169) CASEMBC(0x16b) CASEMBC(0x16d) CASEMBC(0x16f)
-	    CASEMBC(0x171) CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
-	    CASEMBC(0x1ee7)
-		    EMIT2('u'); EMIT2(0371); EMIT2(0372); EMIT2(0373);
-		    EMIT2(0374); EMITMBC(0x169) EMITMBC(0x16b)
+	    case 'u': case u_grave: case u_acute: case u_circumflex:
+		      case u_diaeresis: CASEMBC(0x169) CASEMBC(0x16b)
+		      CASEMBC(0x16d) CASEMBC(0x16f) CASEMBC(0x171)
+		      CASEMBC(0x173) CASEMBC(0x1b0) CASEMBC(0x1d4)
+		      CASEMBC(0x1ee7)
+		    EMIT2('u');	EMIT2(u_grave); EMIT2(u_acute);
+		    EMIT2(u_circumflex); EMIT2(u_diaeresis);
+		    EMITMBC(0x169) EMITMBC(0x16b)
 		    EMITMBC(0x16d) EMITMBC(0x16f) EMITMBC(0x171)
 		    EMITMBC(0x173) EMITMBC(0x1b0) EMITMBC(0x1d4)
 		    EMITMBC(0x1ee7)
@@ -1055,7 +1191,7 @@
 		    return OK;
 
 	    case 'w': CASEMBC(0x175) CASEMBC(0x1e81) CASEMBC(0x1e83)
-	    CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
+		      CASEMBC(0x1e85) CASEMBC(0x1e87) CASEMBC(0x1e98)
 		    EMIT2('w'); EMITMBC(0x175) EMITMBC(0x1e81) EMITMBC(0x1e83)
 		    EMITMBC(0x1e85) EMITMBC(0x1e87) EMITMBC(0x1e98)
 		    return OK;
@@ -1064,16 +1200,17 @@
 		    EMIT2('x'); EMITMBC(0x1e8b) EMITMBC(0x1e8d)
 		    return OK;
 
-	    case 'y': case 0375: case 0377:
-	    CASEMBC(0x177) CASEMBC(0x1e8f) CASEMBC(0x1e99)
-	    CASEMBC(0x1ef3) CASEMBC(0x1ef7) CASEMBC(0x1ef9)
-		    EMIT2('y'); EMIT2(0375); EMIT2(0377); EMITMBC(0x177)
+	    case 'y': case y_acute: case y_diaeresis: CASEMBC(0x177)
+		      CASEMBC(0x1e8f) CASEMBC(0x1e99) CASEMBC(0x1ef3)
+		      CASEMBC(0x1ef7) CASEMBC(0x1ef9)
+		    EMIT2('y');	EMIT2(y_acute); EMIT2(y_diaeresis);
+		    EMITMBC(0x177)
 		    EMITMBC(0x1e8f) EMITMBC(0x1e99) EMITMBC(0x1ef3)
 		    EMITMBC(0x1ef7) EMITMBC(0x1ef9)
 		    return OK;
 
 	    case 'z': CASEMBC(0x17a) CASEMBC(0x17c) CASEMBC(0x17e)
-	    CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
+		      CASEMBC(0x1b6) CASEMBC(0x1e91) CASEMBC(0x1e95)
 		    EMIT2('z'); EMITMBC(0x17a) EMITMBC(0x17c) EMITMBC(0x17e)
 		    EMITMBC(0x1b6) EMITMBC(0x1e91) EMITMBC(0x1e95)
 		    return OK;
