theajack / cnchar

🇨🇳 功能全面的汉字工具库 (拼音 笔画 偏旁 成语 语音 可视化等) (Chinese character util)

Home Page:https://theajack.github.io/cnchar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

test test test

stars forks version downloads jsdelivr

author license Size TopLang issue Dependent

🚀 功能全面、多端支持的汉字拼音笔画 js 库

English | 在线试用/文档 | 更新日志 | 反馈错误/缺漏 | Gitee | QQ Group: 958278438 | 留言板

应用例子

开始文档之前,先通过一些应用案例看看 cnchar 能够做些什么

汉字打字游戏 | 打字弹钢琴 | 成语接龙 | 通讯录排序 | 取名字 | 输入法 | 歇后语 | 语音识别与合成 | 简繁体转换

0. 赞助商

alins

Alins - 极致优雅的 JS UI 框架

赞赏

开源维护不易。如果该项目对您有帮助且您有余力,可以微信扫码请作者喝一杯可乐或咖啡,非常感谢!

如捐赠,请备注留一下github个人地址,后续会展示在此页中。

赞赏记录

注:最新统计时间为 2023/11/26,总金额=303元

昵称 金额(元) 时间 留言 渠道 作者备注
张金区 50 2023/11/26 - 微信赞赏码
- 100 2023/11/23 感谢无私奉献 微信赞赏码
- 20 2023/07/21 路漫漫其修远兮,开源上下求其索。 微信赞赏码
69247 1 2023/05/25 学生党给点微薄的赞助 微信赞赏码
江皓波 100 2023/05/05 draw对中学生学笔顺很有用,希望笔画能添加方向箭头。加油! 微信赞赏码
普通的disco 20 2023/04/01 大佬开源维护不易,加油!希望能有部首查字的功能~ 微信赞赏码 v3.2.4中已增加该功能
mango 5 2023/02/10 - 微信赞赏码
阿炜 5 2022/11/11 阿炜ky2700 微信赞赏码
slako 1 2022/10/20 不明觉厉 微信赞赏码
王三金 1 2022/10/16 - 微信赞赏码

前言

感谢同学们对于 cnchar 的支持,由于 cnchar 词库来源于网络,虽然经过了本人的修改和扩充,但是还是难免有错误与缺漏之处,希望大家可以将使用中发现的错误与缺漏之处 反馈 给我(或自行修改提交,经过审查无误过后会合到 cnchar 中)

我要反馈错误或缺漏

0. 快速使用

使用 npm 安装:

npm i cnchar
import cnchar from 'cnchar';
'汉字'.spell();
'汉字'.stroke();

使用 script 标签使用:

如果 jsdelivr 挂了可以使用 unpkg (https://unpkg.com/cnchar/cnchar.min.js)

<script src="https://fastly.jsdelivr.net/npm/cnchar/cnchar.min.js"></script>
<script>
    '汉字'.spell();
    '汉字'.stroke();
</script>

1.功能

  1. 获取 汉字拼音 ,支持首字母、大小写、数组分割、备选 多音字 等功能
  2. 支持 多音词拼音音调
  3. 获取汉字 笔画数笔画顺序 、笔画详细名称
  4. 支持可视化 绘制汉字笔画 、多种绘制模式可选
  5. 支持 语音合成语音识别
  6. 支持 汉字组词汉字解释
  7. 支持 简体字繁体字火星文 互转
  8. 支持 查找 某拼音的所有 汉字 ,繁体字,多音字
  9. 支持 查找 指定笔画数的所有 汉字 ,繁体字
  10. 支持 根据笔画顺序查询 汉字
  11. 支持 查询拼音的信息,包含声母、韵母、音调、音调位置的等
  12. 支持 繁体字 拼音、笔画数及以上所有功能,实现和简体字一样的功能
  13. 支持 成语 查询功能,可以按照汉字、拼音(声调)、笔画数查询成语
  14. 支持 歇后语 查询功能,支持模糊查询
  15. 支持 偏旁部首 查询功能
  16. 支持 随机生成 拼音、汉字、词语、成语、歇后语、中文名字
  17. 支持 汉字编码查询汉字信息查询
  18. 支持 拼音输入法五笔输入法、支持联想输入
  19. 支持 自定义插件,独立简单的接入方式,完整使用cnchar所有功能
  20. 支持 自定义 拼音笔画等数据,使用更灵活
  21. 对于部分大词典,支持 离线使用自定义部署
  22. 提供汉字工具方法,方便开发者更便捷高效地 操作拼音和汉字
  23. 体积小,min 版本仅 75 kb,zip 版本 50 kb (含有大量汉字拼音字典)
  24. 多端可用,可用于 浏览器、nodejs、小程序/小游戏、ReactNative/Weex/Uniapp/Electron、webpack...,支持所有 js 能运行的环境
  25. typescript,主库及所有插件库均使用typescript开发
  26. 丰富的配置,按功能拆分成插件,按需取用
  27. 支持 IE9及以上版本

2.功能及插件概览

考虑到不同的需求,cnchar 的功能被拆分到以下多个插件库中,方便开发者按需取用:

名称 描述 功能 支持版本 node支持 小程序
cnchar 主 js 库,其他三个库依赖于这个库 含有简体字拼音、多音字、音调、笔画数等功能 --
cnchar-poly 多音词库 含有识别多音词功能 --
cnchar-order 笔画顺序库 含有识别笔画顺序、笔画名称、笔画形状等功能 --
cnchar-trad 繁体字库 支持繁体、火星、简体互转,支持繁体拼音笔画多音字全功能 --
cnchar-draw 绘制笔画库 支持可视化绘制汉字,该库可脱离cnchar使用,该库仅在浏览器环境下可用 2.1+ 部分
cnchar-idiom 成语库 支持成语查询等功能 2.2+
cnchar-xhy 歇后语库 支持歇后语查询等功能 2.2+
cnchar-radical 偏旁部首库 支持查询汉字偏旁部首 2.2.5+
cnchar-words 汉字组词库 支持根据单个或多个汉字查询词组 3.1.0+
cnchar-explain 汉字解释库 支持查询汉字含义 3.1.0+
cnchar-voice 语音识别和语音合成 支持对中文进行发音与合成 3.1.0+ 部分
cnchar-data 离线词典库 用以支持部分插件库的离线使用及自定义部署 3.1.0+
cnchar-random 随机库 随机生成拼音、汉字、词语、成语、歇后语 3.2.0+
cnchar-input 输入法支持 支持拼音和五笔输入法结果 3.2.0+
cnchar-code 汉字编码库 汉字编码查询 3.2.0+
cnchar-info 汉字信息查询 用于查询汉字信息 3.2.0+
cnchar-name 中文名信息 用于随机生成名字等功能 3.2.0+

详细API文档从v3.2.4起不在该readme中维护,前往 在线文档

3.安装

3.1 使用 npm 安装

安装基础库:

npm i cnchar

安装附加功能库:

npm i cnchar-poly cnchar-order cnchar-trad cnchar-draw cnchar-idiom cnchar-xhy cnchar-radical cnchar-words cnchar-explain cnchar-voice cnchar-random cnchar-code cnchar-input cnchar-info cnchar-name

当然您也可以按需安装其中的几个,插件库也都可以脱离cnchar独立安装使用,不过部分仓库功能强依赖于cnchar, 如 cnchar-poly cnchar-order cnchar-trad

或者您可以通过安装cnchar-all来使用完整功能,这个库引用了上面的所有插件库

npm i cnchar-all

3.2 cdn 引入

如果 jsdelivr 挂了可以使用 unpkg (https://unpkg.com/cnchar/cnchar.min.js)

<script src="https://fastly.jsdelivr.net/npm/cnchar/cnchar.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-poly/cnchar.poly.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-order/cnchar.order.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-trad/cnchar.trad.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-draw/cnchar.draw.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-idiom/cnchar.idiom.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-xhy/cnchar.xhy.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-radical/cnchar.radical.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-words/cnchar.words.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-explain/cnchar.explain.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-voice/cnchar.voice.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-random/cnchar.random.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-code/cnchar.code.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-input/cnchar.input.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-info/cnchar.info.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-name/cnchar.name.min.js"></script>

或使用以下cdn,包含了以上所有插件库

<script src="https://fastly.jsdelivr.net/npm/cnchar-all/cnchar.all.min.js"></script>

4.使用

4.1 webpack浏览器环境(有window对象)

npm 安装好几个库之后:

// 请保证最先引入 cnchar 基础库,其他几个库顺序无所谓
import cnchar from 'cnchar';
import 'cnchar-poly';
// ... 其他插件请参考第二章 2. 功能及插件概览
// 插件请按需取用

console.log('汉字'.spell()); // prototype 方式调用
console.log(cnchar.spell('汉字')); // cnchar api 调用

浏览器环境下会在 window 对象上定义 cnchar 对象

4.2 nodejs 等非浏览器环境

非浏览器环境下需要使用 cnchar.use() 方法加载功能库:

// 请保证最先引入 cnchar 基础库,其他几个库顺序无所谓
var cnchar = require('cnchar');
var poly = require('cnchar-poly');
// ... 其他插件请参考第二章 2. 功能及插件概览
// 插件请按需取用
// 注:cnchar-draw,cnchar-voice 在非浏览器环境下不可使用
cnchar.use(poly);

console.log('汉字'.spell()); // prototype 方式调用
console.log(cnchar.spell('汉字')); // cnchar api 调用

其他使用方式与浏览器环境一致

4.3 原生浏览器环境

原生浏览器环境就需要使用 script 标签引入 js 文件:

<script src="https://fastly.jsdelivr.net/npm/cnchar/cnchar.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/cnchar-poly/cnchar.poly.min.js"></script>
<!--... 其他插件请参考第二章 2. 功能及插件概览-->
<script>
    console.log('汉字'.spell()); // prototype 方式调用
    console.log(cnchar.spell('汉字')); // cnchar api 调用
</script>

致谢

cnchar-draw 库功能基于 hanzi-writer, 特此表示感谢!

Contributors

About

🇨🇳 功能全面的汉字工具库 (拼音 笔画 偏旁 成语 语音 可视化等) (Chinese character util)

https://theajack.github.io/cnchar

License:MIT License


Languages

Language:TypeScript 83.0%Language:Vue 6.5%Language:JavaScript 5.8%Language:CSS 4.4%Language:Stylus 0.1%Language:Shell 0.1%