本答案是参考百度知道回答写的,原答案比较精简,只是做展开,尽量描述的详细些,便于参考。
原文地址:http://zhidao.baidu.com/link?url=05kzbhNQOYhtlwJIfMN1U8jQ_yg97N43LCc-RWjJv3PP9zibLdFtK7ogUbxFODM9_XRdEoKJrDZ_u5cgbDmc3_MfR0LnugJj6zGkH9Wm22i
一、适用版本:ueditor 1.3.6+(亲测1.4.3版有效)
二、打开/ueditor/ueditor.all.js,搜索“fontfamily”,定位到如下代码
将fontsize的代码替换为如下代码:
/*'fontsize': [10, 11, 12, 14, 16, 18, 20, 24, 36]*/
'fontsize': [
{ name: '\u516d\u53f7', val: 10},
{ name: '\u5c0f\u4e94', val: 12},
{ name: '\u4e94\u53f7', val: 14},
{ name: '\u5c0f\u56db', val: 16},
{ name: '\u56db\u53f7', val: 18},
{ name: '\u5c0f\u4e09', val: 20},
{ name: '\u4e09\u53f7', val: 21},
{ name: '\u5c0f\u4e8c', val: 24},
{ name: '\u4e8c\u53f7', val: 29},
{ name: '\u5c0f\u4e00', val: 32},
{ name: '\u4e00\u53f7', val: 34},
{ name: '\u5c0f\u521d', val: 48},
{ name: '\u521d\u53f7', val: 56}
]
P.S:由于WEB字号低于10没有什么使用价值,仅添加10px以上的字体,名称可以自己定义,只要把中文转为UNICODE就行了(貌似不转换直接用中文字符串也可以)。
三、还是在/ueditor/ueditor.all.js,搜索“editorui.fontsize”,定位到如下代码
将百度知道里84许的文件下载下来和原版对比可以看到差异
更改代码如下:
原版:
for (var i = 0; i < list.length; i++) {
var size = list[i] + 'px';
items.push({
label:size,
value:size,
更改后:
for (var i = 0; i < list.length; i++) {
var sizename = list[i].name;
var size = list[i].val + 'px';
items.push({
label:sizename,
value:size,
可以看到思路就在于把原来以像素字号表示的简单的fontsize属性细化,模仿了font-family的键值对书写方式,添加name和val两个属性,再在下方的ui代码拼接的地方将细化后的sizename和name值分别输出。
这样在实际生成的编辑器实例中即可看到生效
总结:非常感谢84许的思路和代码,通过模仿原有的属性键值对形式,以及观察前端展现方式,二次开发修改字号显示,是一个很好的customize ueditor的方法,鉴于ueditor已经万年不更新了,很多新的功能需要我们自行去研究修改,本文没有创新,只是细化扩展了84许的更改方式,做个知识的搬运工。