1. 程式人生 > >紅孩兒編輯器的模組設計4

紅孩兒編輯器的模組設計4

紅孩兒編輯器的模組設計4

 編輯器主顯示區的樣式渲染的邏輯
例如在顯示區有背景色或者是背景圖片,字,以及對字的種種修飾,
包括加外框,下劃線,中劃線等

這需要有圖層的概念,在顯示區繪製第一個圖層,是背景色或者是背景圖片
第二個圖層是字,第三個圖層是字的修飾內容,例如外框,下劃線,中劃線等。

背景色,背景圖片,字型大小,之類的資訊,現在採用的是放在配置資訊中。
這樣做的好處是方便解析,但是靈活度不夠。在以後的優化中,會採用類似於
HTML頁面上的CSS語言的方式。

對於CSS的解析是一個程式碼規模比較大的解析子系統。在系統的2.0版本之後
才能考慮整合。

拼音輸入法模組的查詢邏輯
拼音與五筆的輸入有不同,拼音的輸入的字元比較多,可以多達十多個字母
,可以連續輸入整個詞語的拼音。並且拼音的重碼字非常多,可以多達幾十個
提示框一頁內都顯示不全,需要上翻,下翻,來顯示。  還有四個音調的問題。
對於音調,目前的決定是不區別第幾聲音調。
例如 要打出英語這個詞,拼音的輸入是“yingyu”
區位碼的分佈格局,在前面的比如3500字是常用的高頻字,以拼音的順序進行排列
所以進行相應的壓縮處理。 例如 拼音 "a" 它的字的區位碼的範圍是在1601到1605
所以拼音碼的關聯表,可以設計成如下的二維的陣列。
[['a',1601,1605],['ai',1606,1609]]

對於輸入的詞語的拼音,是否需要把它斷開,進行單獨的查詢,根據對以前做法的觀察
拼音的分離是必須的,查詢的時候可能不需要分別查詢。例如 “yingyu”在顯示時要
顯示為“ying'yu”

五筆輸入法與拼音輸入法的混合應用問題,由於字母的組合形成的空間十分巨大,所以
把五筆輸入法與拼音輸入法所使用到的字母序列放在一起,它們的重位元速率也是極低的,
在這個情況下,在重碼的情況下,根據優先順序排序,都顯示出來即可。