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

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/gggwfn1982/article/details/83998385