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; } }