in src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java [574:599]
private int handleCH(final String value, final DoubleMetaphoneResult result, final int index) {
if (index > 0 && contains(value, index, 4, "CHAE")) { // Michael
result.append('K', 'X');
return index + 2;
}
if (conditionCH0(value, index)) {
//-- Greek roots ("chemistry", "chorus", etc.) --//
result.append('K');
return index + 2;
}
if (conditionCH1(value, index)) {
//-- Germanic, Greek, or otherwise 'ch' for 'kh' sound --//
result.append('K');
return index + 2;
}
if (index > 0) {
if (contains(value, 0, 2, "MC")) {
result.append('K');
} else {
result.append('X', 'K');
}
} else {
result.append('X');
}
return index + 2;
}