我需要如下功能:
1、Unicode代理对支持与字体Fallback。
也就是说
𡒄(U+21484)
𨱏(U+28C4F)
𪞝(U+2A79D)
𪡏(U+2A84F)
这几个字只要安装了正常的字体(比如中日韩汉字超大字符集(SuperCJK) 通用字体支持包 5.4),就应该能正常显示,而不是变成两个字、显示成缺字或者不显示。
2、支持对各个字符分别设置颜色。可以用来实现语法高亮或者差异高亮等功能。
3、容忍0D 0A换行符和0A换行符,而不对它们做任何改变。
目前.Net自带的两个控件TextBox和RichTextBox。
TextBox控件支持第一项和第三项。但是似乎无法设置颜色。
RichTextBox支持第二项。对第一项,只能保证Unicode代理对支持,但是不支持Fallback。
我也试过了几个开源的控件,没有几个能正常支持第一项的。 最好的一个是CodeProject上的colortextbox,可以正常显示这些字,但是是看作的两个字,最关键的是,无法使用输入法。
请问大家有没有谁遇到过这些问题,并且找到了合适的控件,或者做了这种控件呢?
自己做这种控件还是挺麻烦的。
dotnetbar,sysfusion的都可以。