docker安装onlyoffice7.4.1.0社区版后添加删除字体
思韵闪耀
2023-10-20
0

服务器环境:anolis os 8.8 GA

Onlyoffice:7.4.1.0社区自编译版

操作电脑:Windows 10 22H2


一、准备中文字体新建一个文件夹fonts,从C:\Windows\Fonts复制你要的文字到fonts文件夹,如果有不是ttf\otf字体,下载Font Creator转换

二、使用Xftp上传fonts文件夹到linux服务器home目录下

三、使用Xshell登录服务器,清除onlyoffice原有字体,以下两个目录里面的都要清除

docker exec -it oodsce74 /bin/sh
cd /usr/share/fonts
rm -rf ./*
cd /out/linux_64/onlyoffice/documentserver/core-fonts/
rm -rf ./*

四、回到服务器复制fonts文件夹到容器

docker cp /home/fonts oodsce74:/usr/share/fonts/custom

本镜像word已经有常用中文字号,如果需要另外添加需要修改app.js并回传

docker cp oodsce74:/out/linux_64/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js /home/documentserver/
docker cp /home/documentserver/app.js oodsce74:/out/linux_64/onlyoffice/documentserver/web-apps/apps/documenteditor/main/

五、上传脚本到容器

重新生成字体需要执行documentserver-generate-allfonts.sh,本容器内没有,需要创建上传一个,代码如下,可以使用notepad--/notepad++,创建的文件格式需要是Uinx(LF) UTF8

#!/bin/sh
ONLYOFFICE_DATA_CONTAINER=false
if [ "$1" != "" ]; then
    ONLYOFFICE_DATA_CONTAINER=$1
fi
DIR="/out/linux_64/onlyoffice/documentserver"
#Start generate AllFonts.js, font thumbnails and font_selection.bin
echo -n Generating AllFonts.js, please wait...
"$DIR/server/tools/allfontsgen"\
  --allfonts-web="$DIR/sdkjs/common/AllFonts.js"\
  --allfonts="$DIR/server/FileConverter/bin/AllFonts.js"\
  --images="$DIR/sdkjs/common/Images"\
  --selection="$DIR/server/FileConverter/bin/font_selection.bin"\
  --output-web="$DIR/fonts"\
  --use-system="true"
echo Done
echo -n Generating presentation themes, please wait...
"$DIR/server/tools/allthemesgen"\
  --converter-dir="$DIR/server/FileConverter/bin"\
  --src="$DIR/sdkjs/slide/themes"\
  --output="$DIR/sdkjs/common/Images"
"$DIR/server/tools/allthemesgen"\
  --converter-dir="$DIR/server/FileConverter/bin"\
  --src="$DIR/sdkjs/slide/themes"\
  --output="$DIR/sdkjs/common/Images"\
  --postfix="ios"\
  --params="280,224"
"$DIR/server/tools/allthemesgen"\
  --converter-dir="$DIR/server/FileConverter/bin"\
  --src="$DIR/sdkjs/slide/themes"\
  --output="$DIR/sdkjs/common/Images"\
  --postfix="android"\
  --params="280,224"
echo Done
echo -n Generating js caches, please wait...
"$DIR/server/FileConverter/bin/x2t" -create-js-cache
echo Done
# Setting user rights for files created in the previous steps
chown -R root:root "$DIR/sdkjs"
chown -R root:root "$DIR/server/FileConverter/bin"
chown -R root:root "$DIR/fonts"
#Remove gzipped files
rm -f \
  $DIR/fonts/*.gz \
  $DIR/sdkjs/common/AllFonts.js.gz \
  $DIR/sdkjs/slide/themes/themes.js.gz
#Restart web-site and converter
if [ "$ONLYOFFICE_DATA_CONTAINER" != "true" ]; then
  if pgrep -x ""systemd"" >/dev/null; then
    systemctl restart ds-docservice
    systemctl restart ds-converter
  elif pgrep -x ""supervisord"" >/dev/null; then
    supervisorctl restart docservice
    supervisorctl restart converter
  fi
fi

docker cp /home/documentserver-generate-allfonts.sh oodsce74:/usr/bin/

六、进入容器重新生成字体

docker exec -it oodsce74 /bin/sh
sh /usr/bin/documentserver-generate-allfonts.sh

运行后会遇到找不到libicuuc.so.58的问题,解决方案如下

vim /etc/ld.so.conf.d/libc.conf

然后在下面加一行

/out/linux_64/onlyoffice/documentserver/server/FileConverter/bin

加上后保存退出,并执行以下命令

/sbin/ldconfig -v
sh /usr/bin/documentserver-generate-allfonts.sh
Exit

七、回到服务器重启容器

docker restart oodsce74

添加字号查找以下内容,注意不要使用工具格式化app.js

{value:8,displayValue:"8"}

常用字号

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




【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...