@@ -742,7 +742,12 @@ nfa_recognize_char_class(start, end, extra_newl)
742742nfa_emit_equi_class (c )
743743 int c ;
744744{
745- #define EMIT2 (c ) EMIT(c); EMIT(NFA_CONCAT);
745+ #define EMIT2 (c ) EMIT(c); EMIT(NFA_CONCAT);
746+ #ifdef FEAT_MBYTE
747+ # define EMITMBC (c ) EMIT(c); EMIT(NFA_CONCAT);
748+ #else
749+ # define EMITMBC (c )
750+ #endif
746751
747752#ifdef FEAT_MBYTE
748753 if (enc_utf8 || STRCMP (p_enc , "latin1" ) == 0
@@ -753,92 +758,338 @@ nfa_emit_equi_class(c)
753758 {
754759 case 'A' : case 0300 : case 0301 : case 0302 :
755760 case 0303 : case 0304 : case 0305 :
756- EMIT2 ('A' ); EMIT2 (0300 ); EMIT2 (0301 );
757- EMIT2 (0302 ); EMIT2 (0303 ); EMIT2 (0304 );
758- EMIT2 (0305 );
761+ CASEMBC (0x100 ) CASEMBC (0x102 ) CASEMBC (0x104 ) CASEMBC (0x1cd )
762+ CASEMBC (0x1de ) CASEMBC (0x1e0 ) CASEMBC (0x1ea2 )
763+ EMIT2 ('A' ); EMIT2 (0300 ); EMIT2 (0301 ); EMIT2 (0302 );
764+ EMIT2 (0303 ); EMIT2 (0304 ); EMIT2 (0305 );
765+ EMITMBC (0x100 ) EMITMBC (0x102 ) EMITMBC (0x104 )
766+ EMITMBC (0x1cd ) EMITMBC (0x1de ) EMITMBC (0x1e0 )
767+ EMITMBC (0x1ea2 )
768+ return OK ;
769+
770+ case 'B' : CASEMBC (0x1e02 ) CASEMBC (0x1e06 )
771+ EMIT2 ('B' ); EMITMBC (0x1e02 ) EMITMBC (0x1e06 )
759772 return OK ;
760773
761774 case 'C' : case 0307 :
762- EMIT2 ('C' ); EMIT2 (0307 );
775+ CASEMBC (0x106 ) CASEMBC (0x108 ) CASEMBC (0x10a ) CASEMBC (0x10c )
776+ EMIT2 ('C' ); EMIT2 (0307 ); EMITMBC (0x106 ) EMITMBC (0x108 )
777+ EMITMBC (0x10a ) EMITMBC (0x10c )
778+ return OK ;
779+
780+ case 'D' : CASEMBC (0x10e ) CASEMBC (0x110 ) CASEMBC (0x1e0a )
781+ CASEMBC (0x1e0e ) CASEMBC (0x1e10 )
782+ EMIT2 ('D' ); EMITMBC (0x10e ) EMITMBC (0x110 ) EMITMBC (0x1e0a )
783+ EMITMBC (0x1e0e ) EMITMBC (0x1e10 )
763784 return OK ;
764785
765786 case 'E' : case 0310 : case 0311 : case 0312 : case 0313 :
766- EMIT2 ('E' ); EMIT2 (0310 ); EMIT2 (0311 );
767- EMIT2 (0312 ); EMIT2 (0313 );
787+ CASEMBC (0x112 ) CASEMBC (0x114 ) CASEMBC (0x116 ) CASEMBC (0x118 )
788+ CASEMBC (0x11a ) CASEMBC (0x1eba ) CASEMBC (0x1ebc )
789+ EMIT2 ('E' ); EMIT2 (0310 ); EMIT2 (0311 ); EMIT2 (0312 );
790+ EMIT2 (0313 );
791+ EMITMBC (0x112 ) EMITMBC (0x114 ) EMITMBC (0x116 )
792+ EMITMBC (0x118 ) EMITMBC (0x11a ) EMITMBC (0x1eba )
793+ EMITMBC (0x1ebc )
794+ return OK ;
795+
796+ case 'F' : CASEMBC (0x1e1e )
797+ EMIT2 ('F' ); EMITMBC (0x1e1e )
798+ return OK ;
799+
800+ case 'G' : CASEMBC (0x11c ) CASEMBC (0x11e ) CASEMBC (0x120 )
801+ CASEMBC (0x122 ) CASEMBC (0x1e4 ) CASEMBC (0x1e6 ) CASEMBC (0x1f4 )
802+ CASEMBC (0x1e20 )
803+ EMIT2 ('G' ); EMITMBC (0x11c ) EMITMBC (0x11e ) EMITMBC (0x120 )
804+ EMITMBC (0x122 ) EMITMBC (0x1e4 ) EMITMBC (0x1e6 )
805+ EMITMBC (0x1f4 ) EMITMBC (0x1e20 )
806+ return OK ;
807+
808+ case 'H' : CASEMBC (0x124 ) CASEMBC (0x126 ) CASEMBC (0x1e22 )
809+ CASEMBC (0x1e26 ) CASEMBC (0x1e28 )
810+ EMIT2 ('H' ); EMITMBC (0x124 ) EMITMBC (0x126 ) EMITMBC (0x1e22 )
811+ EMITMBC (0x1e26 ) EMITMBC (0x1e28 )
768812 return OK ;
769813
770814 case 'I' : case 0314 : case 0315 : case 0316 : case 0317 :
771- EMIT2 ('I' ); EMIT2 (0314 ); EMIT2 (0315 );
772- EMIT2 (0316 ); EMIT2 (0317 );
815+ CASEMBC (0x128 ) CASEMBC (0x12a ) CASEMBC (0x12c ) CASEMBC (0x12e )
816+ CASEMBC (0x130 ) CASEMBC (0x1cf ) CASEMBC (0x1ec8 )
817+ EMIT2 ('I' ); EMIT2 (0314 ); EMIT2 (0315 ); EMIT2 (0316 );
818+ EMIT2 (0317 ); EMITMBC (0x128 ) EMITMBC (0x12a )
819+ EMITMBC (0x12c ) EMITMBC (0x12e ) EMITMBC (0x130 )
820+ EMITMBC (0x1cf ) EMITMBC (0x1ec8 )
821+ return OK ;
822+
823+ case 'J' : CASEMBC (0x134 )
824+ EMIT2 ('J' ); EMITMBC (0x134 )
825+ return OK ;
826+
827+ case 'K' : CASEMBC (0x136 ) CASEMBC (0x1e8 ) CASEMBC (0x1e30 )
828+ CASEMBC (0x1e34 )
829+ EMIT2 ('K' ); EMITMBC (0x136 ) EMITMBC (0x1e8 ) EMITMBC (0x1e30 )
830+ EMITMBC (0x1e34 )
831+ return OK ;
832+
833+ case 'L' : CASEMBC (0x139 ) CASEMBC (0x13b ) CASEMBC (0x13d )
834+ CASEMBC (0x13f ) CASEMBC (0x141 ) CASEMBC (0x1e3a )
835+ EMIT2 ('L' ); EMITMBC (0x139 ) EMITMBC (0x13b ) EMITMBC (0x13d )
836+ EMITMBC (0x13f ) EMITMBC (0x141 ) EMITMBC (0x1e3a )
837+ return OK ;
838+
839+ case 'M' : CASEMBC (0x1e3e ) CASEMBC (0x1e40 )
840+ EMIT2 ('M' ); EMITMBC (0x1e3e ) EMITMBC (0x1e40 )
773841 return OK ;
774842
775843 case 'N' : case 0321 :
776- EMIT2 ('N' ); EMIT2 (0321 );
844+ CASEMBC (0x143 ) CASEMBC (0x145 ) CASEMBC (0x147 ) CASEMBC (0x1e44 )
845+ CASEMBC (0x1e48 )
846+ EMIT2 ('N' ); EMIT2 (0321 ); EMITMBC (0x143 ) EMITMBC (0x145 )
847+ EMITMBC (0x147 ) EMITMBC (0x1e44 ) EMITMBC (0x1e48 )
777848 return OK ;
778849
779850 case 'O' : case 0322 : case 0323 : case 0324 : case 0325 :
780- case 0326 :
781- EMIT2 ('O' ); EMIT2 (0322 ); EMIT2 (0323 );
782- EMIT2 (0324 ); EMIT2 (0325 ); EMIT2 (0326 );
851+ case 0326 : case 0330 :
852+ CASEMBC (0x14c ) CASEMBC (0x14e ) CASEMBC (0x150 ) CASEMBC (0x1a0 )
853+ CASEMBC (0x1d1 ) CASEMBC (0x1ea ) CASEMBC (0x1ec ) CASEMBC (0x1ece )
854+ EMIT2 ('O' ); EMIT2 (0322 ); EMIT2 (0323 ); EMIT2 (0324 );
855+ EMIT2 (0325 ); EMIT2 (0326 ); EMIT2 (0330 );
856+ EMITMBC (0x14c ) EMITMBC (0x14e ) EMITMBC (0x150 )
857+ EMITMBC (0x1a0 ) EMITMBC (0x1d1 ) EMITMBC (0x1ea )
858+ EMITMBC (0x1ec ) EMITMBC (0x1ece )
859+ return OK ;
860+
861+ case 'P' : case 0x1e54 : case 0x1e56 :
862+ EMIT2 ('P' ); EMITMBC (0x1e54 ) EMITMBC (0x1e56 )
863+ return OK ;
864+
865+ case 'R' : CASEMBC (0x154 ) CASEMBC (0x156 ) CASEMBC (0x158 )
866+ CASEMBC (0x1e58 ) CASEMBC (0x1e5e )
867+ EMIT2 ('R' ); EMITMBC (0x154 ) EMITMBC (0x156 ) EMITMBC (0x158 )
868+ EMITMBC (0x1e58 ) EMITMBC (0x1e5e )
869+ return OK ;
870+
871+ case 'S' : CASEMBC (0x15a ) CASEMBC (0x15c ) CASEMBC (0x15e )
872+ CASEMBC (0x160 ) CASEMBC (0x1e60 )
873+ EMIT2 ('S' ); EMITMBC (0x15a ) EMITMBC (0x15c ) EMITMBC (0x15e )
874+ EMITMBC (0x160 ) EMITMBC (0x1e60 )
875+ return OK ;
876+
877+ case 'T' : CASEMBC (0x162 ) CASEMBC (0x164 ) CASEMBC (0x166 )
878+ CASEMBC (0x1e6a ) CASEMBC (0x1e6e )
879+ EMIT2 ('T' ); EMITMBC (0x162 ) EMITMBC (0x164 ) EMITMBC (0x166 )
880+ EMITMBC (0x1e6a ) EMITMBC (0x1e6e )
783881 return OK ;
784882
785883 case 'U' : case 0331 : case 0332 : case 0333 : case 0334 :
786- EMIT2 ('U' ); EMIT2 (0331 ); EMIT2 (0332 );
787- EMIT2 (0333 ); EMIT2 (0334 );
884+ CASEMBC (0x168 ) CASEMBC (0x16a ) CASEMBC (0x16c ) CASEMBC (0x16e )
885+ CASEMBC (0x170 ) CASEMBC (0x172 ) CASEMBC (0x1af ) CASEMBC (0x1d3 )
886+ CASEMBC (0x1ee6 )
887+ EMIT2 ('U' ); EMIT2 (0331 ); EMIT2 (0332 ); EMIT2 (0333 );
888+ EMIT2 (0334 ); EMITMBC (0x168 ) EMITMBC (0x16a )
889+ EMITMBC (0x16c ) EMITMBC (0x16e ) EMITMBC (0x170 )
890+ EMITMBC (0x172 ) EMITMBC (0x1af ) EMITMBC (0x1d3 )
891+ EMITMBC (0x1ee6 )
892+ return OK ;
893+
894+ case 'V' : CASEMBC (0x1e7c )
895+ EMIT2 ('V' ); EMITMBC (0x1e7c )
896+ return OK ;
897+
898+ case 'W' : CASEMBC (0x174 ) CASEMBC (0x1e80 ) CASEMBC (0x1e82 )
899+ CASEMBC (0x1e84 ) CASEMBC (0x1e86 )
900+ EMIT2 ('W' ); EMITMBC (0x174 ) EMITMBC (0x1e80 ) EMITMBC (0x1e82 )
901+ EMITMBC (0x1e84 ) EMITMBC (0x1e86 )
902+ return OK ;
903+
904+ case 'X' : CASEMBC (0x1e8a ) CASEMBC (0x1e8c )
905+ EMIT2 ('X' ); EMITMBC (0x1e8a ) EMITMBC (0x1e8c )
788906 return OK ;
789907
790908 case 'Y' : case 0335 :
791- EMIT2 ('Y' ); EMIT2 (0335 );
909+ CASEMBC (0x176 ) CASEMBC (0x178 ) CASEMBC (0x1e8e ) CASEMBC (0x1ef2 )
910+ CASEMBC (0x1ef6 ) CASEMBC (0x1ef8 )
911+ EMIT2 ('Y' ); EMIT2 (0335 ); EMITMBC (0x176 ) EMITMBC (0x178 )
912+ EMITMBC (0x1e8e ) EMITMBC (0x1ef2 ) EMITMBC (0x1ef6 )
913+ EMITMBC (0x1ef8 )
914+ return OK ;
915+
916+ case 'Z' : CASEMBC (0x179 ) CASEMBC (0x17b ) CASEMBC (0x17d )
917+ CASEMBC (0x1b5 ) CASEMBC (0x1e90 ) CASEMBC (0x1e94 )
918+ EMIT2 ('Z' ); EMITMBC (0x179 ) EMITMBC (0x17b ) EMITMBC (0x17d )
919+ EMITMBC (0x1b5 ) EMITMBC (0x1e90 ) EMITMBC (0x1e94 )
792920 return OK ;
793921
794922 case 'a' : case 0340 : case 0341 : case 0342 :
795923 case 0343 : case 0344 : case 0345 :
796- EMIT2 ('a' ); EMIT2 (0340 ); EMIT2 (0341 );
797- EMIT2 (0342 ); EMIT2 (0343 ); EMIT2 (0344 );
798- EMIT2 (0345 );
924+ CASEMBC (0x101 ) CASEMBC (0x103 ) CASEMBC (0x105 ) CASEMBC (0x1ce )
925+ CASEMBC (0x1df ) CASEMBC (0x1e1 ) CASEMBC (0x1ea3 )
926+ EMIT2 ('a' ); EMIT2 (0340 ); EMIT2 (0341 ); EMIT2 (0342 );
927+ EMIT2 (0343 ); EMIT2 (0344 ); EMIT2 (0345 );
928+ EMITMBC (0x101 ) EMITMBC (0x103 ) EMITMBC (0x105 )
929+ EMITMBC (0x1ce ) EMITMBC (0x1df ) EMITMBC (0x1e1 )
930+ EMITMBC (0x1ea3 )
931+ return OK ;
932+
933+ case 'b' : CASEMBC (0x1e03 ) CASEMBC (0x1e07 )
934+ EMIT2 ('b' ); EMITMBC (0x1e03 ) EMITMBC (0x1e07 )
799935 return OK ;
800936
801937 case 'c' : case 0347 :
802- EMIT2 ('c' ); EMIT2 (0347 );
938+ CASEMBC (0x107 ) CASEMBC (0x109 ) CASEMBC (0x10b ) CASEMBC (0x10d )
939+ EMIT2 ('c' ); EMIT2 (0347 ); EMITMBC (0x107 ) EMITMBC (0x109 )
940+ EMITMBC (0x10b ) EMITMBC (0x10d )
941+ return OK ;
942+
943+ case 'd' : CASEMBC (0x10f ) CASEMBC (0x111 ) CASEMBC (0x1d0b )
944+ CASEMBC (0x1e11 )
945+ EMIT2 ('d' ); EMITMBC (0x10f ) EMITMBC (0x111 ) EMITMBC (0x1e0b )
946+ EMITMBC (0x01e0f ) EMITMBC (0x1e11 )
803947 return OK ;
804948
805949 case 'e' : case 0350 : case 0351 : case 0352 : case 0353 :
806- EMIT2 ('e' ); EMIT2 (0350 ); EMIT2 (0351 );
807- EMIT2 (0352 ); EMIT2 (0353 );
950+ CASEMBC (0x113 ) CASEMBC (0x115 ) CASEMBC (0x117 ) CASEMBC (0x119 )
951+ CASEMBC (0x11b ) CASEMBC (0x1ebb ) CASEMBC (0x1ebd )
952+ EMIT2 ('e' ); EMIT2 (0350 ); EMIT2 (0351 ); EMIT2 (0352 );
953+ EMIT2 (0353 ); EMITMBC (0x113 ) EMITMBC (0x115 )
954+ EMITMBC (0x117 ) EMITMBC (0x119 ) EMITMBC (0x11b )
955+ EMITMBC (0x1ebb ) EMITMBC (0x1ebd )
956+ return OK ;
957+
958+ case 'f' : CASEMBC (0x1e1f )
959+ EMIT2 ('f' ); EMITMBC (0x1e1f )
960+ return OK ;
961+
962+ case 'g' : CASEMBC (0x11d ) CASEMBC (0x11f ) CASEMBC (0x121 )
963+ CASEMBC (0x123 ) CASEMBC (0x1e5 ) CASEMBC (0x1e7 ) CASEMBC (0x1f5 )
964+ CASEMBC (0x1e21 )
965+ EMIT2 ('g' ); EMITMBC (0x11d ) EMITMBC (0x11f ) EMITMBC (0x121 )
966+ EMITMBC (0x123 ) EMITMBC (0x1e5 ) EMITMBC (0x1e7 )
967+ EMITMBC (0x1f5 ) EMITMBC (0x1e21 )
968+ return OK ;
969+
970+ case 'h' : CASEMBC (0x125 ) CASEMBC (0x127 ) CASEMBC (0x1e23 )
971+ CASEMBC (0x1e27 ) CASEMBC (0x1e29 ) CASEMBC (0x1e96 )
972+ EMIT2 ('h' ); EMITMBC (0x125 ) EMITMBC (0x127 ) EMITMBC (0x1e23 )
973+ EMITMBC (0x1e27 ) EMITMBC (0x1e29 ) EMITMBC (0x1e96 )
808974 return OK ;
809975
810976 case 'i' : case 0354 : case 0355 : case 0356 : case 0357 :
811- EMIT2 ('i' ); EMIT2 (0354 ); EMIT2 (0355 );
812- EMIT2 (0356 ); EMIT2 (0357 );
977+ CASEMBC (0x129 ) CASEMBC (0x12b ) CASEMBC (0x12d ) CASEMBC (0x12f )
978+ CASEMBC (0x1d0 ) CASEMBC (0x1ec9 )
979+ EMIT2 ('i' ); EMIT2 (0354 ); EMIT2 (0355 ); EMIT2 (0356 );
980+ EMIT2 (0357 ); EMITMBC (0x129 ) EMITMBC (0x12b )
981+ EMITMBC (0x12d ) EMITMBC (0x12f ) EMITMBC (0x1d0 )
982+ EMITMBC (0x1ec9 )
983+ return OK ;
984+
985+ case 'j' : CASEMBC (0x135 ) CASEMBC (0x1f0 )
986+ EMIT2 ('j' ); EMITMBC (0x135 ) EMITMBC (0x1f0 )
987+ return OK ;
988+
989+ case 'k' : CASEMBC (0x137 ) CASEMBC (0x1e9 ) CASEMBC (0x1e31 )
990+ CASEMBC (0x1e35 )
991+ EMIT2 ('k' ); EMITMBC (0x137 ) EMITMBC (0x1e9 ) EMITMBC (0x1e31 )
992+ EMITMBC (0x1e35 )
993+ return OK ;
994+
995+ case 'l' : CASEMBC (0x13a ) CASEMBC (0x13c ) CASEMBC (0x13e )
996+ CASEMBC (0x140 ) CASEMBC (0x142 ) CASEMBC (0x1e3b )
997+ EMIT2 ('l' ); EMITMBC (0x13a ) EMITMBC (0x13c ) EMITMBC (0x13e )
998+ EMITMBC (0x140 ) EMITMBC (0x142 ) EMITMBC (0x1e3b )
999+ return OK ;
1000+
1001+ case 'm' : CASEMBC (0x1e3f ) CASEMBC (0x1e41 )
1002+ EMIT2 ('m' ); EMITMBC (0x1e3f ) EMITMBC (0x1e41 )
8131003 return OK ;
8141004
8151005 case 'n' : case 0361 :
816- EMIT2 ('n' ); EMIT2 (0361 );
1006+ CASEMBC (0x144 ) CASEMBC (0x146 ) CASEMBC (0x148 ) CASEMBC (0x149 )
1007+ CASEMBC (0x1e45 ) CASEMBC (0x1e49 )
1008+ EMIT2 ('n' ); EMIT2 (0361 ); EMITMBC (0x144 ) EMITMBC (0x146 )
1009+ EMITMBC (0x148 ) EMITMBC (0x149 ) EMITMBC (0x1e45 )
1010+ EMITMBC (0x1e49 )
8171011 return OK ;
8181012
8191013 case 'o' : case 0362 : case 0363 : case 0364 : case 0365 :
820- case 0366 :
821- EMIT2 ('o' ); EMIT2 (0362 ); EMIT2 (0363 );
822- EMIT2 (0364 ); EMIT2 (0365 ); EMIT2 (0366 );
1014+ case 0366 : case 0370 :
1015+ CASEMBC (0x14d ) CASEMBC (0x14f ) CASEMBC (0x151 ) CASEMBC (0x1a1 )
1016+ CASEMBC (0x1d2 ) CASEMBC (0x1eb ) CASEMBC (0x1ed ) CASEMBC (0x1ecf )
1017+ EMIT2 ('o' ); EMIT2 (0362 ); EMIT2 (0363 ); EMIT2 (0364 );
1018+ EMIT2 (0365 ); EMIT2 (0366 ); EMIT2 (0370 );
1019+ EMITMBC (0x14d ) EMITMBC (0x14f ) EMITMBC (0x151 )
1020+ EMITMBC (0x1a1 ) EMITMBC (0x1d2 ) EMITMBC (0x1eb )
1021+ EMITMBC (0x1ed ) EMITMBC (0x1ecf )
1022+ return OK ;
1023+
1024+ case 'p' : CASEMBC (0x1e55 ) CASEMBC (0x1e57 )
1025+ EMIT2 ('p' ); EMITMBC (0x1e55 ) EMITMBC (0x1e57 )
1026+ return OK ;
1027+
1028+ case 'r' : CASEMBC (0x155 ) CASEMBC (0x157 ) CASEMBC (0x159 )
1029+ CASEMBC (0x1e59 ) CASEMBC (0x1e5f )
1030+ EMIT2 ('r' ); EMITMBC (0x155 ) EMITMBC (0x157 ) EMITMBC (0x159 )
1031+ EMITMBC (0x1e59 ) EMITMBC (0x1e5f )
1032+ return OK ;
1033+
1034+ case 's' : CASEMBC (0x15b ) CASEMBC (0x15d ) CASEMBC (0x15f )
1035+ CASEMBC (0x161 ) CASEMBC (0x1e61 )
1036+ EMIT2 ('s' ); EMITMBC (0x15b ) EMITMBC (0x15d ) EMITMBC (0x15f )
1037+ EMITMBC (0x161 ) EMITMBC (0x1e61 )
1038+ return OK ;
1039+
1040+ case 't' : CASEMBC (0x163 ) CASEMBC (0x165 ) CASEMBC (0x167 )
1041+ CASEMBC (0x1e6b ) CASEMBC (0x1e6f ) CASEMBC (0x1e97 )
1042+ EMIT2 ('t' ); EMITMBC (0x163 ) EMITMBC (0x165 ) EMITMBC (0x167 )
1043+ EMITMBC (0x1e6b ) EMITMBC (0x1e6f ) EMITMBC (0x1e97 )
8231044 return OK ;
8241045
8251046 case 'u' : case 0371 : case 0372 : case 0373 : case 0374 :
826- EMIT2 ('u' ); EMIT2 (0371 ); EMIT2 (0372 );
827- EMIT2 (0373 ); EMIT2 (0374 );
1047+ CASEMBC (0x169 ) CASEMBC (0x16b ) CASEMBC (0x16d ) CASEMBC (0x16f )
1048+ CASEMBC (0x171 ) CASEMBC (0x173 ) CASEMBC (0x1b0 ) CASEMBC (0x1d4 )
1049+ CASEMBC (0x1ee7 )
1050+ EMIT2 ('u' ); EMIT2 (0371 ); EMIT2 (0372 ); EMIT2 (0373 );
1051+ EMIT2 (0374 ); EMITMBC (0x169 ) EMITMBC (0x16b )
1052+ EMITMBC (0x16d ) EMITMBC (0x16f ) EMITMBC (0x171 )
1053+ EMITMBC (0x173 ) EMITMBC (0x1b0 ) EMITMBC (0x1d4 )
1054+ EMITMBC (0x1ee7 )
1055+ return OK ;
1056+
1057+ case 'v' : CASEMBC (0x1e7d )
1058+ EMIT2 ('v' ); EMITMBC (0x1e7d )
1059+ return OK ;
1060+
1061+ case 'w' : CASEMBC (0x175 ) CASEMBC (0x1e81 ) CASEMBC (0x1e83 )
1062+ CASEMBC (0x1e85 ) CASEMBC (0x1e87 ) CASEMBC (0x1e98 )
1063+ EMIT2 ('w' ); EMITMBC (0x175 ) EMITMBC (0x1e81 ) EMITMBC (0x1e83 )
1064+ EMITMBC (0x1e85 ) EMITMBC (0x1e87 ) EMITMBC (0x1e98 )
1065+ return OK ;
1066+
1067+ case 'x' : CASEMBC (0x1e8b ) CASEMBC (0x1e8d )
1068+ EMIT2 ('x' ); EMITMBC (0x1e8b ) EMITMBC (0x1e8d )
8281069 return OK ;
8291070
8301071 case 'y' : case 0375 : case 0377 :
831- EMIT2 ('y' ); EMIT2 (0375 ); EMIT2 (0377 );
1072+ CASEMBC (0x177 ) CASEMBC (0x1e8f ) CASEMBC (0x1e99 )
1073+ CASEMBC (0x1ef3 ) CASEMBC (0x1ef7 ) CASEMBC (0x1ef9 )
1074+ EMIT2 ('y' ); EMIT2 (0375 ); EMIT2 (0377 ); EMITMBC (0x177 )
1075+ EMITMBC (0x1e8f ) EMITMBC (0x1e99 ) EMITMBC (0x1ef3 )
1076+ EMITMBC (0x1ef7 ) EMITMBC (0x1ef9 )
8321077 return OK ;
8331078
834- default :
835- return FAIL ;
1079+ case 'z' : CASEMBC (0x17a ) CASEMBC (0x17c ) CASEMBC (0x17e )
1080+ CASEMBC (0x1b6 ) CASEMBC (0x1e91 ) CASEMBC (0x1e95 )
1081+ EMIT2 ('z' ); EMITMBC (0x17a ) EMITMBC (0x17c ) EMITMBC (0x17e )
1082+ EMITMBC (0x1b6 ) EMITMBC (0x1e91 ) EMITMBC (0x1e95 )
1083+ return OK ;
1084+
1085+ /* default: character itself */
8361086 }
8371087 }
8381088
839- EMIT (c );
1089+ EMIT2 (c );
8401090 return OK ;
8411091#undef EMIT2
1092+ #undef EMITMBC
8421093 }
8431094
8441095/*
0 commit comments