/*
* Copyright (C) 2015.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3 or
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*/
package uk.me.parabola.mkgmap.osmstyle.actions;
import uk.me.parabola.imgfmt.app.labelenc.TableTransliterator;
import uk.me.parabola.imgfmt.app.labelenc.Transliterator;
import uk.me.parabola.mkgmap.reader.osm.Element;
/**
* Transliterate the string to ascii or latin.
*/
public class TransliterateFilter extends ValueFilter {
private static final Transliterator ASCII = new TableTransliterator("ascii");
private static final Transliterator LATIN1 = new TableTransliterator("latin1");
private final Transliterator trans;
public TransliterateFilter(String charset) {
if ("latin1".equals(charset))
trans = LATIN1;
else
trans = ASCII;
}
protected String doFilter(String value, Element el) {
return trans.transliterate(value);
}
}