Archive for March 24th, 2005

HTML 语法加亮编辑器

终于为下一版的 WB Editor 搞定了HTML 语法加亮编辑器。

老的编辑器的原理同这篇文章。它实现了实时染色的功能 (highlight on the fly),但是一篇文章新载入时,全文染色效率极差 (feel it’s being choked)。

想了很多办法试图分页,但不成功。于是开始分析 SharpDevelop 的编辑器和 JSource 的编辑器的代码。发现如果自己从头做工程量巨大。接着向 SharpDevelop 开发者询价,得到个目前无法支付的价格。

回头再想,全文染色慢的主要原因就是用 SelectionStart 和 SelectionLength 两个属性来操作。甚至根据 Syntax colorizing with Speller engine using TOM and CSAPI 一文,用了 TOM 接口也没有改观。

再研究,能不能直接生成 rtf,终于发现 Delphi 的文章 Automatic Syntax Highlighting Using a RichEdit Control 介绍了 rtf 的格式以及 Syntax Highlighting With RichEdit 一文给出了生成 HTML 语法加亮 rtf 的办法。

用我现成的 HTML Tokenizer 接上去一试效果很好,200 多K 的HTML 加亮没有延迟的感觉。准备升级 WB Editor 2 了。

Add comment March 24th, 2005


Calendar

March 2005
M T W T F S S
« Nov   Nov »
 123456
78910111213
14151617181920
21222324252627
28293031  

Posts by Month

Posts by Category


1