一种字体加粗方法、装置、电子设备及存储介质与流程

文档序号:26940181发布日期:2021-10-12 15:36阅读:106来源:国知局
一种字体加粗方法、装置、电子设备及存储介质与流程

1.本发明涉及电子文档技术领域,特别是涉及一种字体加粗方法、装置、电子设备及存储介质。


背景技术:

2.目前,在编辑电子文档时,在linux平台主要利用自带的字体引擎(如freetype)内用于加粗字体的标准接口来实现字体加粗。使用上述方法加粗字体时,会使一些字体的加粗字形的线宽变得很宽,这使得同一种字体、同一种字形在不同的操作系统上的加粗显示会不一致,从而影响用户阅读体验。


技术实现要素:

3.本发明实施例的目的在于提供一种字体加粗方法、装置、电子设备及存储介质,以解决同一种字体、同一种字形在不同的操作系统上的加粗显示不一致的问题。具体技术方案如下:
4.为达到上述目的,本发明实施例提供了一种字体加粗方法,所述方法包括:
5.确定电子文档中的待加粗文字;
6.获取所述待加粗文字的原始字形;
7.确定所述待加粗文字的目标画笔的加粗宽度;
8.对原始字形使用所述目标画笔进行描边,得到所述待加粗文字对应的加粗文字字形。
9.可选的,所述确定所述待加粗文字的目标画笔的加粗宽度的步骤,包括:
10.根据预设方向上所述待加粗文字的当前像素大小和显示屏幕的每单位长度的像素大小,确定所述待加粗文字的目标画笔的加粗宽度。
11.可选的,所述根据预设方向上所述待加粗文字的当前像素大小和显示屏幕的每单位长度的像素大小,确定所述待加粗文字的目标画笔的加粗宽度的步骤,包括:
12.利用以下公式,确定所述待加粗文字的目标画笔的加粗宽度:
[0013][0014]
其中,所述d为所述目标画笔的加粗宽度;所述pixel为预设方向上所述待加粗文字的当前像素大小;所述dpi为预设方向上显示屏幕每单位长度的像素大小。
[0015]
可选的,所述获取所述待处理文字的原始字形的步骤,包括:
[0016]
利用字体引擎的标准接口获取所述待处理文字的原始字形。
[0017]
可选的,所述确定电子文档中的待加粗文字,包括:
[0018]
获取用户输入的电子文档中文字的选择指令,所述选择指令包括用户所选择的电子文档中的目标文字;
[0019]
若接收到针对所述目标文字的加粗指令,则确定所述目标文字为待加粗文字。
[0020]
为达到上述目的,本发明实施例还提供了一种字体加粗装置,所述装置包括:
[0021]
第一确定模块,用于确定电子文档中的待加粗文字;
[0022]
获取模块,用于获取所述待加粗文字的原始字形;
[0023]
第二确定模块,用于确定所述待加粗文字的目标画笔的加粗宽度;
[0024]
描边模块,对原始字形使用所述目标画笔进行描边,得到所述待加粗文字对应的加粗文字字形。
[0025]
可选的,所述第二确定模块具体用于:
[0026]
根据预设方向上所述待加粗文字的当前像素大小和显示屏幕的每单位长度的像素大小,确定所述待加粗文字的目标画笔的加粗宽度。
[0027]
可选的,所述第二确定模块具体用于:
[0028]
利用以下公式,确定所述待加粗文字的目标画笔的加粗宽度:
[0029][0030]
其中,所述d为所述目标画笔的加粗宽度;所述pixel为预设方向上所述待加粗文字的当前像素大小;所述dpi为预设方向上显示屏幕每单位长度的像素大小。
[0031]
可选的,所述获取模块具体用于:
[0032]
利用字体引擎的标准接口获取所述待处理文字的原始字形。
[0033]
可选的,所述第一确定模块包括:
[0034]
获取子模块,用于获取用户输入的电子文档中文字的选择指令,所述选择指令包括用户所选择的电子文档中的目标文字;
[0035]
确定子模块,用于若接收到针对所述目标文字的加粗指令,则确定所述目标文字为待加粗文字。
[0036]
为达到上述目的,本发明实施例还提供了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0037]
存储器,用于存放计算机程序;
[0038]
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
[0039]
为达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
[0040]
为达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
[0041]
本发明实施例提供的技术方案的有益效果:
[0042]
本发明实施例提供的一种字体加粗方法及装置,可以获取待加粗文字的原始字形,并确定待加粗文字的目标画笔的加粗宽度。之后,对原始字形使用画笔进行描边,得到待加粗文字对应的加粗文字字形。本发明实施例中,利用描边获取加粗文字字形,可以保证字体加粗不受操作系统影响,保证同一种字体、同一种字形在不同的操作系统上的加粗显示一致,解决了同一种字体、同一种字形在不同的操作系统上的加粗显示不一致的问题,提高了用户的阅读体验。
[0043]
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
[0044]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]
图1为本发明实施例提供的一种字体加粗方法的一种流程图;
[0046]
图2a为本发明实施例提供的第一种操作系统下采用字体引擎通用接口对字体进行加粗的一种效果图;
[0047]
图2b为本发明实施例提供的第二种操作系统下采用字体引擎通用接口对字体进行加粗的一种效果图;
[0048]
图2c为本发明实施例提供的采用本发明实施例提供的方法对字体进行加粗的一种效果图;
[0049]
图3为本发明实施例提供的一种字体加粗方法的一种部分流程图;
[0050]
图4为本发明实施例提供的一种字体加粗装置的一种结构示意图;
[0051]
图5为本发明实施例提供的一种电子设备的一种结构示意图。
具体实施方式
[0052]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]
目前,在使用字体引擎自带的用于加粗字体的标准接口来实现字体加粗时,会使字形的线宽变得很宽,使得同一种字体、同一种字形在不同的操作系统上的加粗显示会不一致,从而影响用户阅读体验。
[0054]
为解决同一种字体、同一种字形在不同的操作系统上的加粗显示不一致的问题,本发明实施例提供了一种字体加粗方法、装置、电子设备及存储介质,下面将结合图1-5对本发明实施例提供的一种字体加粗方法、装置、电子设备及存储介质进行详细的说明。
[0055]
如图1所示,图1为本发明实施例提供的一种字体加粗方法的一种流程图,该方法包括:
[0056]
步骤101,确定电子文档中的待加粗文字。
[0057]
其中,待加粗文字可以为电子文档中需要加粗的任一文字,如标题、关键字等。本发明实施例中,用户可以通过点击操作,直接选中需要加粗的文字,也可以通过文字搜索的方式确定待加粗文字,如在电子文档内容搜索框中对需要加粗的文字进行搜索。本发明实施例还可以通过其他方式确定电子文档中的待加粗文字,对此不作具体限定。
[0058]
步骤102,获取待加粗文字的原始字形。
[0059]
其中,待加粗文字的原始字形为每个待加粗文字的形状,不同字体下每个文字的
形状都不同。在程序设计语言中,每个字的字形也就是按照特定规则对每一数据元或数据项目作的符号描述,其中,特定规则与数字及字母的长度相关。
[0060]
一种实施例中,可以利用字体引擎的标准接口获取待处理文字的原始字形。例如,通过字体引擎freetype的标准接口,获取待加粗字体的原始字形,进而对待加粗字体进行下一步处理。
[0061]
步骤103,确定待加粗文字的目标画笔的加粗宽度。
[0062]
一种实施例中,用户可以直接输入待加粗文字的目标画笔的加粗宽度。
[0063]
另一种实施例中,可以根据预设方向上待加粗文字的当前像素大小和显示屏幕的每单位长度的像素大小,确定待加粗文字的目标画笔的加粗宽度,此画笔用于接下来进行加粗描边。
[0064]
本发明实施例中,预设方向可以为水平方向也可以为竖直方向,本发明实施例对此不做限定。
[0065]
本发明实施例中,文字的当前像素大小与文字的当前字号有关。待加粗文字的字号不同,文字的像素大小也就不同。例如,若待加粗文字的当前字号为四号,待加粗文字的当前像素为18.7像素;若待加粗文字的当前字号为五号,待加粗文字的当前像素为14像素。
[0066]
由于相同的待加粗文字在不同的操作系统中的像素大小相同,通过待加粗字体当前的像素大小及屏幕的每单位长度的像素大小确定待加粗字体的加粗宽度,可以保证字体加粗不受操作系统影响,保证同一种字体、同一种字形在不同的操作系统上的加粗显示一致,提高用户阅读体验。
[0067]
一种实施例中,可以利用以下公式,确定待加粗文字的目标画笔的加粗宽度:
[0068][0069]
其中,d为目标加粗宽度;pixel为预设方向上待加粗文字的当前像素大小;dpi为预设方向上显示屏幕每单位长度的像素大小。
[0070]
另一个实施例中,可以利用以下公式,确定待加粗文字的目标画笔的加粗宽度:
[0071][0072]
其中,d为目标加粗宽度;pixel为预设方向上待加粗文字的当前像素大小;dpi为预设方向上显示屏幕每单位长度的像素大小,δ为预设参数。
[0073]
本发明实施例中,还可以采用其他方式确定加粗宽度,对此不作具体限定。
[0074]
步骤104,对原始字形使用目标画笔进行描边,得到待加粗文字对应的加粗文字字形。
[0075]
本发明实施例中,在确定待加粗文字的原始字形及目标画笔的加粗宽度后,可对待加粗文字的原始字形使用画笔来进行描边,描边后得到加粗后文字的字形。
[0076]
本发明实施例中,根据待加粗文字的原始字形来对待加粗文字进行描边,使得字体加粗不受操作系统的影响,使得同一种字体、同一种字形在不同的操作系统上的加粗显示一致,提高用户体验。
[0077]
例如,在第一种操作系统(如微软系统)中,采用字体引擎自带的用于加粗字体的
标准接口对“中”字进行加粗后,得到的加粗字体如图2a所示字体。但若在第二种操作系统(如linux系统)中,采用字体引擎自带的用于加粗字体的标准接口对“中”字进行加粗后,得到的加粗字体如图2b所示字体。图2a所示字体和图2b所示字体的加粗显示不同。
[0078]
而在linux系统中,使用本发明实施例提供的方法对“中”字进行加粗,得到的加粗字体如如图2c所示,加粗效果与2a相同,也就是,在不同操作系统中加粗显示效果相同。
[0079]
本发明实施例提供的字体加粗方法可以根据不同操作系统调整待加粗文字的加粗宽度,使得同一种字体、同一种字形在不同的操作系统上的加粗显示一致,提高用户体验。
[0080]
一种实施例中,如图3所示,步骤101可以细化为如下步骤:
[0081]
步骤301,获取用户输入的电子文档中文字的选择指令,选择指令包括用户所选择的电子文档中的目标文字。
[0082]
本发明实施例中,获取用户输入电子文档中文字的选择指令的过程可以为,获取用户针对待加粗文字的点击选取操作,基于点击选取操作,确定目标文字,进而生成用户针对目标文字的选择指令。也可以是,获取用户在文字搜索栏中输入的想要进行加粗的文字,基于用户输入的文字确定目标文字,进而生成用户针对目标文字的选择指令。本发明实施例中,还可以通过其他方式,获取到选择指令,对此不作具体限定。
[0083]
步骤302,判断是否接收到针对目标文字的加粗指令,若是,则执行步骤303;若否,则执行步骤304。
[0084]
步骤303,确定目标文字为待加粗文字。
[0085]
步骤304,确定目标文字不是待加粗文字。
[0086]
用户在确定目标文字后,可点击操作页面上的加粗选项,在获取用户点击加粗选项的操作后,生成加粗指令。通过判断是否接收到针对目标文字的加粗指令来判断目标文字是否为待加粗文字。在确定目标文字为待加粗文字后,继续执行步骤102。
[0087]
基于用户的选择指令获取选择指令中的目标文字,并根据是否接收到针对目标文字的加粗指令来确定目标文字是否为待加粗文字,可以精确地判断出用户需要加粗的文字,并对该文字进行加粗处理。
[0088]
为达到上述目的,本发明实施例还提供了一种字体加粗装置,如图4所示,该装置包括:
[0089]
第一确定模块401,用于确定电子文档中的待加粗文字。
[0090]
获取模块402,用于获取待加粗文字的原始字形。
[0091]
第二确定模块403,用于确定待加粗文字的目标画笔的加粗宽度。
[0092]
描边模块404,对原始字形使用目标画笔进行描边,得到待加粗文字对应的加粗文字字形。
[0093]
一种实施例中,第二确定模块403具体用于:根据预设方向上待加粗文字的当前像素大小和显示屏幕的每单位长度的像素大小,确定待加粗文字的目标画笔的加粗宽度。
[0094]
一种实施例中,第二确定模块403具体用于:
[0095]
利用以下公式,确定待加粗文字的目标画笔的加粗宽度:
[0096]
[0097]
其中,d为目标画笔的加粗宽度;pixel为预设方向上待加粗文字的当前像素大小;dpi为预设方向上显示屏幕每单位长度的像素大小。
[0098]
一种实施例中,获取模块402具体用于:利用字体引擎的标准接口获取待处理文字的原始字形。
[0099]
一种实施例中,第一确定模块401包括:
[0100]
获取子模块,用于获取用户输入的电子文档中文字的选择指令,选择指令包括用户所选择的电子文档中的目标文字。
[0101]
确定子模块,用于若接收到针对目标文字的加粗指令,则确定目标文字为待加粗文字。
[0102]
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
[0103]
存储器503,用于存放计算机程序;
[0104]
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
[0105]
确定电子文档中的待加粗文字;获取待加粗文字的原始字形;确定待加粗文字的目标画笔的加粗宽度;对原始字形使用目标画笔进行描边,得到待加粗文字对应的加粗文字字形。
[0106]
上述方法通过描边获取加粗文字,可以保证字体加粗不受操作系统影响,保证同一种字体、同一种字形在不同的操作系统上的加粗显示一致,解决了同一种字体、同一种字形在不同的操作系统上的加粗显示不一致的问题,提高了用户的阅读体验。
[0107]
上述网络设备提到的通信总线可以是外设部件互连标准(英文:peripheral component interconnect,简称:pci)总线或扩展工业标准结构(英文:extended industry standard architecture,简称:eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0108]
通信接口用于上述网络设备与其他设备之间的通信。
[0109]
存储器可以包括随机存取存储器(英文:random access memory,简称:ram),也可以包括非易失性存储器(英文:non-volatile memory,简称:nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0110]
上述的处理器可以是通用处理器,包括中央处理器(英文:central processing unit,简称:cpu)、网络处理器(英文:network processor,简称:np)等;还可以是数字信号处理器(英文:digital signal processing,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)、现场可编程门阵列(英文:field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0111]
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述一种字体加粗方法步骤。
[0112]
基于相同的技术构思,本发明实施例还提供了一种包含指令的计算机程序产品,
当其在计算机上运行时,使得计算机执行上述一种字体加粗方法步骤。
[0113]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0114]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0115]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0116]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1