GitHub - theajack/cnchar: 🇨🇳 功能全面的汉字工具库 (拼音 笔画 偏旁 成语 语音 可视化等) (Chinese character util)
🚀 功能全面、多端支持的汉字拼音笔画 js 库 English | 在线试用/文档 | 更新日志 | 反馈错误/缺漏 | Gitee | QQ Group: 958278438 | 留言板 Like this open source work? A small contribution keeps the project alive. 应用例子 开始文档之前,先通过一些应用案例看看 cnchar 能够做些什么 汉字打字游戏 | 打字弹钢琴 | 成语接龙 | 通讯录排序 | 取名字 | 输入法 | 歇后语 |
社区作者 · zZz
它解决什么问题
🚀 功能全面、多端支持的汉字拼音笔画 js 库
English | 在线试用/文档 | 更新日志 | 反馈错误/缺漏 | Gitee | QQ Group: 958278438 | 留言板
Like this open source work? A small contribution keeps the project alive.
应用例子
开始文档之前,先通过一些应用案例看看 cnchar 能够做些什么
汉字打字游戏 | 打字弹钢琴 | 成语接龙 | 通讯录排序 | 取名字 | 输入法 | 歇后语 | 语音识别与合成 | 简繁体转换
展开目录
- Sponsors
- 应用例子
- 前言
- 0.快速使用
- 1.功能
- 2.功能及插件概览
- 3.安装
- 3.1 使用 npm 安装
- 3.2 cdn 引入
- 4.使用
- 4.1 webpack浏览器环境(有window对象)
- 4.2 nodejs 等非浏览器环境
- 4.3 原生浏览器环境
- 5.API
- 5.1 拼音笔画基础 API: spell & stroke
- 5.2 可视化绘制汉字: draw
- 5.2.1 使用
- 5.2.2 参数
- 5.2.3 绘制控制api
- 5.2.3.1 startAnimation
- 5.2.3.2 pauseAnimation & resumeAnimation
- 5.2.3.3 drawNextStroke
- 5.2.4 微信小程序中使用
- 5.2.5 其他api
- 5.3 繁体、简体、火星文互转: convert
- 5.4 笔画序列推出原汉字: orderToWord
- 5.5 通过拼音查询原汉字: spellToWord
- 5.6 通过笔画数查询原汉字: strokeToWord
- 5.7 成语功能
- 5.8 歇后语功能
- 5.9 偏旁部首功能
- 5.10 组词功能
- 5.11 查询解释功能
- 5.12 发音、语音合成和语音识别
- 5.12.1 voice api
- 5.12.2 speak api
- 5.12.2 regonize api
- 5.13 汉字、拼音工具方法
- 5.13.1 查询拼音详细信息: spellInfo
- 5.13.2 拼音音调操作: transformTone
- 5.13.3 是否是汉字: isCnChar
- 5.13.4 是否是多音字: isPolyWord
- 5.13.5 比较拼音(汉字)大小: compareSpell
- 5.13.6 比较汉字笔画数大小: compareStroke
- 5.13.7 根据拼音排序: sortSpell
- 5.13.8 根据笔画数排序: sortStroke
- 5.13.9 将数字表示的声调转为拼音声调: shapeSpell
- 5.13.10 判断拼音是否有音调: hasTone
- 5.14 自定义数据
- 5.14.1 setSpell
- 5.14.2 setSpellDefault
- 5.14.3 setStrokeCount
- 5.14.4 setPolyPhrase
- 5.14.5 setOrder
- 5.14.6 setRadical
- 5.14.7 addXhy
- 5.14.8 addWords
- 5.14.9 addExplain
- 5.14.10 addVoice
- 5.15 其他 api
- 5.15.1 .use()
- 5.15.2 .type
- 5.15.3 .check
- 5.15.4 .version & env
- 5.15.5 .plugins
- 5.16 离线使用
- 5.17 自定义插件
- 5.17.1 pluginName属性
- 5.17.2 install属性
- 5.17.3 getCnChar
- 5.17.4 js定义插件
- 5.17.5 ts定义插件
- 6.参数介绍
- 6.1 spell 参数
- 6.2 stroke 参数
- 6.3 orderToWord 参数
- 6.4 spellToWord 参数
- 6.5 strokeToWord 参数
- 6.6 idiom 参数
- 6.7 xhy 参数
- 6.8 radical 参数
- 6.9 words 与 explain 参数
- 6.10 使用实例大全:
- 6.10.0 安装使用
- 6.10.1 cnchar 基础库功能
- 6.10.2 cnchar-poly 库功能
- 6.10.3 cnchar-order 库功能
- 6.10.4 cnchar-trad 库功能
- 6.10.4.1 convert 字体转换
- 6.10.4.2 spell 和 stroke 方法
- 6.10.5 cnchar-idiom 库功能
- 6.10.6 cnchar-xhy 库功能
- 6.10.7 cnchar-radical 库功能
- 6.10.8 cnchar-words
- 6.10.8 cnchar-explain
- 6.10.10 cnchar-voice
- 6.10.11 工具方法
- 6.10.11.1 spellInfo
- 6.10.11.2 isCnChar
- 6.10.11.3 transformTone
- 6.10.11.4 compareSpell
- 6.10.11.5 compareStroke
- 6.10.11.6 sortSpell
- 6.10.11.7 sortStroke
- 6.10.11.8 isPolyWord
- 6.10.11.9 shapeSpell
- 6.10.11.10 setSpell
- 6.10.11.11 setSpellDefault
- 6.10.11.12 setStrokeCount
- 6.10.11.13 setOrder
- 6.10.11.14 setPolyPhrase
- 6.10.11.15 setRadical
- 6.10.11.16 addXhy
前言
感谢同学们对于 cnchar 的支持,由于 cnchar 词库来源于网络,虽然经过了本人的修改和扩充,但是还是难免有错误与缺漏之处,希望大家可以将使用中发现的错误与缺漏之处 反馈 给我(或自行修改提交,经过审查无误过后会合到 cnchar 中)
我要反馈错误或缺漏
关于该文档
由于文档较长,做一下简介,请按照需要阅读
- 第零章可以帮助开发者快速接入cnchar
- 第一、二章介绍了cnchar的功能及其功能库
- 第三章介绍了cnchar的安装和使用
- 第四章介绍了各种不同环境下cnchar的使用差异
- 第五章详细介绍了cnchar及其功能库的API使用
- 第六章列举了各个方法的参数和大量的cnchar使用实例
另外,由于插件较多,编写文档工作量巨大,如有遗漏请参考 cnchar-types 定义。也欢迎大家一起帮忙完善文档
0.快速使用
使用 npm 安装:
npm i cncharimport 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.功能
- 获取 汉字拼音 ,支持首字母、大小写、数组分割、备选 多音字 等功能
- 支持 多音词 、 拼音音调
- 获取汉字 笔画数 、 笔画顺序 、笔画详细名称
- 支持可视化 绘制汉字笔画 、多种绘制模式可选
- 支持 语音合成 和 语音识别
- 支持 汉字组词 和 汉字解释
- 支持 简体字 、 繁体字 、 火星文 互转
- 支持 查找 某拼音的所有 汉字 ,繁体字,多音字
- 支持 查找 指定笔画数的所有 汉字 ,繁体字
- 支持 根据笔画顺序查询 汉字
- 支持 查询拼音的信息 ,包含声母、韵母、音调、音调位置的等
- 支持 繁体字 拼音、笔画数及以上所有功能,实现和简体字一样的功能
- 支持 成语 查询功能,可以按照汉字、拼音(声调)、笔画数查询成语
- 支持 歇后语 查询功能,支持模糊查询
- 支持 偏旁部首 查询功能
- 支持 随机生成 拼音、汉字、词语、成语、歇后语、中文名字
- 支持 汉字编码查询 、 汉字信息查询
- 支持 拼音输入法 、 五笔输入法 、支持联想输入
- 支持 自定义插件 ,独立简单的接入方式,完整使用cnchar所有功能
- 支持 自定义 拼音笔画等数据,使用更灵活
- 对于部分大词典,支持 离线使用 、 自定义部署
- 提供汉字工具方法,方便开发者更便捷高效地 操作拼音和汉字
- 体积小 ,min 版本仅 75 kb,zip 版本 50 kb (含有大量汉字拼音字典)
- 多端可用 ,可用于 浏览器、nodejs、小程序/小游戏、ReactNative/Weex/Uniapp/Electron、webpack ...,支持所有 js 能运行的环境
- typescript ,主库及所有插件库均使用typescript开发
- 丰富的配置,按功能拆分成插件,按需取用
- 支持 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+ 是 是
以下插件库文档不在本readme中维护,请参考以下地址 或前往 在线文档 :
- cnchar-random
- cnchar-input
- cnchar-code
- cnchar-info
- cnchar-name
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-all3.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 >
5.API
类型声明: cnchar-types
注:该章节仅介绍API用法,更多使用实例请参考第六章
5.1 拼音笔画基础 API: spell & stroke
为了尽可能使 api 使用简单,该库设计了两个主要的非常简洁的 api,并保证调用方式一致:
// 获取汉字的拼音、多音词、音调等都集成在以下方法上 cnchar . spell ( string [ , ... args ] ) ; // 或 string . spell ( [ ... args ] )
// 获取汉字的笔画、笔画顺序等都集成在以下方法上 cnchar . stroke ( string [ , ... args ] ) ; // 或 string . stroke ( [ ... args ] )
该 api 设计一致, string 表示要处理的汉字字符串
关键在于可选参数的配置,参数配置将在 第六章 单独介绍
5.2 可视化绘制汉字: draw
类型声明: cnchar.draw.d.ts
cnchar-draw 库用于支持在浏览器环境下可视化绘制汉字,所以该库仅在浏览器环境下可用。绘制模式有 normal,animation,stroke,test 四种模式可选。
5.2.1 使用
使用方式如下:
cnchar . draw ( '你好' , options ) ; // options 为可选参数, 在5.2.2 种会详细介绍
运行结果如下:
该库支持脱离cnchar 独立使用
import draw from 'cnchar-draw' ; draw ( '你好' )
使用cdn引用时,会在window对向上暴露 CncharDraw 对象
5.2.2 参数
draw 的参数比较繁多,首先需要理解的是,draw 分为四种绘制模式:
- normal: 常规绘制
- animation: 带有绘制动画,支持连续绘制、同时绘制、循环绘制
- stroke: 按汉字笔顺单步绘制
- test: 测试模式,用户可以在容器内绘制汉字,cnchar-draw会检测是否绘制正确
以下是 options 的所有可选参数及描述,使用详情请参考 在线文档 :
declare interface DrawOption { el ?: string | HTMLElement ; // 绘制的容器,支持选择器或dom,若是不填,会在body后append一个dom作为容器 type ?: DrawType ; // 绘制模式,默认为normal clear ?: boolean ; // 绘制前是否清空容器 默认为true style ?: { // 样式类 backgroundColor ?: string , // 默认为#fff showOutline ?
: boolean ; //: true, showCharacter ?: boolean ; //: true, currentColor ?: string ; //: '#b44', // 仅在stroke模式下有效 length ?: number ; //: 60, padding ?: number ; //: 5, // 数值, 默认 20。 画布的汉字和边缘之间的填充 outlineColor ?: string ; //: '#ddd', // 十六进制字符, 默认 '#DDD'。
strokeColor ?: string ; //: '#555', // 十六进制字符, 默认 '#555'。绘制每个笔划的颜色。 radicalColor ?: string ; //: null, // 十六进制字符, 默认 null。 如果存在偏旁部首数据,则在笔划中绘制偏旁部首的颜色。 如果没有设置,激光将绘制与其他笔划相同的颜色。 strokeFadeDuration ?: number ; //400 } , line ?: { // 背景线条类 lineStraight ?
: boolean ; // : true, lineCross ?: boolean ; // : true, lineWidth ?: number ; // : 1, lineColor ?: string ; // : '#ddd', lineDash ?: boolean ; // : true, border ?: boolean ; // : true, borderWidth ?: number ; // : 1, borderColor ?
: string ; // : '#ccc', borderDash ?: boolean ; // : false, } , animation ?: { strokeAnimationSpeed ?: number ; // : 1, // 数值, 默认 1。 绘制每个笔划的速度必须大于0。增加此数字可以更快地绘制笔划,减少绘制笔划的速度更慢。 delayBetweenStrokes ?: number ; // : 1000, // 数值, 默认 1000。 动画进行中每个笔画之间的间隔时间(以毫秒为单位)。
delayBetweenLoops ?: number ; // : 200, // 数值, 默认 2000。 循环动画时每个动画循环之间的时间(以毫秒为单位)。 autoAnimate ?: boolean ; // : true, animateComplete ?: Function ; // : () => {}, stepByStep ?: boolean ; // : true, loopAnimate ?: boolean ; // : false, } , test ?
: { strokeHighlightSpeed ?: number ; // : 20, // 数值, 默认 20。 在测验中给出提示时突出显示每个笔划的速度必须大于0。增加此数字以突出显示更快,减少以突出显示更慢。 highlightColor ?: number ; // : '#aaf', // 十六进制字符, 默认 '#AAF'。 用于在测验中突出显示的颜色。 drawingColor ?: number ; // : '#333', // 十六进制字符, 默认 '#333'。 测验期间绘制的线条颜色。
drawingWidth ?: number ; // : 4, // 数值, 默认 4。 进行测验时绘制的线条宽度。 showHintAfterMisses ?: number ; // : 3, // 整数, 默认 3 中风高亮提示之前的未命中数被给予用户。 设置为 false 以禁用。 创建测验时也可以设置此项。 highlightOnComplete ?: number ; // : true, // 布尔值, 默认 true。 控制当用户完成绘制整个字符时,测验是否会短暂突出显示字符。
创建测验时也可以设置此项。 highlightCompleteColor ?: number ; // : null, // 十六进制字符, 默认 null。 在测验中突出显示字符时使用的颜色。 如果未设置,则将使用highlightColor。 仅当highlightOnComplete为true时才相关。 onTestStatus ? ( args : TestStatus ) : void ; // : null, // ({index, status, data})=>{} } } ;
5.2.3 绘制控制api
cnchar.draw 方法会返回一个 writer 对象
declare interface IWriter { option : IDrawOption ; el : HTMLElement ; type : TDrawType ; text : Array < string > ; writers : Array < HanziWriter > ; startAnimation ( ) : boolean ; pauseAnimation ( ) : void ; resumeAnimation ( ) : void ; drawNextStroke ( onComplete ?
: ( ) => void ) : boolean ; }
当 drawType = animation 时,以下几个api可以用户控制动画
绘制模式分为 连续绘制 和 单笔画绘制 ,默认为连续绘制模式
单笔划绘制模式需要 option.animation.autoAnimate = false 且调用 drawNextStroke 方法
5.2.3.1 startAnimation
当 option.animation.autoAnimate = false 时,调用该api可以开始绘制,且开启 动连续绘制模式
const writer = cnchar . draw ( '你好' , { type : cnchar . draw . TYPE . ANIMATION , animation : { autoAnimate : false , } } ) ;
writer . startAnimation ( ) ;
5.2.3.2 pauseAnimation & resumeAnimation
当处于 连续绘制模式 时,调用这两个api可以暂停绘制和恢复绘制
const writer = cnchar . draw ( '你好' , { type : cnchar . draw . TYPE . ANIMATION } ) ;
writer . pauseAnimation ( ) ; writer . resumeAnimation ( ) ;
5.2.3.3 drawNextStroke
该 api 用于开启 单笔绘制模式
首先需要使用参数 option.animation.autoAnimate = false
const writer = cnchar . draw ( '你好' , { type : cnchar . draw . TYPE . ANIMATION , animation : { autoAnimate : false , } } ) ;
writer . drawNextStroke ( ( ) => { // 当前笔画绘制完成的回调 } ) ;
5.2.4 微信小程序中使用
该库由 HanziWriter 驱动,目前仅支持在web环境下使用,如需微信小程序使用请参考 hanzi-writer-miniprogram
5.2.5 其他api
- 绘制汉字绘制库中不存在的回调
cnchar . draw . onWordNotFound ( word => { console . log ( word ) ; } ) ;
5.3 繁体、简体、火星文互转: convert
当引入 cnchar-trad 之后,cnchar 就具备了繁体、简体、火星文互转功能,使用 cnchar.convert 对象上的方法,你就可以使用这个功能
自从 v2.0.4 以后,cnchar 保留以下方法可供使用:
cnchar . convert . simpleToTrad ( string ) ; // 简体 => 繁体 cnchar . convert . simpleToSpark ( string ) ; // 简体 => 火星文 cnchar . convert . tradToSimple ( string ) ; // 繁体 => 简体 cnchar . convert . tradToSpark ( string ) ; // 繁体 => 火星文 cnchar . convert .
sparkToSimple ( string ) ; // 火星文 => 简体 cnchar . convert . sparkToTrad ( string ) ; // 火星文 => 繁体
string . convertSimpleToTrad ( ) ; string . convertSimpleToSpark ( ) ; string . convertTradToSimple ( ) ; string . convertTradToSpark ( ) ; string . convertSparkToSimple ( ) ; string . convertSparkToTrad ( ) ;
5.4 笔画序列推出原汉字: orderToWord
当引入 cnchar-order 功能库(版本 2.0.2 及以上)之后,cnchar 就支持了根据笔画名称序列推出原汉字的功能,使用方式如下:
cnchar . orderToWord ( orderNames [ , ... args ] ) ;
orderNames 是笔画名称序列
args 是参数列表,可选值有 ['match','matchorder','contain','start','array','simple'] , 使用 cnchar.type.orderToWord 可以查看可选值。 参数详细使用方法请参见 第六章 orderToWord 参数
orderNames 可以是空格分隔的笔画名称字符串或笔画名称数组,可用的笔画名称可以通过以下 api 查看
var dict = cnchar . orderToWord . orders ; // dict 是一个包含所有笔画数的详细信息的json数据
笔画详细信息的如下,orderNames 只需要传入笔画名称即可,也就是下面 json 数据的 key 值
{ 卧钩: { shape : "㇃" , letter : "y" , sameLetterTo : "斜钩" } 弯钩: { shape : "㇁" , letter : "t" } 捺: { shape : "㇏" , letter : "l" } 提: { shape : "㇀" , letter : "i" } 撇: { shape : "丿" , letter : "s" } 撇折: { shape : "𠃋" , letter : "n" } 撇点: { shape : "𡿨" , letter : "m" } 斜钩: { shape : "㇂" , letter : "y" , sameLetterTo : "卧钩" } 横: { shape : "一" , letter : "j" } 横折: { shape : "𠃍" , letter : "c" } 横折弯: { shape : "㇍" , letter : "v" , sameLetterTo : "横折折" } 横折折: { shape : "㇅" , letter : "v" , sameLetterTo : "横折弯" } 横折折折: { shape : "㇎" , letter : "q" } 横折折折钩: { shape : "𠄎" , letter : "w" , sameLetterTo : "横撇弯钩" } 横折折撇: { shape : "㇋" , letter : "a" } 横折提: { shape : "㇊" , letter : "p" } 横折钩: { shape : "𠃌" , letter : "r" } 横撇: { shape : "㇇" , letter : "e" , sameLetterTo : "横钩" } 横撇弯钩: { shape : "㇌" , letter : "w" , sameLetterTo : "横折折折钩" } 横斜钩: { shape : "⺄" , letter : "o" } 横钩: { shape : "乛" , letter : "e" , sameLetterTo : "横撇" } 点: { shape : "丶" , letter : "k" } 点2: { shape : "㇀" , letter : "d" } 竖: { shape : "丨" , letter : "f" } 竖弯: { shape : "㇄" , letter : "b" } 竖弯钩: { shape : "乚" , letter : "u" } 竖折折: { shape : "𠃑" , letter : "x" , sameLetterTo : "竖折撇" } 竖折折钩: { shape : "㇉" , letter : "z" } 竖折撇: { shape : "ㄣ" , letter : "x" , sameLetterTo : "竖折折" } 竖提: { shape : "𠄌" , letter : "h" } 竖钩: { shape : "亅" , letter : "g" } }
展开笔画详情
名称 定义 形状
横折折撇 a ㇋
竖弯 b ㇄
横折 c 𠃍
点2 d ㇀
横斜钩 o ⺄
横 j 一
捺 l ㇏
横折钩 r 𠃌
竖 f 丨
竖钩 g 亅
点 k 丶
撇 s 丿
撇折 n 𠃋
竖折撇/竖折折 x ㄣ
横折折折钩/横撇弯钩 w 𠄎
竖折折钩 z ㇉
提 i ㇀
弯钩 t ㇁
斜钩/卧钩 y ㇂
横折折/横折弯 v ㇅
横撇/横钩 e ㇇
横折提 p ㇊
横折折折 q ㇎
竖提 h 𠄌
撇点 m 𡿨
竖弯钩 u 乚
注:其中以下五对笔画没有进行区分,使用的是同样的字母表示: 卧钩 = 斜钩 、 横折弯 = 横折折 、 横折折折钩 = 横撇弯钩 、 横撇 = 横钩 、 竖折折 = 竖折撇
以下是一个例子:
cnchar . orderToWord ( [ '横' , '撇' , '捺' ] ) ; // 等价于 cnchar . orderToWord ( '横 撇 捺' ) ; // 返回 "丈大" cnchar . orderToWord ( [ '横' , '撇' , '捺' ] , 'array' ) ; // 返回 ["丈","大"] cnchar .
orderToWord ( [ '横' , '撇' , '捺' ] , 'start' ) ; // 返回 "丈大太*夯夸夺夼奁奄奈奋奔态奎耷套奢瓠鹩奪奮遼" cnchar . orderToWord ( [ '横' , '撇' , '捺' ] , 'start' , 'simple' ) ; // 返回 "丈大太*夯夸夺夼奁奄奈奋奔态奎耷套奢瓠鹩"
如果输入的笔画不在 cnchar.orderToWord.orders 内,则该方法会打印一个错误提示哪些笔画有误,并返回一个空数组。
5.5 通过拼音查询原汉字: spellToWord
spellToWord 方法用于根据拼音查询符合要求的汉字,用法如下:
cnchar . spellToWord ( spell [ , ... args ] ) ;
例子:
cnchar . spellToWord ( 'shàng' ) ; // 返回 '上尚绱鞝' cnchar . spellToWord ( 'shàng' , 'alltone' ) ; // 返回 '上伤汤尚垧殇晌商绱觞赏墒熵裳傷湯殤鞝觴賞' cnchar . spellToWord ( 'shang4' , 'alltone' , 'trad' ) ; // 返回 '傷湯殤鞝觴賞' cnchar . spellToWord ( 'lv2' , 'simple' ) ; // 返回 '驴闾榈'
注:
spell 表示拼音,可以使用音调字母或音调数标方式: 例: shàng 等价于 shang4
ü 可以使用 v 表示,例: lü 等价于 lv
5.6 通过笔画数查询原汉字: strokeToWord
strokeToWord 方法用于根据笔画数查询符合要求的汉字,用法如下:
cnchar . strokeToWord ( strokeCount [ , ... args ] ) ;
例子:
cnchar . strokeToWord ( 25 ) ; // 返回 '鬣馕囔戆攮纛饞躥顱籮蠻廳灣鑲鑰' cnchar . strokeToWord ( 25 , 'simple' ) ; // 返回 '鬣馕囔戆攮纛' cnchar . strokeToWord ( 1 , 'array' ) ; // 返回 ['一', '乙']
5.7 成语功能
cnchar在2.2.0加入了成语功能,启用该功能需要安装 cnchar-idiom 功能库,该库可以独立于cnchar主库运行
使用方式如下:
cnchar . idiom ( text : string | number | Array < string | number > ) : Array < string > ;
看一个具体例子
// 根据汉字查询成语,末尾的空格可以省略 cnchar . idiom ( [ '五' , '' , '十' , '' ] ) ; // ['五风十雨', '五光十色'] // 根据笔画数查询成语,0表示匹配任意笔画,末尾的0可以省略 cnchar . idiom ( [ 4 , 6 , 2 , 0 ] ) ; // ["不当人子", . ] // 根据拼音查询成语 cnchar . idiom ( 'shang' ) ; // ["伤风败化", "伤风败俗", .] // 带音调 cnchar .
idiom ( 'shang4' ) ; // ["上兵伐谋", "上不着天,下不着地", . ]
使用cdn引用时,会在window对向上暴露 CncharIdiom 对象
5.8 歇后语功能
cnchar在2.2.0加入了歇后语功能,启用该功能需要安装 cnchar-xhy 功能库,该库可以独立于cnchar主库运行
使用方式如下:
cnchar . xhy ( text : string , ... xhyArgs : Array < xhyArg > ) : Array < string > ;
看一个具体例子
// 精确查询 cnchar . xhy ( '大水冲了龙王庙' ) ; // ['大水冲了龙王庙-自家人不识自家人', '大水冲了龙王庙-一家人不认一家人'], // 模糊查询 cnchar . xhy ( '大水' , 'fuzzy' ) ; // ['江河里长大水-泥沙俱下', '江河发大水-后浪推前浪', . ] // 只返回答案结果 cnchar . xhy ( '大水' , 'fuzzy' , 'answer' ) ; // ['泥沙俱下', '后浪推前浪', .
] // 根据歇后语后一句查询 cnchar . xhy ( '上晃下摇' , 'fuzzy' , 'answer' , 'second' ) ; // ['醉汉过铁索桥', '扶着醉汉过破桥']
使用cdn引用时,会在window对向上暴露 CncharXHY 对象
5.9 偏旁部首功能
cnchar在 2.2.5 加入了偏旁部首功能,启用该功能需要安装 cnchar-radical 功能库,该库可以独立于cnchar主库运行
且于 3.2.0 版本进行了升级,支持了查询汉字结构和偏旁笔画数
感谢 kewell-tsao 提供的 pr
使用方式如下:
cnchar . radical ( text : string | Array < string > ) : Array < { radical : string ; struct : TStruct ; radicalCount : number ; } >
使用cdn引用时,会在window对向上暴露 CncharRadical 对象
5.10 组词功能
cnchar 在 3.1.0 加入了组词功能,需要安装 cnchar-words , 具体使用如下
args 传入 trad 可以查询繁体字,但是依赖于安装了 cnchar-trad
cnchar . words ( words : string , ... args : string [ ] ) : string [ ] ;
看一个具体例子
cnchar . words ( '你' ) ; cnchar . words . addWords ( '你们好' ) ; // 添加一个词组
具体参数请参考 words.d.ts
5.11 查询解释功能
cnchar 在 3.1.0 加入了查询解释功能,需要安装 cnchar-explain , 具体使用如下
args 传入 trad 可以查询繁体字,但是依赖于安装了 cnchar-trad
cnchar . explain ( words : string , ... args : string [ ] ) : string [ ] ;
看一个具体例子
cnchar . explain ( '你好' ) ; cnchar . explain . addExplain ( '你好' , '打招呼' ) ; // 添加解释 cnchar . explain . addExplain ( { '你好' : '打招呼' } ) ;
具体参数请参考 explain.d.ts
5.12 发音、语音合成和语音识别
cnchar 在 3.1.0 加入了发音、语音合成和语音识别功能, 需要安装 cnchar-voice ,
5.12.1 voice api
voice api用于发音单个和多个汉字发音,对于句子发音连续效果不佳,但是兼容性好,支持小程序使用
cnchar . voice ( words : string , options : IVoiceOptions ) : IVoicePlayer ;
具体参数请参考 voice.d.ts
5.12.2 speak api
voice.speak 用于汉字语音合成,是借助于浏览器的 speechSynthesis api, 兼容性不佳 但是体验较好
该api需要在用户点击等事件后调用才会生效,且仅在https 或 localhost 中起作用
cnchar . voice . speak ( text : string , options ?: ISpeakOptions ) : SpeechSynthesisUtterance ;
具体参数请参考 voice.d.ts
5.12.2 regonize api
voice.regonize 用于汉字语音识别,是借助于浏览器的 SpeechRecognition api, 兼容性不佳 但是体验较好
该api需要在用户点击等事件后调用才会生效,且仅在https 或 localhost 中起作用
cnchar . voice . regonize ( options ?: IRecognizeOptions ) : any ;
具体参数请参考 voice.d.ts
5.13 汉字、拼音工具方法
cnchar 将库内部使用的一些操作拼音和汉字的方法整理暴露出来,方便开发者便捷高效的操作拼音和汉字
5.13.1 查询拼音详细信息: spellInfo
spellInfo 方法用于查询拼音的详细信息,用法如下:
cnchar . spellInfo ( spell ) ;
例子:
cnchar . spellInfo ( 'Shàng' ) ; /* // 返回值与含义如下 { spell: 'shang', // 无音调拼音 initial: 'sh', // 声母 final: 'ang', // 韵母 tone: 4, // 音调 index: 3 // 音调位置 }, */
除此之外, spellInfo 上含有 initials 和 tones 两个属性,分别表示,所有可用的声母和音调:
cnchar . spellInfo . initials ; // ['b', 'p', 'm', 'f', 'd', 't', 'n', 'l', 'g', 'k', 'h', 'j', 'q', 'x', 'zh', 'ch', 'sh', 'r', 'z', 'c', 's', 'y', 'w'] cnchar . spellInfo .
tones ; // ['ā', 'á', 'ǎ', 'à', 'ō', 'ó', 'ǒ', 'ò', 'ē', 'é', 'ě', 'è', 'ī', 'í', 'ǐ', 'ì', 'ū', 'ú', 'ǔ', 'ù', 'ǖ', 'ǘ', 'ǚ', 'ǜ', '*', 'ń', 'ň', 'ǹ'] // n 的一声使用 * 代替
5.13.2 拼音音调操作: transformTone
transformTone 方法用于将有音调拼音转换为无音调拼音,且可以获取音调位置和声调
使用方式如下:
cnchar . transformTone ( spell : string , tone ?: boolean , type ?: 'low' | 'up' ) ; /* 返回值 { spell: string; // 转换后的拼音 tone: toneType; // 声调 index: number; // 音调位置 isTrans: boolean; // 是否是经过转换的比如 lv2 -> lǘ } */
tone 为可选参数,表示返回值spell是否需要带上声调,默认为 false
type 为可选参数,表示返回值spell设置大小写,默认为 'low'
transformTone spell参数 支持使用 v 代替 ü,支持使用末尾带数字表示声调,比如 lv 等价于 lü shang4 等价于 shàng
5.13.3 是否是汉字: isCnChar
isCnChar 方法用于判断字符串是否全部是汉字
cnchar . isCnChar ( word : string ) : boolean ;
5.13.4 是否是多音字: isPolyWord
isPolyWord 方法用于判断一个字符是否是汉字
cnchar . isPolyWord ( word : string ) : boolean ;
5.13.5 比较拼音(汉字)大小: compareSpell
compareSpell 方法用于按照拼音比较拼音或汉字的大小,可用于通讯录姓名拼音排序等场景
该方法支持按照拼音和声调比较,如需排序可以参考 sortSpell 方法
cnchar . compareSpell ( spell1 : string , spell2 : string , tone ?: boolean ) ;
tone参数表示是否需要按照音调比较,默认为false
该方法返回一个字符串,'more', 'less', 'even' 分别表示 spell1 大于、小于、等于 spell2
例
cnchar . compareSpell ( 'ao' , 'ai' ) // 返回 'more' 因为 o 排在 i 之后 cnchar . compareSpell ( '奥' , 'ai' ) // 返回 'more'
5.13.6 比较汉字笔画数大小: compareStroke
compareStroke 方法用于按照笔画数比较汉字大小,可用于按照姓名首个汉字笔画排序等场景,排序可以参考 sortStroke 方法
cnchar . compareStroke ( stroke1 : string , stroke2 : string ) ;
该方法支持输入汉字或数字,汉字可以输入多个
该方法返回一个字符串,'more', 'less', 'even' 分别表示 stroke1 大于、小于、等于 stroke2
例子:
cnchar . compareStroke ( '你' , '好' ) // 返回 'more' cnchar . compareStroke ( 20 , '好' ) // 返回 'more' cnchar . compareStroke ( '一个' , '好' ) // 返回 'less'
5.13.7 根据拼音排序: sortSpell
sortSpell 方法用于按照拼音排序汉字或拼音,支持输入数组或字符串,支持按照声调排序、支持倒序
cnchar . sortSpell ( spells : Array < string > | string , ... args ?: Array < 'tone' | 'desc' > ) : Array < string > | string ;
spells参数可以是数组或字符串
当为数组时,数组元素可以时汉字或拼音,返回的是数组
当为字符串时,字符串必须全部是汉字,返回的是字符串
该方法可选参数有两个,'tone' 表示按照音调排序,'desc' 表示倒序,默认不区分声调且升序。请看一些例子
cnchar . sortSpell ( [ '你' , '好' , '吗' ] ) // ['好', '吗', '你'] cnchar . sortSpell ( '你好吗' ) // '好吗你' cnchar . sortSpell ( '拼品频爱' , 'tone' , 'desc' ) // '品频拼爱'
5.13.8 根据笔画数排序: sortStroke
sortStroke 方法用于按照笔画数排序汉字
cnchar . sortStroke ( strokes : Array < string | number > | string , desc ?: 'desc' ) : Array < string > | string ;
strokes参数可以是数组或字符串
当为数组时,数组元素可以时汉字或数字,返回的是数组
当为字符串时,字符串必须全部是汉字,返回的是字符串
该方法有一个可选参数,'desc' 表示倒序,默认升序。请看一些例子
cnchar . sortStroke ( [ '一' , '三' , '二' ] ) // ['一', '二', '三'] cnchar . sortStroke ( [ '一' , '三' , 2 ] ) // ['一', 2, '三'], cnchar . sortStroke ( '一三二' , 'desc' ) // '三二一'
5.13.9 将数字表示的声调转为拼音声调: shapeSpell
shapeSpell 将数字表示的声调转为拼音声调
如 lv2 会被转换成 lǘ , ta1 会被转换成 tā , 方便用户输入
reverse 参数表示开启反向转换 lǘ => lv2
cnchar . shapeSpell ( spell : string , reverse ?: boolean ) : string ;
5.13.10 判断拼音是否有音调: hasTone
cnchar . hasTone ( spell : string ) : boolean ;
5.14 自定义数据
由于 cnchar 数据来源于网络,虽然经过了大量修改,但是还是难免会有错漏
所以 cnchar 提供了修改默认数据的api,方便开发者修改与添加数据
5.14.1 setSpell
设置拼音数据
cnchar . setSpell ( word : string , spell : string ) : void ; cnchar . setSpell ( json : { [ key : string ] : string } ) : void ;
5.14.2 setSpellDefault
设置多音字的默认读音
cnchar . setSpellDefault ( word : string , spell : string ) : void ; cnchar . setSpellDefault ( json : { [ key : string ] : string } ) : void ;
5.14.3 setStrokeCount
设置汉字笔画数
cnchar . setStrokeCount ( word : string , count : number ) : void ; cnchar . setStrokeCount ( json : { [ key : string ] : number } ) : void ;
5.14.4 setPolyPhrase
设置多音词的读音, 依赖 cnchar-poly 库
cnchar . setPolyPhrase ( word : string , spell : string ) : void ; cnchar . setPolyPhrase ( json : { [ key : string ] : string } ) : void ;
5.14.5 setOrder
设置汉字笔顺, 依赖 cnchar-order 库
添加的笔顺必须是字母,详情对应关系参见 stroke-table
cnchar . setOrder ( word : string , order : string ) : void ; cnchar . setOrder ( json : { [ key : string ] : string } ) : void ;
5.14.6 setRadical
设置汉字偏旁部首, 依赖 cnchar-radical 库
cnchar . radical . setRadical ( word : string , radical : IRadicalResult ) : void ; cnchar . radical . setRadical ( json : { [ key : string ] : IRadicalResult } ) : void ;
5.14.7 addXhy
添加歇后语, 依赖 cnchar-xhy 库
cnchar . xhy . addXhy ( args : Array < Array < string > | string > ) : void ; cnchar . xhy . addXhy ( xhyHead : string , xhyTail : string ) : void ;
5.14.8 addWords
添加词组, 依赖 cnchar-words 库
cnchar . words . addWords ( words : string | string [ ] ) : void ;
5.14.9 addExplain
添加解释, 依赖 cnchar-explain 库
cnchar . explain . addExplain ( json : Json < string > ) : void ; cnchar . explain . addExplain ( words : string , explain : string ) : void ;
5.14.10 addVoice
添加发音, 依赖 cnchar-voice 库
cnchar . voice . addVoice ( json : Json < string > ) : void ; cnchar . voice . addVoice ( words : string , url : string ) : void ;
其他自定义数据api
5.15 其他 api
5.15.1 .use()
这个 api 的功能是显式启用 其他插件库
cnchar . use ( ... libs ) ;
这个启用在非浏览器环境(比如 nodejs 等)中是必须的,使用如下:
// 请保证最先引入 cnchar 基础库,其他插件库顺序无所谓 var cnchar = require ( 'cnchar' ) ; var xxx = require ( 'cnchar-xxx' ) ; cnchar . use ( xxx ) ;
在浏览器环境中则无需调用:
// 请保证最先引入 cnchar 基础库,其他几个库顺序无所谓 import cnchar from 'cnchar' ; import 'cnchar-xxx' ;
5.15.2 .type
type 对象用户获取当前可用的 spell 、 stroke 、 orderToWord 、 spellToWord 、 strokeToWord 、 idiom 、 xhy 、 radical , words , explain 参数类型:
var spellArg = cnchar . type . spell ; var strokeArg = cnchar . type . stroke ; var orderToWordArg = cnchar . type . orderToWord ; var spellToWordArg = cnchar . type . spellToWord ; var strokeToWordArg = cnchar . type . strokeToWord ; var xhyArg = cnchar .
type . xhy ; var radicalArg = cnchar . type . radical ; var wordsArg = cnchar . type . words ; var explainArg = cnchar . type . explain ;
spellArg 最多可用值: ['array', 'low', 'up', 'first', 'poly', 'tone', 'simple', 'flat']
strokeArg 最多可用值: ['letter', 'shape', 'count', 'name', 'detail', 'array', 'order', 'simple']
orderToWordArg 最多可用值: ['match','matchorder','contain','start','array','simple']
spellToWordArg 最多可用值: ['simple','trad','poly','alltone','array']
strokeToWordArg 最多可用值: ['simple','trad','array']
xhyArg 最多可用值: ['fuzzy','answer','second']
radicalArg 最多可用值: ['array', 'trad']
wordsArg 最多可用值: ['trad']
explainArg 最多可用值: ['trad']
以上值皆为 json
具体用法 第六章 讲到
5.15.3 .check
该值是一个 布尔类型,用于控制是否开启参数校验,默认值为 true
参数校验能够对 spell 和 stroke 传入的参数进行检查,在控制台显示 无效· , 忽略 和 冗余 的参数
cnchar . check = false ; // 关闭参数校验
5.15.4 .version & env
获取当前版本:
var version = cnchar . version ; var env = cnchar . env ;
5.15.5 .plugins
当前使用的功能库列表
var plugins = cnchar . plugins ; // array 类型
可以使用 hasPlugin api 来判断是否引入了某插件
cnchar . hasPlugin ( 'draw' )
5.16 离线使用
cnchar-voice, cnchar-draw, cnchar-explain 由于使用了大量的在线词典和资源
所以没有跟随npm包一起下载到本地,而是使用cdn方式动态加载
cnchar 在 3.1.0 版本新增了 cnchar-data 用于帮助用于单独下载数据仓库,以支持离线使用和自定义部署。
具体使用请参考 cnchar-data
另外 voice, draw, explain 三个仓库也支持独立 setResourceBase
具体请参考 cnchar-types
5.17 自定义插件
cnchar 采用的是独立的插件形式,定义一个 cnchar 插件非常简单且不依赖任何第三方包,并且通过 cnchar 注入,可以访问到任何 cnchar 和其他插件的方法
cnchar 所有现有插件都会携带有 dict属性用来暴露内部的字典,以方便其他插件可以直接使用,具体请参考 插件声明
5.17.1 pluginName属性
一个 cnchar 插件只有一个必选属性 pluginName
表示插件名称,cnchar.use 插件之后,会注入到 cnchar.plugins 中,且插件对象会被挂载到 cnchar 上
cnchar 所有现有插件都会携带有 dict属性用来暴露内部的字典,以方便其他插件可以直接使用
5.17.2 install属性
install 是一个方法,cnchar.use 插件之后, cnchar对象会调用install方法,并将cnchar对象作为回调带入插件中, 可以通过cnchar对象访问cnchar和其他插件方法
5.17.3 getCnChar
插件被安装成功之后,会注入一个 getCnChar 到插件上,可以获取到cnchar对象
其他插件属性可以参考 common.d.ts
5.17.4 js定义插件
export default {pluginName : 'custom' , install ( cn
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
- 3.安装
- 3.1 使用 npm 安装
- 3.2 cdn 引入
- 4.使用
- 4.1 webpack浏览器环境(有window对象)
- 4.2 nodejs 等非浏览器环境
- 4.3 原生浏览器环境
- 5.API
- 5.1 拼音笔画基础 API: spell & stroke
- 5.2 可视化绘制汉字: draw
- 5.2.1 使用
- 5.2.2 参数
- 5.2.3 绘制控制api
- 5.2.3.1 startAnimation
- 5.2.3.2 pauseAnimation & resumeAnimation
- 5.2.3.3 drawNextStroke
- 5.2.4 微信小程序中使用
- 5.2.5 其他api
- 5.3 繁体、简体、火星文互转: convert
- 5.4 笔画序列推出原汉字: orderToWord
- 5.5 通过拼音查询原汉字: spellToWord
- 5.6 通过笔画数查询原汉字: strokeToWord
- 5.7 成语功能
- 5.8 歇后语功能
- 5.9 偏旁部首功能
- 5.10 组词功能
- 5.11 查询解释功能
- 5.12 发音、语音合成和语音识别
- 5.12.1 voice api
- 5.12.2 speak api
- 5.12.2 regonize api
- 5.13 汉字、拼音工具方法
- 5.13.1 查询拼音详细信息: spellInfo
- 5.13.2 拼音音调操作: transformTone
- 5.13.3 是否是汉字: isCnChar
- 5.13.4 是否是多音字: isPolyWord
- 5.13.5 比较拼音(汉字)大小: compareSpell
- 5.13.6 比较汉字笔画数大小: compareStroke
- 5.13.7 根据拼音排序: sortSpell
- 5.13.8 根据笔画数排序: sortStroke
- 5.13.9 将数字表示的声调转为拼音声调: shapeSpell
- 5.13.10 判断拼音是否有音调: hasTone
- 5.14 自定义数据
- 5.14.1 setSpell
- 5.14.2 setSpellDefault
- 5.14.3 setStrokeCount
- 5.14.4 setPolyPhrase
- 5.14.5 setOrder
- 5.14.6 setRadical
- 5.14.7 addXhy
- 5.14.8 addWords
- 5.14.9 addExplain
- 5.14.10 addVoice
- 5.15 其他 api
- 5.15.1 .use()
- 5.15.2 .type
- 5.15.3 .check
- 5.15.4 .version & env
- 5.15.5 .plugins
- 5.16 离线使用
- 5.17 自定义插件
- 5.17.1 pluginName属性
- 5.17.2 install属性
- 5.17.3 getCnChar
- 5.17.4 js定义插件
- 5.17.5 ts定义插件
- 6.参数介绍
- 6.1 spell 参数
- 6.2 stroke 参数
- 6.3 orderToWord 参数
- 6.4 spellToWord 参数
- 6.5 strokeToWord 参数
- 6.6 idiom 参数
- 6.7 xhy 参数
- 6.8 radical 参数
- 6.9 words 与 explain 参数
- 6.10 使用实例大全:
- 6.10.0 安装使用
- 6.10.1 cnchar 基础库功能
- 6.10.2 cnchar-poly 库功能
- 6.10.3 cnchar-order 库功能
- 6.10.4 cnchar-trad 库功能
- 6.10.4.1 convert 字体转换
- 6.10.4.2 spell 和 stroke 方法
- 6.10.5 cnchar-idiom 库功能
- 6.10.6 cnchar-xhy 库功能
- 6.10.7 cnchar-radical 库功能
- 6.10.8 cnchar-words
- 6.10.8 cnchar-explain
- 6.10.10 cnchar-voice

