Home | History | Annotate | Download | only in language

Lines Matching refs:index

97         int index = isSilentStart(value) ? 1 : 0;
101 while (!result.isComplete() && index <= value.length() - 1) {
102 switch (value.charAt(index)) {
109 index = handleAEIOUY(value, result, index);
113 index = charAt(value, index + 1) == 'B' ? index + 2 : index + 1;
118 index++;
121 index = handleC(value, result, index);
124 index = handleD(value, result, index);
128 index = charAt(value, index + 1) == 'F' ? index + 2 : index + 1;
131 index = handleG(value, result, index, slavoGermanic);
134 index = handleH(value, result, index);
137 index = handleJ(value, result, index, slavoGermanic);
141 index = charAt(value, index + 1) == 'K' ? index + 2 : index + 1;
144 index = handleL(value, result, index);
148 index = conditionM0(value, index) ? index + 2 : index + 1;
152 index = charAt(value, index + 1) == 'N' ? index + 2 : index + 1;
157 index++;
160 index = handleP(value, result, index);
164 index = charAt(value, index + 1) == 'Q' ? index + 2 : index + 1;
167 index = handleR(value, result, index, slavoGermanic);
170 index = handleS(value, result, index, slavoGermanic);
173 index = handleT(value, result, index);
177 index = charAt(value, index + 1) == 'V' ? index + 2 : index + 1;
180 index = handleW(value, result, index);
183 index = handleX(value, result, index);
186 index = handleZ(value, result, index, slavoGermanic);
189 index++;
275 index) {
276 if (index == 0) {
279 return index + 1;
287 int index) {
288 if (conditionC0(value, index)) { // very confusing, moved out
290 index += 2;
291 } else if (index == 0 && contains(value, index, 6, "CAESAR")) {
293 index += 2;
294 } else if (contains(value, index, 2, "CH")) {
295 index = handleCH(value, result, index);
296 } else if (contains(value, index, 2, "CZ") &&
297 !contains(value, index - 2, 4, "WICZ")) {
300 index += 2;
301 } else if (contains(value, index + 1, 3, "CIA")) {
304 index += 3;
305 } else if (contains(value, index, 2, "CC") &&
306 !(index == 1 && charAt(value, 0) == 'M')) {
308 return handleCC(value, result, index);
309 } else if (contains(value, index, 2, "CK", "CG", "CQ")) {
311 index += 2;
312 } else if (contains(value, index, 2, "CI", "CE", "CY")) {
314 if (contains(value, index, 3, "CIO", "CIE", "CIA")) {
319 index += 2;
322 if (contains(value, index + 1, 2, " C", " Q", " G")) {
324 index += 3;
325 } else if (contains(value, index + 1, 1, "C", "K", "Q") &&
326 !contains(value, index + 1, 2, "CE", "CI")) {
327 index += 2;
329 index++;
333 return index;
341 int index) {
342 if (contains(value, index + 2, 1, "I", "E", "H") &&
343 !contains(value, index + 2, 2, "HU")) {
345 if ((index == 1 && charAt(value, index - 1) == 'A') ||
346 contains(value, index - 1, 5, "UCCEE", "UCCES")) {
353 index += 3;
356 index += 2;
359 return index;
367 int index) {
368 if (index > 0 && contains(value, index, 4, "CHAE")) { // Michael
370 return index + 2;
371 } else if (conditionCH0(value, index)) {
374 return index + 2;
375 } else if (conditionCH1(value, index)) {
378 return index + 2;
380 if (index > 0) {
389 return index + 2;
398 int index) {
399 if (contains(value, index, 2, "DG")) {
401 if (contains(value, index + 2, 1, "I", "E", "Y")) {
403 index += 3;
407 index += 2;
409 } else if (contains(value, index, 2, "DT", "DD")) {
411 index += 2;
414 index++;
416 return index;
424 int index,
426 if (charAt(value, index + 1) == 'H') {
427 index = handleGH(value, result, index);
428 } else if (charAt(value, index + 1) == 'N') {
429 if (index == 1 && isVowel(charAt(value, 0)) && !slavoGermanic) {
431 } else if (!contains(value, index + 2, 2, "EY") &&
432 charAt(value, index + 1) != 'Y' && !slavoGermanic) {
437 index = index + 2;
438 } else if (contains(value, index + 1, 2, "LI") && !slavoGermanic) {
440 index += 2;
441 } else if (index == 0 && (charAt(value, index + 1) == 'Y' || contains(value, index + 1, 2, ES_EP_EB_EL_EY_IB_IL_IN_IE_EI_ER))) {
444 index += 2;
445 } else if ((contains(value, index + 1, 2, "ER") ||
446 charAt(value, index + 1) == 'Y') &&
448 !contains(value, index - 1, 1, "E", "I") &&
449 !contains(value, index - 1, 3, "RGY", "OGY")) {
452 index += 2;
453 } else if (contains(value, index + 1, 1, "E", "I", "Y") ||
454 contains(value, index - 1, 4, "AGGI", "OGGI")) {
456 if ((contains(value, 0 ,4, "VAN ", "VON ") || contains(value, 0, 3, "SCH")) || contains(value, index + 1, 2, "ET")) {
459 } else if (contains(value, index + 1, 4, "IER")) {
464 index += 2;
465 } else if (charAt(value, index + 1) == 'G') {
466 index += 2;
469 index++;
472 return index;
480 int index) {
481 if (index > 0 && !isVowel(charAt(value, index - 1))) {
483 index += 2;
484 } else if (index == 0) {
485 if (charAt(value, index + 2) == 'I') {
490 index += 2;
491 } else if ((index > 1 && contains(value, index - 2, 1, "B", "H", "D")) ||
492 (index > 2 && contains(value, index - 3, 1, "B", "H", "D")) ||
493 (index > 3 && contains(value, index - 4, 1, "B", "H"))) {
495 index += 2;
497 if (index > 2 && charAt(value, index - 1) == 'U' &&
498 contains(value, index - 3, 1, "C", "G", "L", "R", "T")) {
501 } else if (index > 0 && charAt(value, index - 1) != 'I') {
504 index += 2;
506 return index;
514 int index) {
516 if ((index == 0 || isVowel(charAt(value, index - 1))) &&
517 isVowel(charAt(value, index + 1))) {
519 index += 2;
522 index++;
524 return index;
530 private int handleJ(String value, DoubleMetaphoneResult result, int index,
532 if (contains(value, index, 4, "JOSE") || contains(value, 0, 4, "SAN ")) {
534 if ((index == 0 && (charAt(value, index + 4) == ' ') ||
540 index++;
542 if (index == 0 && !contains(value, index, 4, "JOSE")) {
544 } else if (isVowel(charAt(value, index - 1)) && !slavoGermanic &&
545 (charAt(value, index + 1) == 'A' || charAt(value, index + 1) == 'O')) {
547 } else if (index == value.length() - 1) {
549 } else if (!contains(value, index + 1, 1, L_T_K_S_N_M_B_Z) && !contains(value, index - 1, 1, "S", "K", "L")) {
553 if (charAt(value, index + 1) == 'J') {
554 index += 2;
556 index++;
559 return index;
567 int index) {
569 if (charAt(value, index + 1) == 'L') {
570 if (conditionL0(value, index)) {
573 index += 2;
575 index++;
577 return index;
585 int index) {
586 if (charAt(value, index + 1) == 'H') {
588 index += 2;
591 index = contains(value, index + 1, 1, "P", "B") ? index + 2 : index + 1;
593 return index;
601 int index,
603 if (index == value.length() - 1 && !slavoGermanic &&
604 contains(value, index - 2, 2, "IE") &&
605 !contains(value, index - 4, 2, "ME", "MA")) {
610 return charAt(value, index + 1) == 'R' ? index + 2 : index + 1;
618 int index,
620 if (contains(value, index - 1, 3, "ISL", "YSL")) {
622 index++;
623 } else if (index == 0 && contains(value, index, 5, "SUGAR")) {
626 index++;
627 } else if (contains(value, index, 2, "SH")) {
628 if (contains(value, index + 1, 4,
635 index += 2;
636 } else if (contains(value, index, 3, "SIO", "SIA") || contains(value, index, 4, "SIAN")) {
643 index += 3;
644 } else if ((index == 0 && contains(value, index + 1, 1, "M", "N", "L", "W")) || contains(value, index + 1, 1, "Z")) {
650 index = contains(value, index + 1, 1, "Z") ? index + 2 : index + 1;
651 } else if (contains(value, index, 2, "SC")) {
652 index = handleSC(value, result, index);
654 if (index == value.length() - 1 && contains(value, index - 2,
661 index = contains(value, index + 1, 1, "S", "Z") ? index + 2 : index + 1;
663 return index;
671 int index) {
672 if (charAt(value, index + 2) == 'H') {
674 if (contains(value, index + 3,
677 if (contains(value, index + 3, 2, "ER", "EN")) {
684 if (index == 0 && !isVowel(charAt(value, 3)) && charAt(value, 3) != 'W') {
690 } else if (contains(value, index + 2, 1, "I", "E", "Y")) {
695 return index + 3;
703 int index) {
704 if (contains(value, index, 4, "TION")) {
706 index += 3;
707 } else if (contains(value, index, 3, "TIA", "TCH")) {
709 index += 3;
710 } else if (contains(value, index, 2, "TH") || contains(value, index,
712 if (contains(value, index + 2, 2, "OM", "AM") ||
720 index += 2;
723 index = contains(value, index + 1, 1, "T", "D") ? index + 2 : index + 1;
725 return index;
733 int index) {
734 if (contains(value, index, 2, "WR")) {
737 index += 2;
739 if (index == 0 && (isVowel(charAt(value, index + 1)) ||
740 contains(value, index, 2, "WH"))) {
741 if (isVowel(charAt(value, index + 1))) {
748 index++;
749 } else if ((index == value.length() - 1 && isVowel(charAt(value, index - 1))) ||
750 contains(value, index - 1,
755 index++;
756 } else if (contains(value, index, 4, "WICZ", "WITZ")) {
759 index += 4;
761 index++;
764 return index;
772 int index) {
773 if (index == 0) {
775 index++;
777 if (!((index == value.length() - 1) &&
778 (contains(value, index - 3, 3, "IAU", "EAU") ||
779 contains(value, index - 2, 2, "AU", "OU")))) {
783 index = contains(value, index + 1, 1, "C", "X") ? index + 2 : index + 1;
785 return index;
791 private int handleZ(String value, DoubleMetaphoneResult result, int index,
793 if (charAt(value, index + 1) == 'H') {
796 index += 2;
798 if (contains(value, index + 1, 2, "ZO", "ZI", "ZA") || (slavoGermanic && (index > 0 && charAt(value, index - 1) != 'T'))) {
803 index = charAt(value, index + 1) == 'Z' ? index + 2 : index + 1;
805 return index;
813 private boolean conditionC0(String value, int index) {
814 if (contains(value, index, 4, "CHIA")) {
816 } else if (index <= 1) {
818 } else if (isVowel(charAt(value, index - 2))) {
820 } else if (!contains(value, index - 1, 3, "ACH")) {
823 char c = charAt(value, index + 2);
825 || contains(value, index - 2, 6, "BACHER", "MACHER");
832 private boolean conditionCH0(String value, int index) {
833 if (index != 0) {
835 } else if (!contains(value, index + 1, 5, "HARAC", "HARIS") &&
836 !contains(value, index + 1, 3, "HOR", "HYM", "HIA", "HEM")) {
848 private boolean conditionCH1(String value, int index) {
851 contains(value, index - 2, 6, "ORCHES", "ARCHIT", "ORCHID") ||
852 contains(value, index + 2, 1, "T", "S") ||
853 ((contains(value, index - 1, 1, "A", "O", "U", "E") || index == 0) &&
854 (contains(value, index + 2, 1, L_R_N_M_B_H_F_V_W_SPACE) || index + 1 == value.length() - 1)));
860 private boolean conditionL0(String value, int index) {
861 if (index == value.length() - 3 &&
862 contains(value, index - 1, 4, "ILLO", "ILLA", "ALLE")) {
864 } else if ((contains(value, index - 1, 2, "AS", "OS") ||
866 contains(value, index - 1, 4, "ALLE")) {
876 private boolean conditionM0(String value, int index) {
877 if (charAt(value, index + 1) == 'M') {
880 return contains(value, index - 1, 3, "UMB")
881 && ((index + 1) == value.length() - 1 || contains(value,
882 index + 2, 2, "ER"));
934 * Gets the character at index <code>index</code> if available, otherwise
938 protected char charAt(String value, int index) {
939 if (index < 0 || index >= value.length()) {
942 return value.charAt(index);
1011 * at index <code>start</code> and matching up to length <code>length</code>