相关知识点

onlyoffice字体来自于两个地方:

1、操作系统字体

  • Windows环境:C:\Windows\Fonts\
  • Linux环境:/usr/share/fonts/

2、onlyoffice自带字体

  • Windows环境:ONLYOFFICE\DocumentServer\core-fonts\
  • Linux环境:/var/www/onlyoffice/documentserver/core-fonts/

具体可查看字体编译的文件:

  • Windows环境:ONLYOFFICE\DocumentServer\bin\documentserver-generate-allfonts.bat
  • Linux环境:/usr/bin/documentserver-generate-allfonts.sh

如果不想系统字体也加入编译,这修改documentserver-generate-allfonts.bat的20行左右

--use-system="false"

(目前是将系统字体也加入编译的)

字体更新后刷新缓存的办法

1、打开onlyoffice文档页面,F12查看网络加载,找到AllFonts.js的加载路径,例如:
http://127.0.0.1:8083/6.1.0-83/sdkjs/common/AllFonts.js
2、将路径复制到url访问,然后按Ctrl+F5刷新,这个就获取了最新编译好的AllFonts.js
3、清除浏览器缓存
4、onlyoffice文档页面按Ctrl+F5刷新,即可看到更新后的字体下拉框

参考资料与中文字体

链接: https://pan.baidu.com/s/1b0bqeJVgDKjrmyktbymxMw
提取码: tnby

操作步骤

1. 查看onlyoffice的docker id
docker ps
2. 如果想字体选择下拉框中字体名称也显示中文,则需要提前准备中文字体(百度网盘中下载的字体,推荐使用这个),否则直接拷贝windows字体(windows操作系统对应目录下的字体)即可

字体中文名称修改请参考“onlyoffice 开发修练手册.docx”
此修改方法在Linux环境下测试成功,Windows环境下字体名称会显示乱码,可能是由于系统编码造成的,解决方法暂时未知

3. 把准备好的字体目录拷贝的文件cp到镜像内(在镜像外执行,镜像是否运行无所谓)
docker cp /root/fonts/windows/ [镜像id]:/usr/share/fonts/

删除原版字体:
进入容器:docker exec -it 容器id /bin/bash
cd /usr/share/fonts/
rm -rf *
cd /var/www/onlyoffice/documentserver/core-fonts/
rm -rf *

4. 进入容器
docker exec -it [镜像id] /bin/bash
5. 在镜像内,进入/usr/bin目录
cd /usr/bin
6. 执行命令刷新字体
./documentserver-generate-allfonts.sh
7. 退出容器
exit
8. 清除浏览器缓存,刷新页面
99. 修改字号显示

由于onlyOffice都是数字字号没有中文的“小初”“二号”,需要修改中文字号

进入容器,复制/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js

打开文件,(文件不要使用在线的格式化,保持原格式,否则会报错),查找字符串{value:8,displayValue:”8”},

把以下内容复制到{value:8,displayValue:”8”}前面,共3处:

{value:42,displayValue:”初号”},{value:36,displayValue:”小初”},{value:26,displayValue:”一号”},{value:24,displayValue:”小一”},{value:22,displayValue:”二号”},{value:18,displayValue:”小二”},{value:16,displayValue:”三号”},{value:15,displayValue:”小三”},{value:14,displayValue:”四号”},{value:12,displayValue:”小四”},{value:10.5,displayValue:”五号”},{value:9,displayValue:”小五”},{value:7.5,displayValue:”六号”},{value:6.5,displayValue:”小六”},{value:5.5,displayValue:”七号”},{value:5,displayValue:”八号”},

把已修改的app.js上传到linux根路径,执行下面的命令复制到容器中:

sudo docker cp /app.js 替换为容器id:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/

重启onlyoffice,清空本地缓存,完成替换(这里可能需要重启docker容器)。

文档更新时间: 2022-09-21 23:18   作者:凌云文档