基于自编译的onlyoffice镜像,关于修改字体的问题
基于自编译的onlyoffice镜像,关于修改字体的问题
自编译onlyoffice镜像来自于 https://blog.csdn.net/Gemini1995/article/details/132427908
- 该镜像里面没有documentserver-generate-allfonts.sh文件,所以需要自己创建一个(建议放在/usr/bin下面),内容贴在下面
#!/bin/shONLYOFFICE_DATA_CONTAINER=false
if [ "$1" != "" ]; thenONLYOFFICE_DATA_CONTAINER=$1
fiDIR="/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 Doneecho -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 Doneecho -n Generating js caches, please wait...
"$DIR/server/FileConverter/bin/x2t" -create-js-cacheecho 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" ]; thenif pgrep -x ""systemd"" >/dev/null; thensystemctl restart ds-docservicesystemctl restart ds-converterelif pgrep -x ""supervisord"" >/dev/null; thensupervisorctl restart docservicesupervisorctl restart converterfi
fi
然后用 cp 命令把该文件传到容器里面去
注意:直接贴过去可能会遇到 sh文件无法执行的问题,主要是因为 windows和 linux 的编码问题,使用 set ff=unix 就可以搞定了
该解决方案参考的是
https://www.cnblogs.com/tester-yu/p/17503243.html
- 再次运行后会遇到找不到
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镜像,关于修改字体的问题
基于自编译的onlyoffice镜像,关于修改字体的问题 自编译onlyoffice镜像来自于 https://blog.csdn.net/Gemini1995/article/details/132427908 该镜像里面没有documentserver-generate-allfonts.sh文件,所以需要自己创建一个(建议放在/usr/b…...
1.wifi开发,wifi连接初次连接电脑没有识别,搭建环境
wifi连接初次连接电脑没有识别 1.不识别可能是线的问题,即使wifi的灯亮了,虽然串口却没有找到。所以解决方法就是重新来一个usb的线 一。初步使用 (1)使用ESP烧写工具(选择esp8266) (2…...
【JAVA-Day25】解密进制转换:十进制向R进制和R进制向十进制的过程
解密进制转换:十进制向R进制和R进制向十进制的过程 一、什么是进制转换1.1 进制1.2 进制转换 二、十进制转R进制2.1 转换算法2.2 示例代码 三、R进制转十进制3.1 转换算法3.2 示例代码 四、总结参考资料 ) 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的…...
牛客网字节面试算法刷题记录
NC78 反转链表 public ListNode ReverseList (ListNode head) {if(headnull) return head;ListNode phead.next,q,tailhead;tail.next null;while(p!null){q p.next;p.next tail;tail p;p q;}return tail;} NC140 排序 冒泡排序 public int[] MySort (int[] arr) {for…...
QT连接Sqlite
使用QTCreator; 根据资料,Qt自带SQLite数据库,不需要再单独安装,默认情况下,使用SQLite版本3,驱动程序为***QSQLITE***; 首先创建项目;在 Build system 中应选中qmake,…...
ChatGPT AIGC 完成各省份销售动态可视化分析
像这样的动态可视化由人工智能ChatGPT AIGC结合前端可视化技术就可以实现。 Prompt:请使用HTML,JS,Echarts 做一个可视化分析的案例,地图可视化,数据可以随机生成,请写出完整的代码 完整代码复制如下: <!DOCTYPE html> <html> <head><meta char…...
基于SpringBoot+Vue的餐饮管理系统设计与实现
前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻…...
2023 亲测好用版VScode配置文件
tasks.json {"tasks": [{"type": "cppbuild","label": "g++",// 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc 和launch中preLaunchTask保持一致// "command": "D:/Users/Downloads/ming…...
jmeter基础压力教程
Jmeter基础压力测试教程 一、安装Jmeter; 安装需求:1. JDK 8.0.91安装包(最新即可,配置环境变量) 2. Badboy2.25脚本录制工具(注:Jmeter3.0与badboy2.0不兼容) Jmerter安装包…...
图片格式大全
青春不能回头,青春也没有终点。 大全介绍 图片格式有多种,每种格式都有其独特的特性和用途。以下是一些常见的图片格式以及它们的介绍: JPEG(Joint Photographic Experts Group): 文件扩展名:…...
5.14.1.2 Get Log Page – Smart Log
SMART / Health Information (Log Identifier 02h) smart log 可通过nvme cli获取如下: 同样也可以通过get-log 命令获取到原始数据如下: 此日志页用于提供SMART和常用的helath 信息。所提供的信息在控制器的使用寿命内,并在整个power cycle前后都保留。要访问控制器日志…...
【深度学习实验】线性模型(一):使用NumPy实现简单线性模型:搭建、构造损失函数、计算损失值
#【中秋征文】程序人生,中秋共享# 目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入库 1. 定义线性模型linear_model 2. 定义损失函数loss_function 3. 定义数据 4. 调用函数 一、实验介绍 使用Numpy实现 线性模型搭…...
springcloud3 分布式事务-seata的四种模式总结以及异地容灾
一 seata四种模式比较 1.1 seata的4种模式比较 二 seata的高可用 2.1架构 1.建TC服务集群非常简单,启动多个TC服务,注册到nacos即可。 2.做异地多机房容灾,比如一个TC集群在上海,另一个TC集群在杭州, 3.微服务基…...
【办公类-16-06】20230901大班运动场地分配表-斜线排列、5天循环、不跳节日,手动修改节日”(python 排班表系列)
背景需求: 大班组长发来一个“运动排班”的需求表:“就是和去年一样的每个班的运动排班,就因为今年大班变成7个班,删掉一个场地,就要重新做一份,不然我就用去年的那份了(8个大班排班࿰…...
java学习--day13 (static关键字、异常)
文章目录 day12复习今天的内容1.static关键字【重点】1.1生活的角度来理解静态的资源1.2Java中的静态1.2.1static修饰成员变量1.2.2static修饰成员方法1.2.3static修饰代码块 2.异常2.1生活中的异常2.2Java中的异常2.3Throwable类2.4错误和异常2.5异常【重点】2.5.1异常的捕捉2…...
英飞凌TC3xx--深度手撕HSM安全启动(五)--TC3xx HSM启动流程、通信机制分析
在包含HSM的MCU的软件开发里,Host和Hsm应该为两个独立的软件工程。不管是Etas还是Vector的HSM包,都是需要单独收费的。 既然是单独的工程,相应的启动代码也是必须要有的。 在英飞凌的HSM固件架构里,HSM BootRom主要有以下几个作用:内部测试、生产使用、启动配置等。那么接…...
【窗体】Winform两个窗体之间通过委托事件进行值传递,基础篇
2023年,第38周。给自己一个目标,然后坚持总会有收货,不信你试试! 在实际项目中,我们可能会用到一些窗体做一些小工具或者小功能。比如:运行程序,在主窗体A基础上,点击某个按钮希望能…...
mac使用指南
新公司给配备了mac,可惜土鳖的我不会用,所以特地写了一篇文章记录学习mac的过程 快捷键 删除:commanddelete 光标移至最右/左:command右/左箭头 截图:commandshift3/4/5,3代表截全屏,4代表选…...
Git 版本控制系统 笔记
概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码 作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容【团队开发同一个项目的代码版本管理】 1、Git 安装 之前写了࿰…...
VRTK4⭐四.和 UI 元素交互
文章目录 🟥 安装Tilia Unity.UI🟧 配置射线与UI交互器1️⃣ 配置直线射线2️⃣ 配置UI交互器 🟨 配置UI1️⃣ 更新EventSystem2️⃣ 进行Canvas设置 我们要实现的功能: 右手触摸到圆盘:显示直线射线 右手圆盘键按下:与选中UI交互 Ƿ…...
告别付费电话!手把手教你用Linphone+SIP搭建免费语音视频通话系统(附服务器配置)
零成本构建企业级音视频通信系统:LinphoneSIP全栈实战指南 在远程协作成为主流的今天,企业每年为商业通信软件支付的订阅费用往往高达数万元。我曾为一家20人团队优化通信成本时发现,仅视频会议一项的年支出就超过3万元——而这一切完全可以通…...
矩阵本地化获客技术落地:同城流量精准匹配与合规运营方案
前言同城本地化流量是短视频生态中转化率最高、精准度最强的流量赛道,广泛适配本地生活服务、实体门店、同城咨询、区域服务商等各类业态。相比于泛全域流量,同城用户具备明确的地域消费属性、就近服务需求,成交意向更强烈,获客落…...
2026主流远控软件综合横测:4款工具全方位测试,谁更适合你?
用心测评,全程无广2026主流远控软件综合横测:4款工具全方位测试,谁更适合你?远程控制已成为个人办公、家庭协助、企业运维、游戏串流的刚需工具。本次横测聚焦ToDesk、向日葵、TeamViewer、网易 UU 远程四款主流产品,从连接性能、…...
Thorium浏览器:从源码到高性能Chromium分叉的实战指南
Thorium浏览器:从源码到高性能Chromium分叉的实战指南 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towards the top of the…...
基于Gemini CLI Blueprint框架构建AI命令行工具:从原理到实践
1. 项目概述与核心价值最近在折腾AI命令行工具,发现了一个挺有意思的项目:gplasky/gemini-cli-blueprint-extension。乍一看这个名字,你可能觉得它就是个给某个AI模型(Gemini)做的命令行扩展。但如果你深入进去&#x…...
Discord集成Claude智能体:极简Docker容器化部署与安全实践
1. 项目概述:一个为Discord量身定制的Claude智能体运行栈 如果你和我一样,既想在日常工作的Discord频道里无缝调用Claude这样的强大AI助手,又对复杂、臃肿的Bot框架感到头疼,那么 nanoclaw-discord 这个项目可能就是你在找的答…...
AI编程助手实战指南:从GitHub Copilot到全流程开发效率提升
1. 项目概述:当AI遇见编码的“氛围感”最近在GitHub上闲逛,发现了一个挺有意思的仓库,叫Sunil6512/awesome-ai-vibe-coding。光看名字,awesome-ai-vibe-coding,就透着一股子新潮味儿。它不是一个具体的工具或者框架&am…...
暖心指南|心理干预案例分享关键点!
行业痛点分析重庆市作为西部人口密集城市,心理健康问题呈现年轻化、复杂化趋势。调研数据显示,2022年全市心理健康机构年接诊量突破18万人次,但供需矛盾持续加剧。当前主要存在三方面挑战:临床诊断精度不足:传统评估依…...
上海交通大学用1万条数据打败了工业界巨头的AI搜索神器
这项由上海交通大学研究团队主导完成的研究,以技术报告形式于2026年5月5日发布在预印本平台arXiv,编号为arXiv:2605.04036v1。对这一领域有深入兴趣的读者可以通过该编号检索完整论文。**一个让整个AI圈子都有些意外的故事**先说一个背景:现在…...
New-API数据导出功能:轻松管理AI模型使用记录与账单数据
New-API数据导出功能:轻松管理AI模型使用记录与账单数据 【免费下载链接】new-api A unified AI model hub for aggregation & distribution. It supports cross-converting various LLMs into OpenAI-compatible, Claude-compatible, or Gemini-compatible for…...
