* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* pinyin4j 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.
*
* You should have received a copy of the GNU General Public License
* along with pinyin4j.
*/
/**
*
*/
package net.sourceforge.pinyin4j;
/**
* The class describes variable Chinese Pinyin Romanization System
*
* @author Li Min (xmlerlimin@gmail.com)
*
*/
class PinyinRomanizationType
{
/**
* Hanyu Pinyin system
*/
static final PinyinRomanizationType HANYU_PINYIN = new PinyinRomanizationType("Hanyu");
/**
* Wade-Giles Pinyin system
*/
static final PinyinRomanizationType WADEGILES_PINYIN = new PinyinRomanizationType("Wade");
/**
* Mandarin Phonetic Symbols 2 (MPS2) Pinyin system
*/
static final PinyinRomanizationType MPS2_PINYIN = new PinyinRomanizationType("MPSII");
/**
* Yale Pinyin system
*/
static final PinyinRomanizationType YALE_PINYIN = new PinyinRomanizationType("Yale");
/**
* Tongyong Pinyin system
*/
static final PinyinRomanizationType TONGYONG_PINYIN = new PinyinRomanizationType("Tongyong");
/**
* Gwoyeu Romatzyh system
static final PinyinRomanizationType GWOYEU_ROMATZYH = new PinyinRomanizationType("Gwoyeu");
/**
* Constructor
*/
protected PinyinRomanizationType(String tagName)
{
setTagName(tagName);
}
/**
* @return Returns the tagName.
*/
String getTagName()
{
return tagName;
}
/**
* @param tagName
* The tagName to set.
*/
protected void setTagName(String tagName)
{
this.tagName = tagName;
}
protected String tagName;
}
我们使用的API demo如下:
[java]
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class MyPinyinDemo {
/**
* @param args
* @throws BadHanyuPinyinOutputFormatCombination
*/
public static void main(String[] args) throws BadHanyuPinyinOutputFormatCombination {
char chineseCharacter = "绿".charAt(0);
HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
outputFormat.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER); // 输出的声调为数字:第一声为1,第二声为2,第三声为3,第四声为4 如:lu:4
// outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); // 输出拼音不带声调 如:lu:
// outputFormat.setToneType(HanyuPinyinToneType.WITH_TONE_MARK); // 输出声调在拼音字母上 如:lǜ
outputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON); //ǜ的输出格式设置 'ü' 输出为 "u:"
// outputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE); //ǜ的输出格式设置 'ü' 输出为 "ü" in Unicode form
// outputFormat.setVCharType(HanyuPinyinVCharType.WITH_