add class

This commit is contained in:
Looly
2020-10-18 00:12:50 +08:00
parent 741babe2c8
commit 65552f4f54
19 changed files with 398 additions and 59 deletions

View File

@@ -233,6 +233,12 @@
<version>1.1.8</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.rnkrsoft.bopomofo4j</groupId>
<artifactId>bopomofo4j</artifactId>
<version>1.0.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>

View File

@@ -0,0 +1,43 @@
package cn.hutool.extra.pinyin.engine.bopomofo4j;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinEngine;
import com.rnkrsoft.bopomofo4j.Bopomofo4j;
import com.rnkrsoft.bopomofo4j.ToneType;
/**
* 封装了Bopomofo4j的引擎。
*
* <p>
* Bopomofo4j封装项目https://gitee.com/rnkrsoft/Bopomofo4j。
* </p>
*
* <p>
* 引入:
* <pre>
* &lt;dependency&gt;
* &lt;groupId&gt;com.rnkrsoft.bopomofo4j&lt;/groupId&gt;
* &lt;artifactId&gt;bopomofo4j&lt;/artifactId&gt;
* &lt;version&gt;1.0.0&lt;/version&gt;
* &lt;/dependency&gt;
* </pre>
*
* @author looly
* @since 5.4.5
*/
public class Bopomofo4jEngine implements PinyinEngine {
public Bopomofo4jEngine(){
Bopomofo4j.local();
}
@Override
public String getPinyin(char c) {
return Bopomofo4j.pinyin(String.valueOf(c), ToneType.WITHOUT_TONE, false, false, StrUtil.EMPTY);
}
@Override
public String getPinyin(String str, String separator) {
return Bopomofo4j.pinyin(str, ToneType.WITHOUT_TONE, false, false, separator);
}
}

View File

@@ -0,0 +1,20 @@
/**
* 封装了Bopomofo4j的引擎。
*
* <p>
* Bopomofo4j封装项目https://gitee.com/rnkrsoft/Bopomofo4j。
* </p>
*
* <p>
* 引入:
* <pre>
* &lt;dependency&gt;
* &lt;groupId&gt;com.rnkrsoft.bopomofo4j&lt;/groupId&gt;
* &lt;artifactId&gt;bopomofo4j&lt;/artifactId&gt;
* &lt;version&gt;1.0.0&lt;/version&gt;
* &lt;/dependency&gt;
* </pre>
*
* @author looly
*/
package cn.hutool.extra.pinyin.engine.bopomofo4j;

View File

@@ -1,3 +1,4 @@
cn.hutool.extra.pinyin.engine.tinypinyin.TinyPinyinEngine
cn.hutool.extra.pinyin.engine.jpinyin.JPinyinEngine
cn.hutool.extra.pinyin.engine.pinyin4j.Pinyin4jEngine
cn.hutool.extra.pinyin.engine.pinyin4j.Pinyin4jEngine
cn.hutool.extra.pinyin.engine.bopomofo4j.Bopomofo4jEngine

View File

@@ -1,5 +1,6 @@
package cn.hutool.extra.pinyin;
import cn.hutool.extra.pinyin.engine.bopomofo4j.Bopomofo4jEngine;
import cn.hutool.extra.pinyin.engine.pinyin4j.Pinyin4jEngine;
import org.junit.Assert;
import org.junit.Test;
@@ -19,6 +20,13 @@ public class PinyinUtilTest {
Assert.assertEquals("ni hao h", pinyin);
}
@Test
public void getPinyinByBopomofo4jTest() {
final Bopomofo4jEngine engine = new Bopomofo4jEngine();
final String pinyin = engine.getPinyin("你好h", " ");
Assert.assertEquals("ni haoh", pinyin);
}
@Test
public void getPinyinUpperCaseTest(){
final String pinyin = PinyinUtil.getPinyin("你好怡", " ");
@@ -37,4 +45,11 @@ public class PinyinUtilTest {
final String result = engine.getFirstLetter("林海", "");
Assert.assertEquals("lh", result);
}
@Test
public void getFirstLetterByBopomofo4jTest(){
final Bopomofo4jEngine engine = new Bopomofo4jEngine();
final String result = engine.getFirstLetter("林海", "");
Assert.assertEquals("lh", result);
}
}