425 if (
StringAt(original, 0, 2,
"GN",
"KN",
"PN",
"WR",
"PS",
""))
429 if (
GetAt(original, 0) ==
'X')
439 if (current >= length)
442 switch (
GetAt(original, current))
465 if (
GetAt(original, current + 1) ==
'B')
480 && !
IsVowel(original, current - 2)
481 &&
StringAt(original, (current - 1), 3,
"ACH",
"")
482 && ((
GetAt(original, current + 2) !=
'I')
483 && ((
GetAt(original, current + 2) !=
'E')
484 ||
StringAt(original, (current - 2), 6,
"BACHER",
495 &&
StringAt(original, current, 6,
"CAESAR",
""))
504 if (
StringAt(original, current, 4,
"CHIA",
""))
512 if (
StringAt(original, current, 2,
"CH",
""))
516 &&
StringAt(original, current, 4,
"CHAE",
""))
526 && (
StringAt(original, (current + 1), 5,
527 "HARAC",
"HARIS",
"")
528 ||
StringAt(original, (current + 1), 3,
"HOR",
529 "HYM",
"HIA",
"HEM",
""))
530 && !
StringAt(original, 0, 5,
"CHORE",
""))
539 if ((
StringAt(original, 0, 4,
"VAN ",
"VON ",
"")
540 ||
StringAt(original, 0, 3,
"SCH",
""))
542 ||
StringAt(original, (current - 2), 6,
"ORCHES",
543 "ARCHIT",
"ORCHID",
"")
544 ||
StringAt(original, (current + 2), 1,
"T",
"S",
546 || ((
StringAt(original, (current - 1), 1,
547 "A",
"O",
"U",
"E",
"")
553 &&
StringAt(original, (current + 2), 1,
"L",
"R",
554 "N",
"M",
"B",
"H",
"F",
"V",
"W",
564 if (
StringAt(original, 0, 2,
"MC",
""))
586 if (
StringAt(original, current, 2,
"CZ",
"")
587 && !
StringAt(original, (current - 2), 4,
"WICZ",
""))
596 if (
StringAt(original, (current + 1), 3,
"CIA",
""))
605 if (
StringAt(original, current, 2,
"CC",
"")
606 && !((current == 1) && (
GetAt(original, 0) ==
'M')))
609 if (
StringAt(original, (current + 2), 1,
"I",
"E",
"H",
"")
610 && !
StringAt(original, (current + 2), 2,
"HU",
""))
614 && (
GetAt(original, current - 1) ==
'A'))
615 ||
StringAt(original, (current - 1), 5,
"UCCEE",
639 if (
StringAt(original, current, 2,
"CK",
"CG",
"CQ",
""))
647 if (
StringAt(original, current, 2,
"CI",
"CE",
"CY",
""))
651 (original, current, 3,
"CIO",
"CIE",
"CIA",
""))
670 if (
StringAt(original, (current + 1), 2,
" C",
" Q",
" G",
""))
672 else if (
StringAt(original, (current + 1), 1,
"C",
"K",
"Q",
"")
673 && !
StringAt(original, (current + 1), 2,
681 if (
StringAt(original, current, 2,
"DG",
""))
683 if (
StringAt(original, (current + 2), 1,
702 if (
StringAt(original, current, 2,
"DT",
"DD",
""))
717 if (
GetAt(original, current + 1) ==
'F')
726 if (
GetAt(original, current + 1) ==
'H')
728 if ((current > 0) && !
IsVowel(original, current - 1))
741 if (
GetAt(original, current + 2) ==
'I')
761 &&
StringAt(original, (current - 2), 1,
765 &&
StringAt(original, (current - 3), 1,
769 &&
StringAt(original, (current - 4), 1,
782 && (
GetAt(original, current - 1) ==
'U')
783 &&
StringAt(original, (current - 3), 1,
"C",
784 "G",
"L",
"R",
"T",
""))
789 else if ((current > 0)
790 &&
GetAt(original, current - 1) !=
'I')
803 if (
GetAt(original, current + 1) ==
'N')
805 if ((current == 1) &&
IsVowel(original, 0)
813 if (!
StringAt(original, (current + 2), 2,
"EY",
"")
814 && (
GetAt(original, current + 1) !=
'Y')
830 if (
StringAt(original, (current + 1), 2,
"LI",
"")
841 && ((
GetAt(original, current + 1) ==
'Y')
842 ||
StringAt(original, (current + 1), 2,
"ES",
"EP",
843 "EB",
"EL",
"EY",
"IB",
"IL",
"IN",
"IE",
853 if ((
StringAt(original, (current + 1), 2,
"ER",
"")
854 || (
GetAt(original, current + 1) ==
'Y'))
856 "DANGER",
"RANGER",
"MANGER",
"")
857 && !
StringAt(original, (current - 1), 1,
"E",
"I",
"")
858 && !
StringAt(original, (current - 1), 3,
"RGY",
"OGY",
""))
867 if (
StringAt(original, (current + 1), 1,
"E",
"I",
"Y",
"")
868 ||
StringAt(original, (current - 1), 4,
872 if ((
StringAt(original, 0, 4,
"VAN ",
"VON ",
"")
873 ||
StringAt(original, 0, 3,
"SCH",
""))
874 ||
StringAt(original, (current + 1), 2,
"ET",
""))
883 (original, (current + 1), 4,
"IER ",
""))
898 if (
GetAt(original, current + 1) ==
'G')
908 if (((current == 0) ||
IsVowel(original, current - 1))
909 &&
IsVowel(original, current + 1))
922 if (
StringAt(original, current, 4,
"JOSE",
"")
923 ||
StringAt(original, 0, 4,
"SAN ",
""))
926 && (
GetAt(original, current + 4) ==
' '))
927 ||
StringAt(original, 0, 4,
"SAN ",
""))
942 && !
StringAt(original, current, 4,
"JOSE",
""))
950 if (
IsVowel(original, current - 1)
952 && ((
GetAt(original, current + 1) ==
'A')
953 || (
GetAt(original, current + 1) ==
'O')))
967 if (!
StringAt(original, (current + 1), 1,
"L",
"T",
968 "K",
"S",
"N",
"M",
"B",
"Z",
"")
969 && !
StringAt(original, (current - 1), 1,
979 if (
GetAt(original, current + 1) ==
'J')
986 if (
GetAt(original, current + 1) ==
'K')
995 if (
GetAt(original, current + 1) ==
'L')
998 if (((current == (length - 3))
999 &&
StringAt(original, (current - 1), 4,
"ILLO",
1000 "ILLA",
"ALLE",
""))
1001 || ((
StringAt(original, (last - 1), 2,
"AS",
"OS",
"")
1002 ||
StringAt(original, last, 1,
"A",
"O",
""))
1003 &&
StringAt(original, (current - 1), 4,
1020 if ((
StringAt(original, (current - 1), 3,
"UMB",
"")
1021 && (((current + 1) == last)
1022 ||
StringAt(original, (current + 2), 2,
"ER",
"")))
1024 || (
GetAt(original, current + 1) ==
'M'))
1033 if (
GetAt(original, current + 1) ==
'N')
1048 if (
GetAt(original, current + 1) ==
'H')
1057 if (
StringAt(original, (current + 1), 1,
"P",
"B",
""))
1066 if (
GetAt(original, current + 1) ==
'Q')
1076 if ((current == last)
1078 &&
StringAt(original, (current - 2), 2,
"IE",
"")
1079 && !
StringAt(original, (current - 4), 2,
"ME",
"MA",
""))
1090 if (
GetAt(original, current + 1) ==
'R')
1098 if (
StringAt(original, (current - 1), 3,
"ISL",
"YSL",
""))
1106 &&
StringAt(original, current, 5,
"SUGAR",
""))
1114 if (
StringAt(original, current, 2,
"SH",
""))
1118 (original, (current + 1), 4,
"HEIM",
"HOEK",
"HOLM",
1134 if (
StringAt(original, current, 3,
"SIO",
"SIA",
"")
1135 ||
StringAt(original, current, 4,
"SIAN",
""))
1157 &&
StringAt(original, (current + 1), 1,
1158 "M",
"N",
"L",
"W",
""))
1159 ||
StringAt(original, (current + 1), 1,
"Z",
""))
1163 if (
StringAt(original, (current + 1), 1,
"Z",
""))
1170 if (
StringAt(original, current, 2,
"SC",
""))
1173 if (
GetAt(original, current + 2) ==
'H')
1176 if (
StringAt(original, (current + 3), 2,
1178 "UY",
"ED",
"EM",
""))
1181 if (
StringAt(original, (current + 3), 2,
1197 if ((current == 0) && !
IsVowel(original, 3)
1198 && (
GetAt(original, 3) !=
'W'))
1213 if (
StringAt(original, (current + 2), 1,
1229 if ((current == last)
1230 &&
StringAt(original, (current - 2), 2,
"AI",
"OI",
""))
1241 if (
StringAt(original, (current + 1), 1,
"S",
"Z",
""))
1248 if (
StringAt(original, current, 4,
"TION",
""))
1256 if (
StringAt(original, current, 3,
"TIA",
"TCH",
""))
1264 if (
StringAt(original, current, 2,
"TH",
"")
1265 ||
StringAt(original, current, 3,
"TTH",
""))
1268 if (
StringAt(original, (current + 2), 2,
"OM",
"AM",
"")
1269 ||
StringAt(original, 0, 4,
"VAN ",
"VON ",
"")
1270 ||
StringAt(original, 0, 3,
"SCH",
""))
1284 if (
StringAt(original, (current + 1), 1,
"T",
"D",
""))
1293 if (
GetAt(original, current + 1) ==
'V')
1303 if (
StringAt(original, current, 2,
"WR",
""))
1312 && (
IsVowel(original, current + 1)
1313 ||
StringAt(original, current, 2,
"WH",
"")))
1316 if (
IsVowel(original, current + 1))
1330 if (((current == last) &&
IsVowel(original, current - 1))
1331 ||
StringAt(original, (current - 1), 5,
"EWSKI",
"EWSKY",
1332 "OWSKI",
"OWSKY",
"")
1333 ||
StringAt(original, 0, 3,
"SCH",
""))
1342 if (
StringAt(original, current, 4,
"WICZ",
"WITZ",
""))
1356 if (!((current == last)
1357 && (
StringAt(original, (current - 3), 3,
1359 ||
StringAt(original, (current - 2), 2,
1367 if (
StringAt(original, (current + 1), 1,
"C",
"X",
""))
1375 if (
GetAt(original, current + 1) ==
'H')
1382 else if (
StringAt(original, (current + 1), 2,
1383 "ZO",
"ZI",
"ZA",
"")
1386 &&
GetAt(original, current - 1) !=
'T')))
1397 if (
GetAt(original, current + 1) ==
'Z')
1415 SetAt(primary, 4,
'\0');