# cnchar **Repository Path**: runlib/cnchar ## Basic Information - **Project Name**: cnchar - **Description**: 功能全面的汉字工具库 (拼音 笔画 偏旁 成语 语音 可视化等) (Chinese character util) - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://theajack.gitee.io/cnchar - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 95 - **Created**: 2024-12-23 - **Last Updated**: 2024-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

test test test

stars forks version downloads jsdelivr

author license Size TopLang issue Dependent

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

**[English](https://github.com/theajack/cnchar/blob/master/README.en.md) | [在线试用/文档](https://theajack.github.io/cnchar) | [更新日志](https://github.com/theajack/cnchar/blob/master/helper/version.md) | [反馈错误/缺漏](https://github.com/theajack/cnchar/issues/new) | [Gitee](https://gitee.com/theajack/cnchar) | QQ Group: 958278438 | [留言板](https://theajack.github.io/message-board/?app=cnchar)** ### 应用例子 开始文档之前,先通过一些应用案例看看 cnchar 能够做些什么 [汉字打字游戏](https://theajack.github.io/type/) | [打字弹钢琴](https://theajack.github.io/piano/) | [成语接龙](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/idiom.js) | [通讯录排序](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/sort.js) | [取名字](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/name.js) | [输入法](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/input.js) | [歇后语](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/xhy.js) | [语音识别与合成](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/voice.js) | [简繁体转换](https://theajack.github.io/jsbox/?github=theajack.cnchar@master.helper/jsbox/trad.js) ## 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 词库来源于网络,虽然经过了本人的修改和扩充,但是还是难免有错误与缺漏之处,希望大家可以将使用中发现的错误与缺漏之处 [反馈](https://github.com/theajack/cnchar/issues/new) 给我(或自行修改提交,经过审查无误过后会合到 cnchar 中) [我要反馈错误或缺漏](https://github.com/theajack/cnchar/issues/new) ### 0. 快速使用 使用 npm 安装: ``` npm i cnchar ``` ```js import cnchar from 'cnchar'; '汉字'.spell(); '汉字'.stroke(); ``` 使用 script 标签使用: **如果 jsdelivr 挂了可以使用 unpkg (https://unpkg.com/cnchar/cnchar.min.js)** ```html ``` ### 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中维护,前往 [在线文档](https://theajack.github.io/cnchar/)** ### 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)** ```html ``` 或使用以下cdn,包含了以上所有插件库 ```html ``` ### 4.使用 #### 4.1 webpack浏览器环境(有window对象) npm 安装好几个库之后: ```js // 请保证最先引入 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()` 方法加载功能库: ```js // 请保证最先引入 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 文件: ```html ``` **致谢** `cnchar-draw` 库功能基于 [hanzi-writer](https://github.com/chanind/hanzi-writer), 特此表示感谢! **Contributors** [![](https://contrib.rocks/image?repo=theajack/cnchar)](https://github.com/theajack/cnchar/graphs/contributors)