最近使用到onlyoffice,经过一番搜索借鉴终于把中文字体、字号解决,发现在迁移的时候竟然无法启动,经过一番折腾才成功,下面记录一下过程以备用。

1、下载docker,此处版本是18.06,安装过程略。

2、下载最新版的onlyoffice docker镜像或者使用已有的onlyoffice容器,

3、以上两步大都数都没问题,下面是关键的,迁移过的镜像cmd和环境变量是有问题,在启动容器时必须设置,查看onlyoffice镜像内的run-document-server.sh才发现,环境变量中的company_name、product_name必须设置为onlyoffice 、documentserver.如下即可

///启动一个新的实例,将本地端口映射到容器内的80端口,从其他镜像导出的onlyoffice必须加载对应的环境变量参数
docker run -i -t -d -p 8889:80 -e PATH=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -e LANG=en_US.UTF-8 -e LANGUAGE=en_US:en -e LC_ALL=en_US.UTF-8 -e DEBIAN_FRONTEND=noninteractive -e PG_VERSION=12 -e COMPANY_NAME=onlyoffice -e PRODUCT_NAME=documentserver onlyoffice:1.0 /app/ds/run-document-server.sh

4、字体处理
进入onlyoffice 的docker容器/usr/share/fonts ,删除里面所有的字体文件及子目录下的文件

5、进入docker容器内 找到/var/www/onlyoffice/documentserver目录下找到fonts、core-fonts目录,把里面的所有字体全部删除

6、在自己的Windows/fonts文件夹下找到中文字体,使用FontCreator-字体修改器修改需要的中文字体
在这里插入图片描述
在这里插入图片描述
最后导出文件格式选ttf

7、进入docker容器内,找到
/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js

/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/app.js
这两个文件,在文件内搜索所有 displayValue:“8”,选中该JSON数组,把数组内的元素全部替换成下文

{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:"八号"}

8、并把原来文件夹内的app.js.gz删除,使用新替换的app.js文件再调用gzip -k app.js 命令压缩为对应的文件

9、在容器内运行 /usr/bin/documentserver-generate-allfonts.sh 清理缓存即可

Logo

更多推荐