论坛首页 编程语言技术论坛

JAte编辑器 0.1 alpha。

浏览 12009 次
精华帖 (0) :: 良好帖 (16) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-28  
看样子flash对html支持的还是不好啊,有测试过大文件吗?
0 请登录后投票
   发表时间:2009-03-28  
很不错。但是不能图文混拍。看来要等flex sdk4来支持图文混拍了
0 请登录后投票
   发表时间:2009-03-28   最后修改:2009-03-28
trains629 写道
看样子flash对html支持的还是不好啊,有测试过大文件吗?

有关超长文本的正好要说一下,一开始的效率不太好,重写过后改善很多,不过一定程度上依赖文本的复杂度。

flash的textfield中字体样式相关是这样的,每个字符都有一个textformat对象,可以根据索引取得,所有字符字体信息都在这个format对象里,要设定颜色、大小、字体、对其、粗体、下划线等等一切都是如此。

所以这样就涉及到一个问题:如果一次性设置很多字符串,比如100个,那就要对100个字符进行遍历,取得每个的format,然后修改,然后再存回去。这个速度之慢是相当恐怖的,一下子浏览器就卡死了。慢并不慢在遍历,我前面也说过了,遍历10w字符串也就几十ms,慢在存取和修改format对象上。

后来由于要写命令链里的FormatSelectCommand命令,就优化了算法,具体是:如果选择了一段文本,则先得到首尾索引,然后去textfield的htmlText中转换为相应的html索引。这就得到了这段字符串在html中的相应字符串,接下来就是难点。

比如html中是这样的:“test1</b>test2<u>test3<i>test4</i></u>test5”,在html中是分为5个区段,而在textfield中则是25个字符。其实这25个字符分为5个区段,每个区段的format是一样的,于是根据html中取出来的区段索引,转化为text的正常索引,再进行存取设置,如此性能就大大提升了。

这样的话,哪怕你选择1w个字符,只要它们拥有相同的format,也只进行设置一次而已,所以速度和设置1个字符几乎没有区别。但是也有这种情况:就是那种区段很多的字符串,比如每个字符故意设置为不同的颜色,那速度就是慢得狠了。不过我想很少有人会干这种事情吧……

如此一来,区段出来了,FormatSelectCommand也就水到渠成了,记录下区段索引和内容,存到命令链里就够了。值得注意的是,设置区段format之前要比较一下,因为很可能选择的字符串里面已经有某些部分是和要设置的一样的,比如要变成红色,而本来字符串中有红色,而这部分一是无需设置的,二是不能存到命令链中,否则在undo和redo时就会出错。
0 请登录后投票
   发表时间:2009-03-28  
ftmouse 写道
很不错。但是不能图文混拍。看来要等flex sdk4来支持图文混拍了

可以图文混排,图片部分我还没写,但是能不能控制图片就很难说了。textfield中的img标签是支持的,而且没有跨域影响。
0 请登录后投票
   发表时间:2009-03-30  
非常不错啊,顶两下(JavaEye说不能顶《1》下)!
0 请登录后投票
   发表时间:2009-03-30  
提一个需求,能否提供一个支持xsd的在线xml编辑器呢?

我的Lite XML在线演示中想用一个有语法提示的标准xml编辑器。
0 请登录后投票
   发表时间:2009-03-30  
jindw 写道
提一个需求,能否提供一个支持xsd的在线xml编辑器呢?

我的Lite XML在线演示中想用一个有语法提示的标准xml编辑器。

我的下代预研东西都被你说出来了……

这个是TextEditor,尚不涉及语法部分。实验成功以后考虑借助经验创建个新的项目——所以下一步的东西很可能被命名为JAse之类的东西,s就是语法的意思啦。没有了一些类似word的功能,但有了语法提示、纠错、属性列表之类的东西。

于是java、xml、js……等等都想支持……我又在做梦了……
0 请登录后投票
   发表时间:2009-03-31  
FlashPlayer10 提供了一个非常棒的文本引擎~!
Demo: http://labs.adobe.com/technologies/textlayout/demos/
0 请登录后投票
   发表时间:2009-04-01  
wills 写道
FlashPlayer10 提供了一个非常棒的文本引擎~!
Demo: http://labs.adobe.com/technologies/textlayout/demos/

看了了chm,发现的确新增在flash.text.engine包中很多东西。咱考虑在JAte2中使用新api写吧,落伍了……
0 请登录后投票
   发表时间:2009-05-02  
你提供的链接 怎么都没法看啦
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics