基于自编译的onlyoffice镜像,关于修改字体的问题

基于自编译的onlyoffice镜像,关于修改字体的问题

自编译onlyoffice镜像来自于 https://blog.csdn.net/Gemini1995/article/details/132427908

  1. 该镜像里面没有documentserver-generate-allfonts.sh文件,所以需要自己创建一个(建议放在/usr/bin下面),内容贴在下面
#!/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

然后用 cp 命令把该文件传到容器里面去
注意:直接贴过去可能会遇到 sh文件无法执行的问题,主要是因为 windows和 linux 的编码问题,使用 set ff=unix 就可以搞定了
该解决方案参考的是
https://www.cnblogs.com/tester-yu/p/17503243.html

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

执行

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

然后在下面加一行
/out/linux_64/onlyoffice/documentserver/server/FileConverter/bin
在这里插入图片描述

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

/sbin/ldconfig -v

该解决方案参考的是
https://blog.csdn.net/weixin_42310458/article/details/125180410

最后就可以执行

/usr/bin/documentserver-generate-allfonts.sh

最后再注意!

字体放在 /out/linux_64/onlyoffice/documentserver/fonts/ 下字体不会生效,得放在 /usr/share/fonts/ 下面才行

你可能感兴趣的:(onlyoffice)