rime中州韵小狼毫 汉语拼音输入方案

word中,我们可以轻易的给汉字加上拼音,如下👇:
在word中汉字加拼音.gif
但是,如何单独的输入拼音呢?例如输入 pīn yīn, 再如 zhōng guō。今天我们分享一个使用rime中州韵小狼毫须鼠管输入法配置的输入汉语拼音的输入方案。功能简单,但十分好用。

先睹为快

pīnyīn输入方案可以快捷的输入带有声调的汉语拼音,输出直观,选词快捷,录入体验优良。
20240113013722
20240113013902_rec_

pinyin.schema.yaml

pinyin.schema.yaml 是我们的输入方案的方案文档,我们在 用户文件夹 下创建一个 txt 文档,然后改名为 pinyin.schema.yaml,pinyin.schema.yaml文档内容如下👇:

__build_info:rime_version: 1.5.3timestamps:default: 1626914460default.custom: 1651399897easy_en.custom: 0easy_en.schema: 1491118644key_bindings: 1561218646key_bindings.custom: 0punctuation: 1561218646punctuation.custom: 0
switches:- name: ascii_mode  # 默认为中文输出模式reset: 0states: [ 中文, 西文 ]- name: full_shape  # 字符默认半角输出reset: 0states: [ 半角, 全角 ]- name: ascii_punct  # 默认使用中文标点reset: 0states: [ 。,, ., ]- name: debug  # 默认debug开关为关闭状态reset: 0states: [Off, 🐞]
engine:processors:- ascii_composer- key_binder- speller- recognizer- punctuator- selector- navigator- express_editorsegmentors:- matcher- ascii_segmentor- abc_segmentor- punct_segmentor- fallback_segmentor
key_binder:import_preset: default
recognizer:import_preset: default
speller:alphabet: "zyxwvutsrqponmlkjihgfedcba"delimiter: " "
schema:author:- "dyy <douyaoyuan@126.com>"description: "pīn yīn 输入"name: "pīn yīn"schema_id: pinyinversion: 0.0

在上述脚本配置中,我们的schema节点中配置了以下内容:

  • schema_idpinyin;这个schema_id将会在下文的default.custom.yaml中用到
  • namepīn yīn;这个name的值pīn yīn将会出现在方案选单

pinyin.custom.yaml

一如既往,方案名.custom.yaml是对应方案文档的补丁文档,这个pinyin.custom.yaml文档中配置了用户的个性化的配置项目,此处pinyin.custom.yaml文档的配置如下👇:

patch:translator/enable_user_dict: false				# false:自动造词及动态词频功能失效;true:启用自动造词和动态词频style/inline_preedit: false						# 是否在输入行内进行预测生成,true 表示不单独显示输入字符engine/translators:- lua_translator@pinyin_translator				# 添加 pinyin_translator lua 翻译器engine/filters:									# 设置以下filter- simplifier- lua_filter@pinyin_Filter						# 这个过滤器用于给拼音候选词组增加一个尾部空格- uniquifier									# 过滤重复候选项,依赖 simplifierswitches/+: #增加以下开关- name: space					# 一个标志开头,用来控制是否在拼音选项组词后自动加一个空格reset: 0states: [,空格]

在以上配置中,我们为pinyin输入方案指定了以下关键配置:

  • 翻译器lua_translator@pinyin_translator:这个pinyin_translator的脚本文档将在下文中介绍。
  • 滤镜lua_filter@pinyin_Filter:这个pinyin_Filter的脚本文档将在下文中介绍
  • 开关space:这个开关的作用是用来控制是否在拼音词组中加入一个空格,以提高输入效率

default.custom.yaml

上文中我们定义了新的输入方案 pinyin,我们需要在 default.custom.yaml 中的方案选单中配置该输入方案,以便我们可以选择使用pinyin输入方案。default.custom.yaml中的配置如下👇:

patch:ascii_composer/switch_key:Caps_Lock: commit_code  # 候选状态下,按 Caps_Lock 后编码上屏Control_L: noop  # 左 ctrl 键无使用效果Control_R: noop  # 右 ctrl 键无使用效果Eisu_toggle: clear  # 按 Esc 键,清除候选编码,退出候选框Shift_L: commit_code  # 候选状态下,按 左 Shift 后,编码上屏Shift_R: commit_code  # 候选状态下,按 右 Shift 后,编码上屏ascii_composer:good_old_caps_lock: true  # true 通过 caps lock 键切换入英文模式后,保持大写输入状态engine/filters:- simplifier  # 引入简体拼音输入法过滤器- uniquifier  # 过滤重复候选项,依赖 simplifierkey_binder/bindings:- {accept: semicolon, send: 2, when: has_menu}  # 使用 ; 键选择第 2 候选词- {accept: apostrophe, send: 3, when: has_menu}  # 使用 . 键选择第 3 候选词- {accept: bracketleft, send: Page_Up, when: paging}  # 使用 PageUp 键向上翻页- {accept: bracketright, send: Page_Down, when: has_menu}  # 使用 PageDown 键向下翻页menu/page_size: 10  # 存在候选词选项时,每一页显示的候选词数量,最大是 10recognizer/patterns/punct: "^/([0-9]0?|[A-Za-z]+)$"  # 标点符号识别模式schema_list:- {schema: wubi_pinyin}			# 五笔・拼音 输入方案- {schema: easy_en}				# 英文输入方案- {schema: pinyin}				# 拼音输入switcher:abbreviate_options: true  # 功能选项显示为简写模式caption: "〔方案选单〕"  # 选项菜单的名字fold_options: true  # 功能选项折叠显示hotkeys: [F8]  # 使用 F8 键调出 方案选单

👆以上配置中,请注音观察schema_list节点下最后一个schema的内容。

rime.lua

pinyin 输入方案中我们使用到了lua_translatorlua_filter,我们在rime.lua中增加一个translator翻译器和一个filter滤镜,rime.lua中的配置如下👇:

help_translator = require("help")
inputShow_translator = require("inputShow")
inputShow_Filter = require("inputShow_Filter")
Upper_Filter = require("Upper_Filter")
dic_4w_Filter = require("dic_4w_Filter")
phraseReplace_Filter = require("phraseReplace_Filter")
pinyinAdding_Filter = require("pinyinAdding_Filter")
dateTime_Filter = require("dateTime_filter")
dynamicPhrase_Filter = require("dynamicPhrase_Filter")
phraseExt_Filter = require("phraseExt_Filter")
phraseComment_Filter = require("phraseComment_Filter")
pinyin_translator = require("pinyin_translator")
pinyin_Filter = require("pinyin_Filter")

👆以上lua脚本中,注意观察最后两行内容。

💣注意:
以上所述default.custom.yamlpinyin.custom.yamlpinyin.schema.yamlrime.lua 四个文档,应该位于 用户文件夹 下,如下👇:
Snipaste_2024-01-13_00-02-55

pinyin_translator.lua

pinyin_translator.lua 是一个lua脚本,脚本实现了rime引擎的lua_translator翻译器接口;pinyin_translator.lua脚本实现了用户输入编码向拼音词组翻译的功能。pinyin_translator.lua脚本内容如下👇:

--lua语言中的注释用“--”
--[[
pinyin_translator.lua
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>
这是一个lua translator 翻译器,负责将用户输入的拼音生成带有声调的拼音,例如 pīn yīn
]]local logEnable, log = pcall(require, "runLog")
if logEnable thenlog.writeLog('')log.writeLog('log from pinyin_translator.lua')
endlocal a = {'ā','á','ǎ','à','a'}
local o = {'ō','ó','ǒ','ò','o'}
local e = {'ē','é','ě','è','e'}
local i = {'ī','í','ǐ','ì','i'}
local u = {'ū','ú','ǔ','ù','u'}
local v = {'ǖ','ǘ','ǚ','ǜ','ü'}
local jv = {'jū','jú','jǔ','jù','ju'}
local qv = {'qū','qú','qǔ','qù','qu'}
local xv = {'xū','xú','xǔ','xù','xu'}
local iu = {'iū','iú','iǔ','iù','iu'}
local ui = {'uī','uí','uǐ','uì','ui'}local aoeListDict = {['a']=a,['o']=o,['e']=e,['i']=i,['u']=u,['v']=v,['jv']=jv,['qv']=qv,['xv']=xv,['iu']=iu,['ui']=ui}local aoeList = {'a','o','e','ui','iu','i','u','jv','qv','xv','v'}function translator(input, seg)-- 遍历检查韵母, 找到对应的 aoeKey 值local aoeKey = ''for j,aoeK in ipairs(aoeList) doif nil ~= string.match(input,'.*'..aoeK..'.*') thenaoeKey = aoeKbreakendendlocal inputStr = input-- 如果没有 aoeKey,则在input后面加入一个 a,以提供有效的拼音选项if '' == aoeKey thenaoeKey = 'a'inputStr = input ..'a'end--这个 aoeK 存在于 input 中,则将 input 中第一个 aoeK 替换成对应的注音字符,然后抛出作为选项local aoeL = aoeListDict[aoeKey]for j,aoe in ipairs(aoeL) doyield(Candidate("pinyin", seg.start, seg._end,string.gsub(inputStr,aoeKey,aoe,1),''))if 4 == j and false then-- 如果这是第四个选项(四声),则填充5个None选项,目的是为了使轻声出现在序号为 0 的位置, 如果你希望这样,请将判定中的 false 改为truefor kk=5,9 doyield(Candidate("pinyin", seg.start, seg._end,'None'..tostring(kk),''))endendif 4 == j and true then--是否输出轻声选项,如果不想输出轻声选项(如果拼音中不包含 v,轻声可以通过 Enter 键直接将字母上屏即可),请保持判断条件为trueif string.find(inputStr,'v') < 1 then--如果确实没有 v 的存在,则可以跳过轻声选项breakendendend
endreturn translator

pinyin_Filter.lua

pinyin_Filter.lua是一个lua脚本定义的lua_filter滤镜。pinyin_Filter.lua所定义的滤镜的功能是根据space开关的状态,决策是否向候选词组中加入空格。pinyin_Filter.lua脚本的内容如下👇:

-- pinyin_Filter.lua
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>
--[[
这个过滤器的主要作用是,在拼音候选词组的尾部,增加一个空格
]]local logEnable, log = pcall(require, "runLog")
if logEnable thenlog.writeLog('')log.writeLog('log from pinyin_Filter.lua')
endlocal function pinyin_Filter(input, env)--获取选项space(空格)开关状态local spaceSwitchFlg = env.engine.context:get_option("space") or falsefor cand in input:iter() doif spaceSwitchFlg thenyield(Candidate("word", cand.start, cand._end, cand.text..' ', cand.comment))elseyield(cand)endend
endreturn pinyin_Filter

💣注意:
👆上述pinyin_translator.luapinyin_Filter.lua两个脚本文档,均应该位于 用户文件夹下的lua文件夹内,如下👇:
20240113012751

配置文档

👆以上所述配置文档,你可以在 rime中州韵小狼毫须鼠管输入法 汉语拼音输入方案配置包.zip 下载取用。

如果你可以访问gitHub,你也可以在 dyyRime 中找到完全版本的配置包。

效果欣赏

当你完成了以上的所有设置时,你需要重新部署你的rime,然后通过F4/F8调出方案选单,你应该可以看到pīnyīn输入方案,如下👇:
20240113013129
选择pīnyīn输入方案后,就可以愉快的开始体验拼音输入了。

如果希望输入的拼音后面自动加上一个空格,可以将space开关打开,如下👇:
20240113014327

小结

本文分享了一中在rime中州韵小狼毫须鼠管输入法中配置pīn yīn输入方案的方法,从而实现了汉语拼音的快速录入,并且根据需要,可以在录入词组后自动加上空格。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/617856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习300问】6、什么是机器学习中的特征量?

一、首先我们看三个例子 例一&#xff1a;在辨别水果的任务中&#xff0c;人类一般会通过外观、味道、颜色等方面信息来进行区分。而机器学习则通过水果的颜色、重量、气味成分的量等被称之为“特征量”的数值来区分。 例二&#xff1a;在手写数字识别任务中&#xff0c;人类…

概率大揭秘:深度复习概率论,事半功倍的学霸秘籍!

第一章 概率论的基本概念 一、事件及其关系与运算 1、样本空间、样本点、随机事件、必然事件、不可 能事件、基本事件和复合事件的概念&#xff1b; 2、事件的包含与相等&#xff1a;若事件A包含事件B&#xff0c;则B的发生必然导致A的发生。进而有P(AB)P(B)&#xff0c;P…

Spark Doris Connector 可以支持通过 Spark 读取 Doris 数据类型不兼容报错解决

1、版本介绍&#xff1a; doris版本&#xff1a; 1.2.8Spark Connector for Apache Doris 版本&#xff1a; spark-doris-connector-3.3_2.12-1.3.0.jar:1.3.0-SNAPSHOTspark版本&#xff1a;spark-3.3.1 2、Spark Doris Connector Spark Doris Connector - Apache Doris 目…

Web前端 ---- 【Vue】(组件)父子组件之间的通信一文带你了解

目录 前言 父组件传子组件 ---- props 给要传递数据的子组件绑定要传过去的属性及属性值 在子组件中使用props配置项接收 props配置项 子组件传父组件 ---- 组件的自定义事件 子组件向父组件传递数据 通过代码来绑定自定义事件 前言 本文将介绍在Vue中父子组件如何进行…

PHP在线考试平台管理系统源码带文字搭建教程和操作手册

PHP在线考试平台管理系统源码带文字搭建教程和操作手册 技术架构 PHP7.2 Thinkphp6 React UmiJs nginx mysql5.7 cnetos7以上 宝塔面板 系统功能特性与介绍 采用PHP7强类型&#xff08;严格模式&#xff09;。 题库管理 支持多种试题类型和录题方式。 考生管理 快速导入考…

鸿蒙开发环境搭建-高频环境问题解决

1.Node版本问题 由于SDK的部分工具依赖Node.js运行时&#xff0c;推荐使用配套API版本的Node.js&#xff0c;保证工程的兼容性。 匹配关系见下表&#xff1a; API LevelNode.js支持范围API Level≤914.x&#xff08;≥14.19.1&#xff09;、16.xAPI Level>914.x&#xff0…

【纯CSS特效源码】(一)几款漂亮的文字特效

1.渐变文字 使用background: -webkit-linear-gradient(#d8ecec, #2d888b);定义背景渐变色 并使用-webkit-text-fill-color: transparent;指定了文本字符的填充颜色 <!DOCTYPE html> <html><style>body {background-color: #111;}#content {position: abso…

汽车专业翻译,如何选择好的翻译公司?

随着中国汽车市场的不断壮大和国际化的步伐加快&#xff0c;众多外国汽车品牌纷纷进军中国市场&#xff0c;与此同时&#xff0c;国内汽车企业也在积极拓展海外版图。在此背景下&#xff0c;汽车企业与国际客户、供应商和合作伙伴的交流日益频繁。因此&#xff0c;拥有一支专业…

Javascript jQuery简介

✨前言✨ 1.如果代码对您有帮助 欢迎点赞&#x1f44d;收藏⭐哟 后面如有问题可以私信评论哟&#x1f5d2;️ 2.博主后面将持续更新哟&#x1f618;&#x1f389;本章目录&#x1f389; &#x1f95d;一.jQuery简介&#x1f965;二.JQeury常用API&#x1f347;1.jQeury选择…

PingCAP 受邀参加 FICC 2023,获 Open100 世纪全球开源贡献奖

2023 年 12 月&#xff0c;2023 国际测试委员会智能计算与芯片联邦大会&#xff08;FICC 2023&#xff09;在海南三亚举办&#xff0c;中外院士和数十位领域专家莅临出席。 大会现场 &#xff0c;开放源代码促进会创始人 Bruce Perens 颁发了 Open100 世纪全球开源贡献奖&…

UE5 通过接口实现角色描边效果

接口不能够被实例化&#xff0c;不能够在内部书写函数的逻辑和设置属性&#xff0c;只能够被继承使用。它能够让不同的类实现有相同的函数&#xff0c;继承接口的类必须实现接口的函数。 并且&#xff0c;我们可以在不同的类里面的函数实现也不同&#xff0c;比如A类描边是红色…

什么是云服务器ECS及其优势、购买、使用方式和部署建议

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云百科aliyunbai…

超级好看的个人主页源码

源码介绍 超级好看的个人主页源码HTML,使用了 HTML、CSS 和 JavaScript 技术&#xff0c;带音乐播放器 需要修改什么到代码里面自行修改,记事本就可以打开&#xff0c;总之&#xff0c;这个个人主页源码非常漂亮和实用&#xff0c;使用了许多现代的 Web 技术来创建一个响应式、…

canvasdrawer 微信原生小程序生成海报图片

在小程序中生成海报是一种非常有效的推广方式 用户可以使用小程序的过程中生成小程序海报并分享给他人 通过海报的形式&#xff0c;用户可以直观地了解产品或服务的特点和优势 常见绘制海报方式 目前&#xff0c;小程序海报有两种常见的实现方式&#xff1a; canvas 绘制…

2024年1月12日:清爽无糖rio留下唇齿之间的香甜

友利奈绪的时间管理 2024年1月12日08:02:28进行java程序设计的上课准备 2024年1月12日08:02:44知道java的题目有18道 2024年1月12日08:43:07随机数去重比较 2024年1月12日08:54:03C语言题目最小公倍数 2024年1月12日08:58:37C语言题目二维数组变一维数组 2024年1月12日10…

Java学习,一文掌握Java之SpringBoot框架学习文集(8)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

Nginx配置负载均衡实例

Nginx配置反向代理实例二 提醒一下&#xff1a;下面实例讲解是在Mac系统演示的&#xff1b; 负载均衡实例实现的效果 浏览器地址栏输入地址http://192.168.0.101/test/a.html&#xff0c;刷新页面进行多次请求&#xff0c;负载均衡效果&#xff0c;平均分配到8080端口服务和8…

SSM-SpringMVC+Spring+Mybatis

创建项目 创建好 项目后, 项目目录分析 数据库设计 我们采用员工表 Employee 与 部门表 Department 部门表 表设计--- 员工表 --表设计 因为有文件上传操作,因此 建立 info表 (其中 员工只能隶属一个部门,因此 两张表之间 有外键关系) java 代码 设计 数据库建立完毕后,需要…

通过离散点拟合曲线

文章目录 使用离散点拟合曲线参考代码路径:作者源码:测试代码效果图:k3k4k5 使用离散点拟合曲线 参考代码路径: https://www.bragitoff.com/2015/09/c-program-for-polynomial-fit-least-squares/ https://gist.github.com/Thileban/272a67f2affdc14a5f69ad3220e5c24b https:/…

docker安装nacos+mysql+配置网络

一、配置网络 为什么要配置网络&#xff1f;因为 Nacos 内要连接MySQL数据库的&#xff0c;我的 MySQL 数据库也是用 Docker启动的&#xff0c;所以2个容器间要通信是需要配置他们使用相同的网络。这个操作要在启动Nacos容器之前。 注意&#xff1a;这里配置的网络只在镜像内部…