如何给ONLYOFFICE协作空间服务器和Vaps XT航电开发套件安装字体
目录
引子 onlyoffice协作空间介绍 vaps-xt航电开发套件介绍 操作系统安装字体 vaps-xt航电仪表安装字体 onlyoffice协作空间服务器安装字体 参考文献 相关阅读
引子
安装字体十分简单,把从网上下载到的字体TTF文件双击,就会自动打开字体的预览画面,在画面中选择安装字体,就安装上字体了。就可以在你的电脑里面的各种Office软件里面是用该字体了。
这是在Windows电脑上的字体文件预览安装器
这是在国产深度Deepin发行版本的Linux操作系统上面的字体文件预览安装画面,国产发行版甚至可以直接在系统自带的软件市场里搜索安装字体非常方便:
然后就可以在windows下面用MicroSoft Office使用新安装的字体了:
也可以在国产深度DeepIn操作系统上用ONLYOFFICE使用新安装的字体了:
而本文讲解的不是给自己的各种Office编辑器安装字体,而是给生产力工具的建造端,添加字体,这就既需要技术技能,又需要了解文字知识文学素养多国文化,还需要了解相关规定各国相关标准等等。
生产力工具的建造端就是本文的主角:ONLYOFFICE协作空间服务器和航电仪表开发软件Vaps XT。
ONLYOFFICE协作空间介绍
上面截图的是ONLYOFFICE桌面编辑器的Linux版本,它除了常规MS Office的本地使用功能之外,还可以连接ONLYOFFICE协作空间服务器,团队协作使用,这就是正经的生产力工具:
这截图就是在VirtualBox的虚拟机深度系统上安装了ONLYOFFICE协作空间服务器后,从真实Window10主机上用ONLYOFFICE桌面编辑器连接打开本地在线文档编辑的画面。这里展示的是一个C/S客户端服务器的模式,ONLYOFFICE协作空间也支持浏览器服务器B/S模式。
ONLYOFFICE协作空间,是Ascensio System SIA公司出品的,基于Web的,开源的,跨平台的,在线文档编辑和协作的解决方案。
在线Office包含了最基本的办公三件套:文档编辑器、幻灯片编辑器和表格编辑器,额外还支持了pdf格式文件的创建和编辑功能,还有表单文件的创建编辑功能,并且,还提供了在线文档转换、在线文档预览、在线文档协作等功能。
最关键的是如上图所示,多人在线实时协同办公功能,ONLYOFFICE协作空间创建一个个不同的虚拟房间,拉入不同的人进入虚拟房间就是一个团队一个team,每个人在团队中,可以创建自己的文档,也可以编辑其他人的文档,还可以查看其他人的文档,还可以和其他人分享自己的文档,还可以和其他人讨论自己的文档,还可以和其他人讨论其他人的文档。
这里所展示的是已经添加了字体的服务器的效果,站长一个人为全站安装,整个团队所有人都可以使用新字体了,站长并不是仅仅把字体文件安装到深度操作系统里就自动可以用了,还需要在服务器端进行些许的操作。
Vaps XT航电开发套件介绍
我们的飞行员朋友们在上真飞机之要前在电脑上面模拟飞行,这里的飞行仪表,就使用Vaps XT这样的开发工具来制造的,如上图所示,默认自带的仪表画面都是纯英文字符的,我们研发自己的飞机,肯定是要添加中文字体字库的,作为生产力工具的VapsXT和ONLYOFFICE协作空间在虽然似乎风马牛不相及,但实际上在添加字体的时候还是有很大的共性的,如果你觉得ONLYOFFICE安装字体的操作比较奇葩怪异,那么请你再看看VapsXT是如何添加字体的,就能更加理解字体安装的底层逻辑了。
操作系统安装字体
要在ONLYOFFICE协作空间服务器和Vaps XT上安装字体,第一步还是要先把字体安装到操作系统上。ONLYOFFICE协作空间服务器一般安装在Linux操作系统上,Vaps XT一般安装在Windows操作系统上,所以这里合在一起。
字体安装有两个层次,包括很多软件也是如此:安装到操作系统和安装给某一个用户使用这两种层次,虽然我们windows使用者都是自己一个人使用,但Windows和Linux都是多用户操作系统,安装到操作系统的层次则可以给所有用户使用,用户甲不能使用安装给用户乙的字体和软件。
安装字体就是把字体文件ttf拷贝到系统或当前用户的字体路径中去,路径如下:
字体路径 | Windows | Linux |
---|---|---|
操作系统 | c:\Windows\Fonts | /usr/share/fonts/ |
当前用户 | c:\Users\你的名字\AppData\Local\Microsoft\Windows\Fonts | /home/你的名字/.local/share/fonts |
使用图形界面或者双击安装字体,windows和linux都会默认的安装到当前用户的字体路径中去,但是,ONLYOFFICE协作空间和Vaps XT都默认的读取识别操作系统的字体路径,所以最好手动将字体拷贝至系统字体路径去。
你的名字就是当前系统用户的名字,大多数Windows个人电脑的使用者可能都没有注意到还有用户名这件事物,可以用命令whoami
来查看自己的用户名
这个命令这就是英文的'我是谁'的意思,在Linux系统下也是同样的命令:
在命令行环境下频繁使用ssh、su、runas、docker exec等命令的时候,可能会经常迷失自己忘了是谁,那么此时执行命令whoami
问一下我是谁就可以想起来你的名字了
使用图形界面或者双击安装字体,windows和linux都会默认的安装到当前用户的字体路径中去,但是,ONLYOFFICE协作空间和Vaps XT都默认的读取识别操作系统的字体路径
Vaps XT航电仪表安装字体
目录
添加TrueType字体 关于粗体、斜体、粗斜体 添加Raster字体 ttf2vrf vimp文件 vrf2vbfnt 拷贝示例脚本 修改示例脚本 执行脚本程序 添加Raster字体文件 最终效果
Vaps XT中添加字体主要有两种选择,如图所示Properties
属性窗口中在FontType
字体类型下拉选择框中,可以选择为Truetype
字体、或Raster
字体,而Vector矢量字体则只适合纯英文字符并且外观难看一般不用,Truetype字体是ttf字体文件的矢量字体,Raster字体是VapsXT处理过的位图字体,一般显示效果没有区别,为了渲染效率、跨平台移植等考虑,推荐使用Raster字体,两者的关系如下图所示
添加TrueType字体
需要将安装到系统路径c:\Windows\Fonts
中的字体文件拷贝至Vaps XT当前根工程的如下路径下XT工程根路径\Tables\Font
:
然后就能在XT的新加字体的属性框中的FontName下拉框中找到拷贝进路径里的新字体了:
放在工程路径下的好处是可以方便日后把整个工程打包拷贝到其他电脑上,或者继续开发或者搞嵌入式移植等等。
注意,XT读取不是字体名,而是字体文件ttf文件名,并且文件名中不得包含中文字符,否则加不进来。
这个少女的心事手帐本从网络上下载的时候它本身就已经是纯字母文件名了,很多字体设计师写字体习惯以中文命名,那就需要自己再改一下名字了,并且,这个少女的心事手帐本的汉语拼音给拼错了是她的原作者错的!
关于粗体、斜体、粗斜体
添加字体操作如果始终无法出现在字体下拉框中,那么可以从属性对话框的最下面的几行属性,点击右侧的按钮打开文件对话框,直接去选择ttf字体文件:
注意看,字体的粗体、斜体变换,是要有多个ttf文件的支持的,比如Windows操作系统的系统字体路径中,字体和字体的图标是不一样的,下图中左侧这个arial字体的图标是多个文件的图标,就说明这个字体包含具体的多个ttf文件,包含了普通的字体、粗体字体、斜体字体等,而右侧的这个图标只有一张纸的样子,就表明这个字体只有单一的一个ttf文件:
点进去查看arial字体包含如下这么多字体文件:
对于西方字母文字来说,Windows操作系统里面典型的如上图所示,一种字体提供很多个ttf字体文件,分别对应普通的、粗体的、斜体的、又粗又斜的等等。为什么呢?因为对于西方字母文字,斜体或者粗体,在书写方法上,是有些字母的写法不一样存在变化的,比如下图中的aefgvwy等字母:
字母f的斜体,其尾巴是要伸出下划线的字母g的斜体比正常的g更像手写的字母g的写法,因此,西方字母文字的斜体,一般不采用软件程序在渲染的时候再现场图像运算施加变斜的效果,而是直接在源头采用不同的斜体字母的ttf字体文件,当然,几乎所有的Office软件里面也都是还必备了基本的功能就是把没有斜体的普通字体施加斜体效果的功能,比如下图中的金文大篆体,字体文件只有一个ttf文件,添加到操作系统中也就一个字体,但是ONLYOFFICE里面,仍狗能把金文大篆体施加倾斜的变形效果:
中文书法家一般不制作斜体、粗体的字体ttf文件的原因是,中文本身就没有区分什么斜体、粗体的说法,汉字自古以来就是方块字,横平竖直,从甲骨文开始,到篆书、楷书、到隶书、草书、行书,到印刷体的宋体、黑体,都是方块字,而在西方世界,随便搜一些书法艺术,基本上都有大量的向右倾斜的写法:
与基督教世界对抗数千年的伊斯兰教世界似乎正相反,笔画都是向左倾斜的:一行文字也都是从右向左书写的:
幸运的是现在的ONLYOFFICE编辑器不但支持中英文这种从左向右的文字,也支持了阿拉伯们从右向左书写的文字甚至提供了从右向左的软件GUI界面,当然我不建议你去尝试。
如上图所示,如果一个中文字体提供加粗、斜体等字体文件的,基本上都是国外的字体生产商,例如鹰酱家的微软、Ado6e等大厂,比如下图是国外600614大厂的中文宋体字库竟然包含了7个独立的字体文件:
这就是典型的西方人按照他们的逻辑来套用在他们的外国中国的事物上的霸道行为了,其实意义不大,西方人还把汉字的宋体当作类似于他们自己的哥特字体一样的东西呢,这误解可大了去了!
这不是英文,而是哥特体的德文:
★阿尔特·施瓦巴赫:维克多追赶十二名拳击手穿过叙尔特岛堤坝
中文如果非要照搬学习西方字母文字的倾斜、加粗等变形,那就只能是纯粹的在渲染的层面上施加图像变形运算,就像上面截图举例的ONLYOFFICE将金文大篆体施加斜体效果、加粗效果。而对应的在VapsXT中,添加TrueType类型字体,软件本身是没有提供施加斜体、加粗的算法功能的,只能添加对应斜体、粗体的ttf字体文件来实现,VapsXT只针对添加为Raster类型的字体提供了在倾斜、粗体等变形效果,因此,在VapsXT里面推荐再进一步,把TrueType类型字体转换为Raster类型字体加入。
添加Raster字体
回到VapsXT软件中,还是这张字体处理流程图:
通过XT自带的处理工具ttf2vrf,把单一的一个普通ttf字体文件,可以预处理成斜体的、普通的字体的字库文件,再用自带的编译处理工具vrf2vbfnt将多种字形的中间字库文件编译合成为单一的一个Raster类型字体vbfnt格式文件
ttf2vrf.exe | vrf2vbfnt.exe | |
---|---|---|
原始格式 | TrueType(.ttf) | Raster Font XML(.vimp) |
转为格式 | Raster Font XML(.vimp) | Raster Font binary(.vbfnt) |
具体细节非常丰富,需要参考VapsXT的飞行手册Working with text and fonts。
太长不看版:
VapsXT自带了几个示例脚本程序,功能就是调用这两个exe文件,从truetype类型的.ttf字体文件转换为Raster类型的.vbfnt字体文件。与其底层操作这两个exe,不如直接拷贝这些示例.bat脚本修改为自己的版本来执行。
这几个示例程序所在路径为:
%VAPSXT_DIR%/\Projects\StandardElements\Fonts\TrueTypes
这里的%VAPSXT_DIR%是VapsXT安装后添加到Windows操作系统的一个环境变量,用来指代该软件被安装到的位置,如果没有特意指定,默认安装的路径一般是:
d:\Presagis\VAPS_XT_5_0
一些很有技巧性地操作会使用该变量或修改该变量,比如在一台计算机上安装多个不同版本的VapsXT,通过修改该变量来使用不同版本的XT来开发,还可以通过echo
命令来查看该变量当前的值:
这两个exe文件位于
%VAPSXT_DIR%/bin
路径下,此路径已经被自动注册为系统环境变量,可以直接在cmd中运行。
拷贝示例脚本
新建一个文件夹,路径里不能有中文字符,最好也不要有空格,把原始字体ttf文件放进来,把示例脚本GenerateSerif.bat
拷贝到该文件夹中,还要把几个纯文本说明文件Serif_CJK_Description.txt
、Serif_CJK_HD_Description.txt
、Serif_CJK_Notice.txt
也拷贝进来,在此基础上手动修改。
userjia@WRJ d:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen>copy d:\Presagis\VAPS_XT_5_0\Projects\StandardElements\Fonts\TrueTypes\*Serif*.bat
d:\Presagis\VAPS_XT_5_0\Projects\StandardElements\Fonts\TrueTypes\GenerateSerif.bat
已复制 1 个文件。
userjia@WRJ d:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen>copy d:\Presagis\VAPS_XT_5_0\Projects\StandardElements\Fonts\TrueTypes\*Serif*CJK*.txt
d:\Presagis\VAPS_XT_5_0\Projects\StandardElements\Fonts\TrueTypes\Serif_CJK_Description.txt
d:\Presagis\VAPS_XT_5_0\Projects\StandardElements\Fonts\TrueTypes\Serif_CJK_HD_Description.txt
d:\Presagis\VAPS_XT_5_0\Projects\StandardElements\Fonts\TrueTypes\Serif_CJK_Notice.txt
已复制 3 个文件。
userjia@WRJ d:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 5474-A126
d:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen 的目录
2024/04/09 10:17 <DIR> .
2024/04/09 10:17 <DIR> ..
2022/11/18 17:46 14,373 GenerateSerif.bat
2022/11/18 17:46 363 Serif_CJK_Description.txt
2022/11/18 17:46 374 Serif_CJK_HD_Description.txt
2022/11/18 17:46 346 Serif_CJK_Notice.txt
2024/04/08 17:11 10,517,900 shaonuxinshishouzhangben.ttf
5 个文件 10,533,356 字节
2 个目录 225,617,625,088 可用字节
userjia@WRJ d:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen>
修改示例脚本
首先改名为新的字体的名字,不能包含中文字符,推荐用汉语拼音。首先把这几个txt文件的内容修改一下,随便写一些,不要有中文字符。
这些txt文件会在下面的步骤中被读取写入到二进制字体文件中,形成字体中的说明信息。
最关键的是.bat脚本文件,能少修改就少修改,减少bug产生的可能性。首先在文件头部的注释里面标出是从哪里下载的,好消息是脚本文件里面可以用中文注释:
REM The fonts are from: https://font.chinaz.com/23090217486.htm
REM 修改为“少女的心事手账本”字体的导入程序
原脚本中直接使用的就是它对于字符编码区段的定义部分,省去了自己去定义麻烦:
编码范围参数-range本身支持的范围是1到65535,也就是十六进制的0xFFFF,如果不清楚各国语言文字的区段,并且如果本身没有下位机性能限制,也可以偷懒直接射为全部范围。
ttf2vrf
在脚本中调用ttf2vrf.exe
工具将.ttf
文件转换为.vimp
文件。ttf2vrf.exe
读取truetype字体文件,解析,生成一个中间文件.vimp
,这是纯文本的xml格式的文件,因此文件体积非常大,并且将要为不同大小尺寸的点阵生成多个.vimp
文件,因此执行前需要检查一下电脑的磁盘空间是否还足够大。
转换出来的*.vimp文件默认输出路径:
%VAPSXT_DIR%\Projects\StandardElements\Fonts
强烈建议用参数-dest来修改,更改到当前字体处理文件夹,处理完后检查无误再拷贝回XT软件自身的字库路径中去。
示例脚本文件中的要转换的示例字体ttf文件是存在普通Regular的、粗体Bold的,以及Italic斜体的ttf文件的,但是新加的一般的中文字体只有一个ttf文件,因此实际上只需要一组,其它的都删掉
重新命名一下.vimp
中间文件,将NotoSerif_
替换为nidezitiming_
将中文的区段%CJK_RANGES%加在每一行的末尾
需要注意的是-name参数命名目标vimp文件名,原始字体名如果有中文的话,默认生成的目标文件名就会被变成横线,所以这里必须要用上该参数来重新命名目标文件,例如:
TTF2vrf.exe -src .\仿宋_GB2312.ttf -dest D:\VapsXTWork\Fonts\ -range 0x1 0xFFFF -name FangSong_GB2312
vimp文件
中间文件.vimp文件,实际上是字模文件,打开看,一片一片的点阵数据:
细看看不出来?注意看代码编辑器右侧的缩略图,缩小了这么一看,就能看出来是一个一个的汉字,但这些字是翻转过来的,然后编译为二进制数据文件,加载到XT里面再渲染出来,就是汉字了
这是西方文字的活字印刷,也和我兔古代的活字印刷一样,字模也都是反写的字,看不出来是什么字?那就把图片放进ONLYOFFICE幻灯片编辑器里面,把字模施加一个翻转的效果,就立刻能看懂了:
vrf2vbfnt
这一步是编译出二进制的.vbfnt
字体文件,从上一步.ttf2vrf
生成的多个.vimp
文件再合并编译出一个最终的字体文件,给XT加载使用,vbfnt二进制压缩文件虽然不可读,但是其内部结构是这样的:
直接show代码,说明就在代码的注视里:
REM IF EXIST Serif.vbfnt ( del /F /Q Serif.vbfnt )
IF EXIST ShaoNvDeXinShiShouZhangBen.vbfnt ( del /F /Q ShaoNvDeXinShiShouZhangBen.vbfnt )
REM 这几个说明文档txt里面不能有中文字符!推荐使用汉语拼音
vrf2vbfnt -new ShaoNvDeXinShiShouZhangBen.vbfnt -family "ShaoNvDeXinShiShouZhangBen" -version "1.1" -default-size 12 96 -description ShaoNvDeXinShiShouZhangBen_Description.txt -notice ShaoNvDeXinShiShouZhangBen_Notice.txt -style Regular
vrf2vbfnt -edit ShaoNvDeXinShiShouZhangBen.vbfnt -style Regular -style Bold -fallback Regular -style Italic -fallback Regular -style BoldItalic -fallback Bold
vrf2vbfnt -edit ShaoNvDeXinShiShouZhangBen.vbfnt -style Regular -src vrf_ShaoNvDeXinShiShouZhangBen_Regular_24.vimp -src vrf_ShaoNvDeXinShiShouZhangBen_Regular_18.vimp -src vrf_ShaoNvDeXinShiShouZhangBen_Regular_36.vimp -src vrf_ShaoNvDeXinShiShouZhangBen_Regular_48.vimp
REM 粗体和斜体的字形并没有单独的原始ttf文件,因此用下面的参数,从Regular字形来计算出斜体和粗体的点阵Raster效果编译进入字体文件中
REM -weight参数后的数值是笔划的重量,越重越粗,-angle后的数值是倾斜角度,正值向右倾斜数值越大倾斜越大
vrf2vbfnt -edit ShaoNvDeXinShiShouZhangBen.vbfnt -style Bold -weight 9 -fallback Regular
vrf2vbfnt -edit ShaoNvDeXinShiShouZhangBen.vbfnt -style Italic -angle 12 -fallback Regular
vrf2vbfnt -edit ShaoNvDeXinShiShouZhangBen.vbfnt -style BoldItalic -angle 12 -weight 9 -fallback Regular
vrf2vbfnt -info ShaoNvDeXinShiShouZhangBen.vbfnt
最后一段代码是生成HD版本的点阵字体文件,最终的代码行数只有不到一百行,XT软件自带的原始示例脚本程序将近一百行,新添加的中文字体的处理脚本精简的代码主要是精简了斜体、粗体等字体文件的单独处理的部分了
执行脚本程序
执行字体处理会花费数分钟之久,执行完毕后,当前文件夹下会生成如下文件
体积最大的是这些.vimp
中间文件,其实可以手动删掉它们了,更高级的玩法比如多个字体合并就可能需要保留之前的中间文件,在脚本中直接执行vrf2vbfnt
提高处理速度了
添加Raster字体文件
最后把生成的vbfnt文件拷贝到XT当前的项目的字体文件夹路径下:
D:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen>copy *.vbfnt d:\VapsXTWork\XT-Tutorial\Tables\Font\
ShaoNvDeXinShiShouZhangBen.vbfnt
ShaoNvDeXinShiShouZhangBen_HD.vbfnt
已复制 2 个文件。
D:\VapsXTWork\Fonts\ShaoNvDeXinShiShouZhangBen>
在XT里的字体列表添加新字体,选择Raster
点阵类型,FontName
下拉框内如果找不到的话,可以在FontResource
条目的右侧的按钮点击,打开文件选择框,手动选择拷贝进来的vbfnt
文件:
最终效果
然后就可以在飞机上写手帐了:
Raster类型的字体可以施加斜体效果,而粗体效果呈现不出来,并不知道为什么,TrueType类型的字体没有斜体也没有粗体只有本身。
ONLYOFFICE协作空间服务器安装字体
目录
拷贝字体文件进入docker容器里的系统字体路径 在docker容器内执行字体导入脚本程序 导入程序它都做了什么 使用新字体
在ONLYOFFICE协作空间服务器上,把字体ttf文件拷贝安装到系统路径和用户路径中去,并不会自动的让协作空间服务器加载在服务里面,还需要参考Adding fonts to ONLYOFFICE Docs执行一个脚本程序来导入字体,非常类似于VapsXT的字体处理过程。
ONLYOFFICE协作空间服务器参考官网这一片ONLYOFFICE文档服务器添加字体的帮助是没错的,本质上ONLYOFFICE协作空间服务器是包含了一个ONLYOFFICE文档服务器的,是对它的一个封装,封装了在线文档存储空间管理DMS的服务功能,增加了虚拟房间的服务功能,增加了网站门户的服务功能,因此,协作空间服务器安装字体可以照此办理。
以自己的私人服务器为例,是在真实Windows主机上使用VirtualBox虚拟机安装的国产深度Deepin发行版的Linux操作系统,在深度操作系统上,使用Docker方式安装ONLYOFFICE协作空间服务器,关于这个过程,有之前的图文介绍:
如何在国产深度发行版 Linux 上部署 ONLYOFFICE 协作空间社区版?
因为是使用的Docker方式安装的ONLYOFFICE协作空间服务器,所以字体文件要拷贝到Docker容器里面去,而不是仅仅拷贝到Linux主机里面去,比官方的手册稍微麻烦一些。
拷贝字体文件进入Docker容器里的系统字体路径
Docker不太会怎么办?你还在用百毒来搜索就太low啦,现在程序员们都流行直接问人工智能了,自己就是问的我大清的智谱AI这个ONLYOFFICE插件了:
从宿主机向Docker的ONLYOFFICE协作空间服务器的容器内拷贝字体的命令如下:
sudo docker cp Downloads/Fonts onlyoffice-document-server:/usr/share/fonts
在docker容器内执行字体导入脚本程序
从宿主机的命令行环境,进入到docker容器内的命令行环境,命令如下:
sudo docker exec -it onlyoffice-document-server bash
忘了自己是谁了的话,可以用whoami命令来查看当前自己是不是在Docker容器里面,在ONLYOFFICE协作空间的容器内自己是root,也可以从命令行的前导符看到,如下图所示,然后就可以直接执行字体导入脚本命令:
documentserver-generate-allfonts.sh
导入程序它都做了什么
如果你急着使用新字体,可以跳过这里直接看下一节使用新字体,而如果你嫌这个脚本程序documentserver-generate-allfonts.sh
太长而看不懂的话,可以看看这里的太长不看版的解释。这个脚本程序扫描了操作系统或者docker容器内的字体文件夹里面所有安装的字体,然后会被加入生成脚本文件AllFonts.js
中,该文件并不是会被执行的脚本,而是脚本化的字库数据文件,如果是在容器内,则该路径非常的长:
文件内容开头部分截图部分如下所示:
该文件生成用在文档编辑器中的字体缩略图,并添加字体的度量标准到文件font_selection.bin
中以供ONLYOFFICE服务器在底层调用使用,该文件则是编译过的纯粹的二进制数据文件,ONLYOFFICE协作空间服务器的字体安装过程,实际上就是从操作系统端安装的字体出发,经过处理,生成其自身使用的这几个底层字体列表选择数据文件的过程,类似于VapsXT添加字体生成FontTable字体列表的过程。
使用新字体
在docker容器内执行字体导入脚本程序之后,重启服务器,客户端浏览器使用在线ONLYOFFICE Docs情况下,清除浏览器缓存后刷新页面,就可以使用新添加的字体了。客户端使用ONLYOFFICE桌面版编辑器的话,也可以使用服务器端安装的各字体了:
an illustrated collection of engraving techniques, methods and tools from an unknown book : English written shaded letters / English script shaded letters: https://www.alamy.com/islam-the-shahada-or-declaration-of-faith-in-arabic-script-the-shahada-is-the-muslim-declaration-of-belief-in-the-oneness-of-allah-and-acceptance-of-muhammad-as-gods-prophet-the-declaration-reads-la-ilaha-illallah-muhammad-ur-rasul-ullah-in-arabic-and-translates-there-is-no-god-but-god-and-muhammad-is-the-messenger-of-god-in-english-image344226923.html?imageid=ED21049C-CA45-4CB5-BE1F-642265F2235B&p=871016&pn=1&searchId=162888f582be3209089c9e7d7427584d&searchtype=0
[2]Islam: The Shahada or Declaration of Faith in Arabic script. The Shahada is the Muslim declaration of belief in the oneness of Allah and acceptance of Muhammad as God's prophet. The declaration reads: ‘la ilaha illallah, Muhammad ur rasul ullah’ (in Arabic) and translates: ‘There is no God but God, and Muhammad is the messenger of God’ (in English).: https://www.alamy.com/islam-the-shahada-or-declaration-of-faith-in-arabic-script-the-shahada-is-the-muslim-declaration-of-belief-in-the-oneness-of-allah-and-acceptance-of-muhammad-as-gods-prophet-the-declaration-reads-la-ilaha-illallah-muhammad-ur-rasul-ullah-in-arabic-and-translates-there-is-no-god-but-god-and-muhammad-is-the-messenger-of-god-in-english-image344226923.html?imageid=ED21049C-CA45-4CB5-BE1F-642265F2235B&p=871016&pn=1&searchId=162888f582be3209089c9e7d7427584d&searchtype=0
相关阅读
简单认识一下我们汉字的书法与字体
如何为自己的在线办公软件 ONLYOFFICE Docs 服务器的字体库添加字体
空天战斗机 HUD 上把 ADI 和 HSI 集成的一种尝试思路
如何在VapsXT和SimplePlanes里放置底图来建模
手把手教你用Total Commander辅助做航电开发
从两件收藏品回顾一下回不去的历史
欢迎长按右腿膝板上二维码关注天宁科工公众号!
欢迎长按自己二维码加好友!然后可以被邀请进入外联群!
B站直播间
欢迎加入QQ群!