CN115622997B - 一种共享宿主字体库的方法、装置及存储介质 - Google Patents
一种共享宿主字体库的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115622997B CN115622997B CN202211322122.3A CN202211322122A CN115622997B CN 115622997 B CN115622997 B CN 115622997B CN 202211322122 A CN202211322122 A CN 202211322122A CN 115622997 B CN115622997 B CN 115622997B
- Authority
- CN
- China
- Prior art keywords
- font library
- font
- list
- file
- directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种共享宿主字体库的方法、装置及存储介质,方法包括:检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;读取当前Debian子系统的第二字体库目录中第二字体库列表,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表;若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致,以实现Debian子系统与宿主机的字体库的共享。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种共享宿主字体库的方法、装置及存储介质。
背景技术
Windows Subsystem for Linux(WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
一个宿主机可以有多个Debian子系统,每个Debian子系统只支持自带字体库,不能共享宿主机的字体库。当装在宿主机上的WSL虚拟软件使用宿主机的字体库而不使用Debian子系统自带的字体库时,WSL中的Debian服务器上操作文档或者是功能类导出文档时就出现乱码。
发明内容
本发明提供了一种共享宿主字体库的方法,以实现Debian子系统与宿主机的字体库的共享。
为了实现Debian子系统与宿主机的字体库的共享,本发明实施例提供了一种共享宿主字体库的方法,包括:检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;读取当前Debian子系统的第二字体库目录中第二字体库列表,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表;
若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致。
作为优选方案,本发明的共享宿主字体库的方法,在WSL启动后,分别获取宿主机和Debian子系统的字体库列表,每隔预设时间将两者对比一次,若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中与第二字体库目录不一致的第一字体库文件上传到第二字体库目录中,将宿主机的字体库文件共享到Debian子系统中,根据所述第一字体库文件安装字体,整个过程实现全流程自动化字体安装,并实现宿主机的字体以及后续更新和安装的字体同步更新到wsl中的Debian服务器中,在wsl中的Debian服务器上操作文档或者是功能类导出pdf之类的不再出现乱码。
作为优选方案,将宿主机的第一字体库目录中的第一字体库列表写入redis队列,还包括:
当第一字体库列表发生变化后,更新第一字体库列表,并再次写入redis队列。
作为优选方案,在WSL启动后,宿主机有可能安装新的字体,当宿主机安装新的字体后,宿主机的第一字体库目录中的第一字体库列表会随之更新变化,再次写入redis队列,保证在宿主机安装新的字体后,也能够同步更新到wsl中的Debian服务器中,将宿主机的字体库文件共享到Debian子系统中。
作为优选方案,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表,具体为:
每隔预设时间判断一次第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应;其中,一个第一字体库目录中的字体库文件对应宿主机的一种字体;一个第二字体库目录中的第二字体库文件对应当前Debian子系统的一种字体。
作为优选方案,通过第二字体库列表与第一字体库列表的对比,判断第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应,若宿主机和Debian子系统的字体库文件不完全一致,则说明需要将宿主机的字体库文件共享到Debian子系统中。
作为优选方案,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表之后,还包括:
若所述第二字体库列表与所述第一字体库列表一致,则不需要对第二字体库目录下的第二字体库文件进行修改。
作为优选方案,若所述第二字体库列表与所述第一字体库列表一致,则代表宿主机的字体库文件已经全部共享到Debian子系统中,等待对比第二字体库列表与第一字体库列表为不一致后,再执行下一步操作。
作为优选方案,将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体,具体为:
将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;
调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;
安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件。
作为优选方案,若所述第二字体库列表与所述第一字体库列表不一致,将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,将宿主机的字体库文件共享到Debian子系统中,根据所述第一字体库文件安装字体,整个过程实现全流程自动化字体安装,并实现宿主机的字体以及后续更新和安装的字体同步更新到wsl中的Debian服务器中,在wsl中的Debian服务器上操作文档或者是功能类导出pdf之类的不再出现乱码;安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件,保证第一字体库文件安装执行成功后才能更新第二字体库列表,保证了将宿主机的字体库文件成功共享到Debian子系统中。
相应地,本发明还提供一种共享宿主字体库的装置,包括:读取模块、对比模块和共享模块;
其中,所述读取模块用于检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;启动WSL中的Debian子系统,读取当前Debian子系统的第二字体库目录中第二字体库列表;
所述对比模块用于每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表;
所述共享模块用于若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致。
作为优选方案,本发明的共享宿主字体库的装置,在WSL启动后,读取模块分别获取宿主机和Debian子系统的字体库列表,对比模块每隔预设时间将两者对比一次,若所述第二字体库列表与所述第一字体库列表不一致,共享模块则将第一字体库目录中与第二字体库目录不一致的第一字体库文件上传到第二字体库目录中,将宿主机的字体库文件共享到Debian子系统中,根据所述第一字体库文件安装字体,整个过程实现全流程自动化字体安装,并实现宿主机的字体以及后续更新和安装的字体同步更新到wsl中的Debian服务器中,在wsl中的Debian服务器上操作文档或者是功能类导出pdf之类的不再出现乱码。
作为优选方案,还包括更新模块;
其中,所述更新模块用于当第一字体库列表发生变化后,更新第一字体库列表,并再次写入redis队列。
作为优选方案,在WSL启动后,宿主机有可能安装新的字体,当宿主机安装新的字体后,宿主机的第一字体库目录中的第一字体库列表会随之更新变化,更新模块将更新的第一字体库列表再次写入redis队列,保证在宿主机安装新的字体后,也能够同步更新到wsl中的Debian服务器中,将宿主机的字体库文件共享到Debian子系统中。
作为优选方案,对比模块包括字体库文件对比单元;
所述字体库文件对比单元用于每隔预设时间判断一次第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应;其中,一个第一字体库目录中的字体库文件对应宿主机的一种字体;一个第二字体库目录中的第二字体库文件对应当前Debian子系统的一种字体;
若所述第二字体库列表与所述第一字体库列表一致,则不需要对第二字体库目录下的第二字体库文件进行修改。
作为优选方案,字体库文件对比单元通过第二字体库列表与第一字体库列表的对比,判断第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应,若宿主机和Debian子系统的字体库文件不完全一致,则说明需要将宿主机的字体库文件共享到Debian子系统中。
若所述第二字体库列表与所述第一字体库列表一致,则代表宿主机的字体库文件已经全部共享到Debian子系统中,等待对比第二字体库列表与第一字体库列表为不一致后,再执行下一步操作。
作为优选方案,共享模块包括第一字体库文件读取单元、第一字体库文件上传单元和第二字体库列表更新单元;
其中,所述第一字体库文件读取单元用于将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;
所述第一字体库文件上传单元用于调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;
所述第二字体库列表更新单元用于安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件。
作为优选方案,若所述第二字体库列表与所述第一字体库列表不一致,第一字体库文件读取单元将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;第一字体库文件上传单元调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,将宿主机的字体库文件共享到Debian子系统中,根据所述第一字体库文件安装字体,整个过程实现全流程自动化字体安装,并实现宿主机的字体以及后续更新和安装的字体同步更新到wsl中的Debian服务器中,在wsl中的Debian服务器上操作文档或者是功能类导出pdf之类的不再出现乱码;安装字体后,第二字体库列表更新单元更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件,保证第一字体库文件安装执行成功后才能更新第二字体库列表,保证了将宿主机的字体库文件成功共享到Debian子系统中。
相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如本发明内容所述的一种共享宿主字体库的方法。
附图说明
图1是本发明提供的共享宿主字体库的方法的一种实施例的流程示意图;
图2是本发明提供的共享宿主字体库的装置的一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参照图1,为本发明实施例提供的一种共享宿主字体库的方法,包括步骤S101-S103:
步骤S101:检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;读取当前Debian子系统的第二字体库目录中第二字体库列表。
在本实施例中,宿主机可以是Windows 10和Windows 11,一个宿主机可以有多个Debian子系统,宿主机的系统默认字体库及后续安装的字体库,固定统一存放在C:\Windows\Fonts\目录下,Debian子系统的字体库固定统一存放在/usr/local/font/目录下,用户在启动宿主机Windows 10完成后,通过bat脚本启动WSL,检测到WSL启动信号后,启动redis服务,将宿主机的第一字体库目录C:\Windows\Fonts\中的字体库列表写入redis队列;启动Debian子系统,读取当前Debian子系统的第二字体库目录/usr/local/font/中第二字体库列表。
在本实施例中,将宿主机的第一字体库目录中的第一字体库列表写入redis队列,还包括:
当第一字体库列表发生变化后,更新第一字体库列表,并再次写入redis队列。
步骤S102:每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表。
在本实施例中,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表,具体为:
每隔预设时间判断一次第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应;其中,一个第一字体库目录中的字体库文件对应宿主机的一种字体;一个第二字体库目录中的第二字体库文件对应当前Debian子系统的一种字体。
示例性地,在本实施例中,每隔10秒通过shell命令检测一次第一字体库目录中的所有ttf文件和第二字体库目录中的所有ttf文件是否一一对应,一个字体对应一个ttf文件,字体包括:黑体、宋体、微软雅黑、小宋、楷体等。
在本实施例中,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表之后,还包括:
若所述第二字体库列表与所述第一字体库列表一致,则不需要对第二字体库目录下的第二字体库文件进行修改。
步骤S103:若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致。
在本实施例中,将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体,具体为:
将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;
调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;
安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件。
在本实施例中,若所述第二字体库列表与所述第一字体库列表不一致,通过shell指令比对wsl中的Debian子系统和宿主机的字体库列表,判断宿主机的字体库列表中字体库文件是否存Debian子系统的字体库列表中没有的字体库文件,确定存放在C:\Windows\Fonts\的与/usr/local/font/目录中的所有字体库文件都不一致的ttf文件,启动Debian子系统的ftp服务,将存放在C:\Windows\Fonts\的与/usr/local/font/目录中的所有字体库文件都不一致的ttf文件上传到到/usr/local/font/中,给该目录执行权限,并且通过以下指令安装字体:
Cd/usr/local/font/;
sudo mkfontscale;
sudo mkfontdir;
sudo fc-cache-fv。
实施本发明实施例,具有如下效果:
本发明的共享宿主字体库的方法,在WSL启动后,分别获取宿主机和Debian子系统的字体库列表,每隔预设时间将两者对比一次,若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中与第二字体库目录不一致的第一字体库文件上传到第二字体库目录中,将宿主机的字体库文件共享到Debian子系统中,根据所述第一字体库文件安装字体,整个过程实现全流程自动化字体安装,并实现宿主机的字体以及后续更新和安装的字体同步更新到wsl中的Debian服务器中,在wsl中的Debian服务器上操作文档或者是功能类导出pdf之类的不再出现乱码。
实施例二
请参照图2,为本发明实施例提供的一种共享宿主字体库的装置,包括:读取模块201、对比模块202和共享模块203;
其中,所述读取模块201用于检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;启动WSL中的Debian子系统,读取当前Debian子系统的第二字体库目录中第二字体库列表;
所述对比模块202用于每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表;
所述共享模块203用于若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致。
在本实施例中,还包括更新模块;
所述更新模块用于当第一字体库列表发生变化后,更新第一字体库列表,并再次写入redis队列。
在本实施例中,对比模块包括字体库文件对比单元;
所述字体库文件对比单元用于每隔预设时间判断一次第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应;其中,一个第一字体库目录中的字体库文件对应宿主机的一种字体;一个第二字体库目录中的第二字体库文件对应当前Debian子系统的一种字体;
若所述第二字体库列表与所述第一字体库列表一致,则不需要对第二字体库目录下的第二字体库文件进行修改。
在本实施例中,共享模块包括第一字体库文件读取单元、第一字体库文件上传单元和第二字体库列表更新单元;
其中,所述第一字体库文件读取单元用于将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;
所述第一字体库文件上传单元用于调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;
所述第二字体库列表更新单元用于安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件。
上述的共享宿主字体库的装置可实施上述方法实施例的共享宿主字体库的方法。上述方法实施例中的可选项也适用于本实施例,这里不再详述。本申请实施例的其余内容可参照上述方法实施例的内容,在本实施例中,不再进行赘述。
实施本发明实施例,具有如下效果:
本发明的共享宿主字体库的装置,在WSL启动后,读取模块分别获取宿主机和Debian子系统的字体库列表,对比模块每隔预设时间将两者对比一次,若所述第二字体库列表与所述第一字体库列表不一致,共享模块则将第一字体库目录中与第二字体库目录不一致的第一字体库文件上传到第二字体库目录中,将宿主机的字体库文件共享到Debian子系统中,根据所述第一字体库文件安装字体,整个过程实现全流程自动化字体安装,并实现宿主机的字体以及后续更新和安装的字体同步更新到wsl中的Debian服务器中,在wsl中的Debian服务器上操作文档或者是功能类导出pdf之类的不再出现乱码。
实施例三
相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任意一项实施例所述的方法。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据移动终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种共享宿主字体库的方法,其特征在于,包括:
检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;读取当前Debian子系统的第二字体库目录中第二字体库列表,每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表;
所述每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表,具体为:
每隔预设时间判断一次第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应;其中,一个第一字体库目录中的字体库文件对应宿主机的一种字体;一个第二字体库目录中的第二字体库文件对应当前Debian子系统的一种字体;
若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致;所述将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体,具体为:将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件。
2.如权利要求1所述的一种共享宿主字体库的方法,其特征在于,所述将宿主机的第一字体库目录中的第一字体库列表写入redis队列,还包括:
当第一字体库列表发生变化后,更新第一字体库列表,并再次写入redis队列。
3.如权利要求1所述的一种共享宿主字体库的方法,其特征在于,所述每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表之后,还包括:
若所述第二字体库列表与所述第一字体库列表一致,则不需要对第二字体库目录下的第二字体库文件进行修改。
4.一种共享宿主字体库的装置,其特征在于,包括:读取模块、对比模块和共享模块;
其中,所述读取模块用于检测到WSL启动信号后,将宿主机的第一字体库目录中的第一字体库列表写入redis队列;启动WSL中的Debian子系统,读取当前Debian子系统的第二字体库目录中第二字体库列表;
所述对比模块用于每隔预设时间对比一次所述第二字体库列表与所述redis队列的第一字体库列表;
所述对比模块包括字体库文件对比单元;
所述字体库文件对比单元用于每隔预设时间判断一次第一字体库目录中的所有字体库文件和第二字体库目录中的所有字体库文件是否一一对应;其中,一个第一字体库目录中的字体库文件对应宿主机的一种字体;一个第二字体库目录中的第二字体库文件对应当前Debian子系统的一种字体;若所述第二字体库列表与所述第一字体库列表一致,则不需要对第二字体库目录下的第二字体库文件进行修改;
所述共享模块用于若所述第二字体库列表与所述第一字体库列表不一致,则将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;其中,所述第一字体库文件与第二字体库目录中的第二字体库文件不一致;
所述共享模块包括第一字体库文件读取单元、第一字体库文件上传单元和第二字体库列表更新单元;
其中,所述第一字体库文件读取单元用于将第一字体库目录中与第二字体库目录中的所有字体库文件都不一致的字体库文件作为第一字体库文件;
所述第一字体库文件上传单元用于调用ftp协议将第一字体库目录中的第一字体库文件上传到第二字体库目录中,根据所述第一字体库文件安装字体;
所述第二字体库列表更新单元用于安装字体后,更新所述第二字体库列表;其中,所述第二字体库列表记录所有已安装的字体库文件。
5.如权利要求4所述的一种共享宿主字体库的装置,其特征在于,还包括更新模块;
其中,所述更新模块用于当第一字体库列表发生变化后,更新第一字体库列表,并再次写入redis队列。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求1至3中任意一项所述的一种共享宿主字体库的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211322122.3A CN115622997B (zh) | 2022-10-27 | 2022-10-27 | 一种共享宿主字体库的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211322122.3A CN115622997B (zh) | 2022-10-27 | 2022-10-27 | 一种共享宿主字体库的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115622997A CN115622997A (zh) | 2023-01-17 |
CN115622997B true CN115622997B (zh) | 2023-07-04 |
Family
ID=84864057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211322122.3A Active CN115622997B (zh) | 2022-10-27 | 2022-10-27 | 一种共享宿主字体库的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115622997B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751726B1 (en) * | 1999-12-15 | 2004-06-15 | Microsoft Corporation | Method and system for loading fonts by caching font-loading information |
CN110795258B (zh) * | 2018-07-17 | 2023-03-24 | 珠海金山办公软件有限公司 | 字体库匹配方法、装置及设备 |
CN110728111A (zh) * | 2018-07-17 | 2020-01-24 | 珠海金山办公软件有限公司 | 一种文档内容的乱码修复方法、装置、终端设备和服务器 |
CN113986385A (zh) * | 2021-10-28 | 2022-01-28 | 上海米哈游璃月科技有限公司 | 项目字体库加载方法、装置、电子设备及存储介质 |
-
2022
- 2022-10-27 CN CN202211322122.3A patent/CN115622997B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115622997A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967159B (zh) | 一种配置文件应用的方法以及服务器 | |
EP3333704A1 (en) | Method and apparatus for repairing kernel vulnerability | |
US9519654B2 (en) | Method, device, processing center and system for desktop synchronization | |
US20170308369A1 (en) | Data processing method and device of preset application after upgrading | |
WO2019201039A1 (zh) | 一种更新应用程序的方法、系统及应用服务器 | |
KR101781447B1 (ko) | 시스템 리셋 | |
US11003438B2 (en) | Method and device for incremental upgrade | |
CN102193817B (zh) | 简化物理和虚拟部署的管理 | |
US10216510B2 (en) | Silent upgrade of software with dependencies | |
US10191838B2 (en) | Method and device for checking influence of deleting cache file, and mobile terminal | |
CN101821729B (zh) | 应用程序的远程自动供应和发布 | |
EP3267308A1 (en) | Application loading method and device | |
US20090210871A1 (en) | System and method for software application migration | |
EP3270320A1 (en) | Method and device for creating virtual machine | |
CN110162429B (zh) | 系统修复方法、服务器及存储介质 | |
CN113741914B (zh) | 操作系统安装机制 | |
CN107239309B (zh) | 补丁生成方法及装置、更新方法、电子设备、存储介质 | |
WO2020063780A1 (zh) | 应用布局还原方法、装置、设备及存储介质 | |
CN111427596A (zh) | 一种软件升级的方法、装置及终端设备 | |
CN111290871A (zh) | 获取应用程序崩溃信息的方法和装置 | |
US20190012159A1 (en) | Systems and methods for uninstalling or upgrading software if package cache is removed or corrupted | |
CN114756290A (zh) | 一种操作系统安装方法、设备及可读存储介质 | |
CN115622997B (zh) | 一种共享宿主字体库的方法、装置及存储介质 | |
CN115336237A (zh) | 远程存储的文件的预测性供应 | |
US10127029B1 (en) | Operating system installation using logical volumes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000 Applicant after: Guangdong Baolun Electronics Co.,Ltd. Address before: No.19 Chuangyuan Road, Zhongcun street, Panyu District, Guangzhou, Guangdong 510000 Applicant before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |