红孩儿编辑器的模块设计4

编辑器主显示区的样式渲染的逻辑
例如在显示区有背景色或者是背景图片,字,以及对字的种种修饰,
包括加外框,下划线,中划线等

这需要有图层的概念,在显示区绘制第一个图层,是背景色或者是背景图片
第二个图层是字,第三个图层是字的修饰内容,例如外框,下划线,中划线等。

背景色,背景图片,字体大小,之类的信息,现在采用的是放在配置信息中。
这样做的好处是方便解析,但是灵活度不够。在以后的优化中,会采用类似于
HTML页面上的CSS语言的方式。

对于CSS的解析是一个代码规模比较大的解析子系统。在系统的2.0版本之后
才能考虑集成。

拼音输入法模块的查询逻辑
拼音与五笔的输入有不同,拼音的输入的字符比较多,可以多达十多个字母
,可以连续输入整个词语的拼音。并且拼音的重码字非常多,可以多达几十个
提示框一页内都显示不全,需要上翻,下翻,来显示。  还有四个音调的问题。
对于音调,目前的决定是不区别第几声音调。
例如 要打出英语这个词,拼音的输入是“yingyu”
区位码的分布格局,在前面的比如3500字是常用的高频字,以拼音的顺序进行排列
所以进行相应的压缩处理。 例如 拼音 "a" 它的字的区位码的范围是在1601到1605
所以拼音码的关联表,可以设计成如下的二维的数组。
[['a',1601,1605],['ai',1606,1609]]

对于输入的词语的拼音,是否需要把它断开,进行单独的查询,根据对以前做法的观察
拼音的分离是必须的,查询的时候可能不需要分别查询。例如 “yingyu”在显示时要
显示为“ying'yu”

五笔输入法与拼音输入法的混合应用问题,由于字母的组合形成的空间十分巨大,所以
把五笔输入法与拼音输入法所使用到的字母序列放在一起,它们的重码率也是极低的,
在这个情况下,在重码的情况下,根据优先级排序,都显示出来即可。

红孩儿编辑器的模块设计4相关推荐

  1. 用Tkinter打造自己的Python IDE开发工具(4)利用HP_tk模块设计自己的代码编辑器

    用Tkinter打造自己的Python IDE开发工具(4)利用HP_tk模块设计自己的代码编辑器 HP_tk.py模块是小白量化第二代量化系统中的开发模块.其中HP_tk.py模块是小白量化系统GU ...

  2. 用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器

    用Tkinter打造自己的Python IDE开发工具(5)利用HP_tka模块设计自己的中文代码编辑器 前面我们介绍了在Tkinter中使用exec()函数运行用户程序的方法.exec()采用多线程 ...

  3. C++ 开发者怒了:这个无用的模块设计最终会害死 C++!

    2018 年年底,C++ 标准委员会历史上规模最大的一次会议在美国 San Diego 召开,讨论了哪些特性要加入到 C++20 中.其中,Modules 便是可能进入 C++ 20 的一大重要特性: ...

  4. 三甲:在线富文本编辑器的架构设计及实践

    12月5日, 极客邦(InfoQ)在深圳举办 GMTC 大会,蚂蚁集团语雀编辑器技术同学三甲受邀参加大会并分享<在线富文本编辑器的架构设计及实践>,以下内容是根据现场演讲收集整理. 大家下 ...

  5. java毕业设计——基于java+JSP+sqlserver的Smart系统-题库及试卷管理模块设计与实现(毕业论文+程序源码)——学生信息管理系统模板2

    基于java+JSP+sqlserver的Smart系统-题库及试卷管理模块设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JSP+sqlserver的Smart系统-题库及试卷 ...

  6. 客户管理系统之模块设计(十)

    3,客户选择模块设计 客户选择模块是用来提供对已实用户的选择,当中左边用一个ListBox控件显示全部已经加入的客户,右边用一个ListBox显示选择的客户.每次最多选择两个客户.然后还须要加入一个P ...

  7. 常见模块设计--数据字典

    常见模块设计--数据字典 DROP TABLE IF EXISTS `dict_data`; CREATE TABLE `dict_data` (`id` int(11) NOT NULL AUTO_ ...

  8. 开发笔记:掉落系统模块设计思路

    本文所讨论的掉落系统是一个游戏中的通用模块,不仅局限于打怪时掉落物品,包括抽卡.开宝箱.任务奖励.活动奖励等功能都可以使用.抽象地说,掉落系统是由给定参数按照特定的算法生成一系列可附加在玩家身上的东西 ...

  9. HDLBits答案(6)_硬件模块设计的思考方式

    硬件模块设计的思考方式 HDLBits链接 基本的逻辑门操作 题目描述1:将输入端口in和输出端口out连接. Solution1: module top_module (input in,outpu ...

  10. PWM 发生器模块设计

    PWM 发生器模块设计 PWM 产生原理可得出以下两个主要电路: 定时器/计数器电路以及输出比较电路. 最终输出 PWM 波的频率计算公式为:

最新文章

  1. 2017年6月21号课堂笔记
  2. 2、RabbitMQ-simplest thing(简单队列)
  3. celery 学习笔记 01-介绍
  4. OpenCV场景重建
  5. 分享人生第一个游戏源代码
  6. python3.6.5怎么下载_windows下如何下载并安装Python 3.6.4 ?
  7. 纯Java中的Functor和Monad示例
  8. sql安装联机丛书提示发生网络错误_速达软件:安装问题解答
  9. 十大常用个人linux,Linux—常用十大命令
  10. Java笔记-使用logback按天生成日志并按等级进行分类
  11. golang.org/x/net包的安装方法
  12. Web前端开发技术 HTML、CSS、JavaScript pdf
  13. vMix(视频混合器软件)v22.0.0.48免费版
  14. dos 批处理for循环
  15. 第一期:GIS基本原理与arcgis软件
  16. 实景三维模型修补水面方法汇总及对比(DPmodeler、模方等)
  17. 上海满五非唯一,非普通性住房计算
  18. html5经纬度定位 源码_利用HTML5定位功能获取经纬度,在根据经纬度利用百度地图获取位置信息...
  19. 小程序地理位置接口wx.getLocation申请审核解决方法(详细说明及避坑)
  20. android 全套安装包,原神1.1直装版下载-原神1.1完整安装包v1.1安卓版下载_飞翔下载...

热门文章

  1. 曹鹏 其言其人 2009-06-15 17:44
  2. spring cloud 解决问题
  3. Groundhog Looking Dowdy(尺取大法)
  4. DPDK-实战之load_balancer(负载均衡)
  5. 校内校园网络技术标书(三少原创)
  6. VM虚拟机安装无法打开注册表项及虚拟网卡消失导致网络出错等问题
  7. 设计模式学习专栏六--------适配器模式
  8. rust使用vec在遍历时删除元素
  9. 【067】Color Hunter-用图片搜索配色方案
  10. pimple idiom C++