package com.kennycason.kumo.nlp.normalize;
/**
* Created by kenny on 7/1/14.
*/
public class UpsideDownNormalizer implements Normalizer {
private static final String normal = "abcdefghijklmnopqrstuvwxyz_,;.?!/\\'" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "0123456789";
private static final String split = "ɐqɔpǝɟbɥıظʞןɯuodbɹsʇnʌʍxʎz‾'؛˙¿¡/\\," + "∀qϽᗡƎℲƃHIſʞ˥WNOԀὉᴚS⊥∩ΛMXʎZ" + "0ƖᄅƐㄣϛ9ㄥ86";
@Override
public String normalize(final String text) {
final StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < text.length(); i++) {
final char letter = text.charAt(i);
final int index = normal.indexOf(letter);
stringBuilder.append((index != -1) ? split.charAt(index) : letter);
}
return stringBuilder.reverse().toString();
}
}