其实,最初对RichEdit/RichTextbox发生兴趣,还是因为该死的 Markdown。
对于 Markdown,我有一个大胆想法。试考虑这个闭环:
假设日后我们能找到一组相对完美的可逆的双向转换代码库:
RTF --> Markdown
Markdown --> RTF
那么,我们便可以利用 RichEdit 来编辑/显示 Markdown 格式文档了!
让我来分析一下流程:
===============
1、打开一个 .MD 文档;
2、调用“Markdown --> RTF”,将 Markdown 标记转换为 RTF 标记;
3、利用RichEdit,WYSIWYG 编辑此 RTF 文档,以类似 Typora 的方式!而最终用户根本不可能知晓:此时此刻,我们内部编辑处理的,其实是 RTF 标记文档;
4、编辑结束,存档。此时调用“RTF --> Markdown”,将最终文档保存为 .MD 格式。
===============
整个文档编辑、修改的过程,我们的编辑器,根本无需真的去解析、渲染 Markdown 格式文档,一直都处在最古老的 RTF 领空!然而却能够实现近乎完美的 Markdown 实时 WYSIWYG 编辑!
这是最初的构想。
当然,这一切取决于如下必要前提——
在这个星球上,存在一组相对完美的、可逆的“Markdown <--> RTF”双向转换代码库。
可惜目前暂未能找到合适的转换库。Pandoc 据说可以实现双向转换,还是开源的,可惜太大啦,100MB+,且是64位,我试了一个多星期,都无办法将其编译成32位、小于10MB的DLL,以供VFP代码调用。
以上。就是我琢磨 RichEdit 的深层的原因所在啊!