【ITPUB 技术文章】在这里介绍二种方法:
第一种方法:这种是对ftb30源码进行修改,是春风(lhb)在师域的指导下完成的。具体修改如下:
一、在FreeTextBox3.0的Support目录,打开Helper.cs这个文件,在相应代码段添加蓝色部分(即您想添加的中文字体)
toolbarDropDownList.Items.Add(new ToolbarListItem("Courier New"));
toolbarDropDownList.Items.Add(new ToolbarListItem("Garamond"));
toolbarDropDownList.Items.Add(new ToolbarListItem("Georgia"));
toolbarDropDownList.Items.Add(new ToolbarListItem("Tahoma"));
toolbarDropDownList.Items.Add(new ToolbarListItem("宋体"));
toolbarDropDownList.Items.Add(new ToolbarListItem("仿宋体"));
toolbarDropDownList.Items.Add(new ToolbarListItem("楷体"));
toolbarDropDownList.Items.Add(new ToolbarListItem("隶书"));
toolbarDropDownList.Items.Add(new ToolbarListItem("黑体"));
toolbarDropDownList.Items.Add(new ToolbarListItem("华文行楷"));
toolbarDropDownList.Items.Add(new ToolbarListItem("Times", "Times New Roman"));
toolbarDropDownList.Items.Add(new ToolbarListItem("Verdana"));
修改文件Ftb3HtmlEditorProvider.vb
Dim tb As New FreeTextBoxControls.Toolbar
Dim zt As New FreeTextBoxControls.ToolbarListItem("黑体")
Dim ffm As New FontFacesMenu
ffm.Items.Add(zt)
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("楷体"))
tb.Items.Add(AddStylesMenu)
tb.Items.Add(New ParagraphMenu)
'tb.Items.Add(New FontFacesMenu)
tb.Items.Add(ffm)
tb.Items.Add(New FontSizesMenu)
Return tb
End Function
测试后点评:
1、第一种方法,在有ftb30源码的情况下,进行修改是最完美的,在保留原ftb编辑器字体的基础上,新增了添加的中文字体,并保留了原编辑器的默认设置。
2、第二种方法,进行修改后,在原编辑器中自带的 字体没有了,只有新增的字体,且更改了原编辑器的字体选择默认值(这样,在使用过程中,总感觉有点不太方便,如果在添加的中文字体前添加原来的英文字体,就好了),当然在没有ftb30源码的情况下,要实现增加中文字体功能,大厨师的这种方法还是很好的。建议采用第二方法的朋友,应在修改时 除了添加中文字体外,还应添加原ftb编辑器中的字体,这样就完美了:如:
Dim tb As New FreeTextBoxControls.Toolbar
Dim zt As New FreeTextBoxControls.ToolbarListItem("Arial")
Dim ffm As New FontFacesMenu
ffm.Items.Add(zt)
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("Courier New"))
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("Tahoma"))
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("Georgia"))
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("Courier New"))
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("Times", "Times New Roman"))
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("隶书"))
ffm.Items.Add(New FreeTextBoxControls.ToolbarListItem("华文行楷"))
tb.Items.Add(AddStylesMenu)
tb.Items.Add(New ParagraphMenu)
'tb.Items.Add(New FontFacesMenu)
tb.Items.Add(ffm)
tb.Items.Add(New FontSizesMenu)
Return tb