package org.docear.plugin.core.util;
import java.util.HashMap;
import java.util.Map;
public class GeneralPunctuationFilter extends CharSequenceFilter {
public static Map<Character, Character> generalPunctionsMap = new HashMap<Character, Character>();
static {
generalPunctionsMap.put((char) 0x00B6,'\n'); //¶
generalPunctionsMap.put((char) 0x00A1,'!'); //¡
generalPunctionsMap.put((char) 0x00BF,'?'); //¿
generalPunctionsMap.put((char) 0x2039,'<'); //‹
generalPunctionsMap.put((char) 0x203A,'>'); //›
generalPunctionsMap.put((char) 0x00AB,'<'); //«
generalPunctionsMap.put((char) 0x00BB,'>'); //»
generalPunctionsMap.put((char) 0x2018,'\''); //‘
generalPunctionsMap.put((char) 0x2019,'\''); //’
generalPunctionsMap.put((char) 0x201A,'\''); //‚
generalPunctionsMap.put((char) 0x201C,'"'); //“
generalPunctionsMap.put((char) 0x201D,'"'); //”
generalPunctionsMap.put((char) 0x201E,'"'); //„
generalPunctionsMap.put((char) 0x201F,'"');
generalPunctionsMap.put((char) 0x2022,'-'); //•
//dashes and hyphens
//generalPunctionsMap.put((char) 0x00AD,'-'); //
generalPunctionsMap.put((char) 0x2010,'-');
generalPunctionsMap.put((char) 0x2011,'-');
generalPunctionsMap.put((char) 0x2012,'-');
generalPunctionsMap.put((char) 0x2013,'-'); //–
generalPunctionsMap.put((char) 0x2014,'-'); //—
generalPunctionsMap.put((char) 0x2015,'-');
}
public GeneralPunctuationFilter() {
this(null);
}
public GeneralPunctuationFilter(CharSequenceFilter filter) {
super(filter);
}
public Character filterCharacter(Character chr) {
if (generalPunctionsMap.containsKey(chr)) {
return generalPunctionsMap.get(chr);
}
return chr;
}
}