CN105549817A - 字体包的生成方法、装置和图形的展示方法、装置 - Google Patents
字体包的生成方法、装置和图形的展示方法、装置 Download PDFInfo
- Publication number
- CN105549817A CN105549817A CN201510906501.0A CN201510906501A CN105549817A CN 105549817 A CN105549817 A CN 105549817A CN 201510906501 A CN201510906501 A CN 201510906501A CN 105549817 A CN105549817 A CN 105549817A
- Authority
- CN
- China
- Prior art keywords
- vector graphics
- font packet
- position encoded
- font
- destination object
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000001747 exhibiting effect Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 17
- 230000008676 import Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 19
- 241000233855 Orchidaceae Species 0.000 description 20
- 230000008569 process Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 230000003321 amplification Effects 0.000 description 11
- 230000000116 mitigating effect Effects 0.000 description 11
- 238000003199 nucleic acid amplification method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 241000555745 Sciuridae Species 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种字体包的生成方法、装置和图形的展示方法、装置。其中,该字体包的生成方法包括:获取待展示目标对象的矢量图形并为矢量图形分配位置编码;将矢量图形导入到字体包中位置编码所指示的位置;保存具有矢量图形的字体包,以供应用程序调用具有矢量图形的字体包来展示待展示目标对象。本发明解决了处理图片的速度比较慢而降低展示速度的技术问题。
Description
技术领域
本发明涉及图形处理领域,具体而言,涉及一种字体包的生成方法、装置和图形的展示方法、装置。
背景技术
在移动应用界面开发中,经常需要对按钮、选择框、进度条等控件的展示样式进行自定义。为了适应不同设备屏幕尺寸、分辨率、方向等的差异,通常的选择是在资源包中打包多套不同清晰度的多个切图。如果区分白天黑夜模式、按钮按下、弹起或高亮等,也需要多个不同的切图。对一个移动应用来说,切图类资源占整个应用分发包体积的比例通常比较高,处理图片的速度较慢,从而降低了应用程序的展示速度。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种字体包的生成方法、装置和图形的展示方法、装置,以至少解决处理图片的速度比较慢而降低展示速度的技术问题。
根据本发明实施例的一个方面,提供了一种字体包的生成方法,包括:获取待展示目标对象的矢量图形并为所述矢量图形分配位置编码;将所述矢量图形导入到字体包中所述位置编码所指示的位置;保存具有所述矢量图形的字体包,以供应用程序调用具有所述矢量图形的字体包来展示所述目标对象。
根据本发明实施例的另一方面,还提供了一种图形的展示方法,包括:在接收到用于指示对待展示目标对象进行展示的指令信息后,获取所述待展示目标对象对应的矢量图形在字体包中的位置编码和所述待展示目标对象的展示属性,其中,所述位置编码为按照上述的字体包的生成方法生成所述字体包时分配的位置编码;从所述字体包中调用所述位置编码所对应的矢量图形;按照所述展示属性对所述矢量图形进行展示。
根据本发明实施例的另一个方面,提供了一种字体包的生成装置,包括:编码获取单元,用于获取待展示目标对象的矢量图形并为所述矢量图形分配位置编码;导入单元,用于将所述矢量图形导入到字体包中所述位置编码所指示的位置;保存单元,用于保存具有所述矢量图形的字体包,以供应用程序调用具有所述矢量图形的字体包来展示所述待展示目标对象。
根据本发明实施例的另一方面,还提供了一种图形的展示装置,包括:获取单元,用于在接收到用于指示对待展示目标对象进行展示的指令信息后,获取所述待展示目标对象对应的矢量图形在字体包中的位置编码和所述待展示目标对象的展示属性,其中,所述位置编码为按照上述的字体包的生成方法生成所述字体包时分配的位置编码;调用单元,用于从所述字体包中调用所述位置编码所对应的矢量图形;展示单元,用于按照所述展示属性对所述矢量图形进行展示。
在本发明实施例中,采用获取待展示目标对象的矢量图形并为矢量图形分配位置编码;将矢量图形导入到字体包中位置编码所指示的位置;保存具有矢量图形的字体包,以供应用程序调用具有矢量图形的字体包来展示待展示目标对象的方式,将目标对象转换为矢量图形进行保存并调用,利用矢量图形处理速度比较快的特点,解决了相关技术中处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。同时,对矢量图形的放大和缩小不会造成矢量图形的失真,因此,一个矢量图形可以根据控件的需要进行放大和缩小来提高显示的清晰度。而相关技术中需要针对不同分辨率的终端或者不同的控件存储多种尺寸和分辨率度的切图,可见,本实施例中采用矢量图形避免了存储多个相同的图片,节约了存储资源,减少了从服务器传输发送到终端的分发包的体积,也节约了从服务器到终端的传输资源。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种计算机结构的示意图;
图2是根据本发明实施例1的字体包的生成方法的流程图;
图3是根据本发明实施例2的图形的展示方法的流程图;
图4是根据本发明实施例的一种采用预先设置的矢量图显示相应的字体的示意图;
图5是根据本发明实施例的一种采用楷体显示相应的字体的示意图;
图6是根据本发明实施例3的字体包的生成装置的示意图;
图7是根据本发明实施例4的图形的展示装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种字体包的生成方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种字体包的生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的字体包的生成方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的字体包的生成方法。图2是根据本发明实施例一的字体包的生成方法的流程图。该字体包的生成方法可以将应用程序的展示界面上控件需要展示的图形转换为矢量图形保存在字体包中,调用字体包就可以展示相应的图形。与相关技术中采用图片的形式保存需要展示的图形相比,矢量图形的体积较小,处理矢量图形的速度比也处理图片的速度快,提高了展示图形时的数据传输效率和展示效率,解决了处理图片的速度比较慢而降低展示速度的技术问题。同时,矢量图形在缩小和放大的过程中也不会造成图形的失真和变形,避免了相关技术中为了适应不同屏幕分辨率保存的多种分辨率的图片所带来的存储成本,也就是说采用矢量图形进行展示还可以减小存储成本。
如图2所示,该字体包的生成方法包括如下步骤:
步骤S202,获取待展示目标对象的矢量图形并为矢量图形分配位置编码。待展示目标对象可以是应用程序控件中的图像,例如表情符号、字符、文字和线条等,还可以是其他可转换为矢量图形的图片。矢量图形可以保存在字体包中,因此位置编码可以采用适用于字体包的编码,例如,统一码(Unicode),包括字符编码和有可读性的字形编码等。位置编码的作用是标记矢量图形在字体包中的唯一位置。
具体地,为矢量图形分配位置编码包括:为矢量图形分配字符编码或者字形编码作为位置编码,其中,字符编码和字形编码唯一标识矢量图形在字体包中的位置。
位置编码可以采用通用性较好的OpenType或TrueType类型的字体的编码,其可以是Unicode编码,如0x4E00、0x4E01、0x4E02……等中文字符编码,也可以采用Unicode编码的英文字符编码,还可以采用Unicode编码的字形“一、丁、乞、七”等来提高位置编码的可读性。在分配位置编码的过程中,选择目标语言或应用程序中可显示的编码,例如,在中文的语言环境中采用中文字符作为位置编码,在英文的语言环境中采用英文字符作为位置编码,为了调用的方便,还可以采用统一码作为位置编码,在上述的应用场景中还可以采用其他形式的字符作为位置编码,此处不再一一列举。
步骤S204,将矢量图形导入到字体包中位置编码所指示的位置。确定了矢量图形的位置编码,则按照位置编码将矢量图形导入到字体包。由于位置编码与矢量图形一一对应,不同的矢量图形的位置编码不会重复,因此,根据位置编码就能找到相应的矢量图形。
步骤S206,保存具有矢量图形的字体包,以供应用程序调用具有矢量图形的字体包来展示待展示目标对象。一个字体包可以保存一个控件所需要的所有矢量图形,也可以保存多个控件所需要的矢量图形。根据应用字体包展示目标对象的模块的需要来确定将矢量图形保存在几个字体包,如应用字体包的模块较多,且每个模块所需要的矢量图形也不相同,则可以将矢量图形保存在多个字体包中;如应用字体包的模块较少,或者多个模块可以采用相同的字体包,可以将矢量图形保存在一个字体包中,由多个模块调用同一个字体包来展示目标对象。
通过上述实施例,将目标对象转换为矢量图形进行保存,将存储在字体包中的矢量图形作为文字来调用,利用矢量图形占用体积较小、且处理矢量图形的速度比较快的特点,提高了目标对象的传输速度和处理速度,解决了相关技术中处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。同时,对矢量图形的放大和缩小不会造成矢量图形的失真,因此,一个矢量图形可以根据控件的需要进行放大和缩小来提高显示的清晰度。而相关技术中需要针对不同分辨率的终端或者不同的控件存储多种尺寸和分辨率度的切图,可见,本实施例中采用矢量图形避免了存储多个相同的图片,节约了存储资源,减少了从服务器传输发送到终端的分发包的体积,也节约了从服务器到终端的传输资源。
可选地,在将矢量图形导入到字体包中位置编码所指示的位置之前,方法还包括:创建字体包并设置字体包的参数信息,以供应用程序根据参数信息调用字体包,其中,参数信息至少包括字体包在应用程序中的应用位置和被应用程序调用的时机。
获取的字体包是支持矢量图形,并且适用于终端的应用程序的字体包文件。为获取的字体包设置参数信息,包括字体包的名称、版本信息、描述信息、语种和版权等,还包括格式、编码、尺寸、位置和层次等信息。描述信息用来描述该字体包应用的场景,包括多少个字、多少个图形、字体是什么等,此处不再一一举例。由于字体包设置了这些基本的参数信息,在需要调用字体包的时候可以根据字体包的名字和比对字体包在应用程序中的应用位置和被应用程序调用的时机对其调用,避免字体包调用错误。需要说明的是,除了根据字体包的名字调用该字体包以外,还可以根据字体包的位置信息等进行调用,此处不再一一列举。
可选地,为了保证字体包中的矢量图形信息的一致性,在将矢量图形导入到字体包时根据字体包的参数信息调整矢量图形的属性,即将矢量图形导入到字体包中位置编码所指示的位置包括:获取矢量图形的属性信息;判断矢量图形的属性信息是否与字体包的参数信息一致;在矢量图形的属性信息与字体包的参数信息不一致时,修改矢量图形,以使矢量图形的属性信息与字体包的参数信息一致。
若矢量图形的尺寸信息与字体包参数信息记载的尺寸不同,则修改矢量图形使得矢量图形的尺寸与字体包所设置的尺寸一致。由于字体包的参数信息是适用于应用程序的信息,因此,使得矢量图形的信息与字体包的参数信息一致可以保证矢量图形可以准确的展示目标对象。
字体包中的矢量图形采用单色形式存储与字体包中,如果需要在不同场景下展示相同的矢量图形,并且不同场景下展示的颜色有变化,可以对矢量图形的前景色或者背景色进行修改,该修改可以通过调用该字体包的应用程序来实现,而字体包中的矢量图形本身并不会变化。也就是说,即使在不同场景下展示同一个矢量图形的不同状态,在字体包中存储一个矢量图形即可,而无需制作多个矢量图形。相比现有技术中不同场景下同一个图形的不同状态需要多个图片来展示,需要制作并存储多个图片的方式,本实施例节约了设计资源,减少了需要存储和传输的数据,解决了处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的效果。
可选地,获取待展示目标对象的矢量图形并为矢量图形分配位置编码包括:获取待展示目标对象的多个矢量图形;为多个矢量图形的每一个分别分配一个位置编码,其中,多个矢量图形对应的位置编码指示一个或者多个字体包中的位置。
待展示目标对象由多个矢量图形组成时,每个矢量图形对应一个位置编码,若多个矢量图形存储在一个字体包中,则对应的位置编码是这一个字体包中的位置编码,若多个矢量图像分别存储在2个以上的字体包中,每个矢量图形对应位置编码指示2个以上的字体包中的位置。由于位置编码唯一确定每个矢量图形在字体包中的位置,因此,相同或不同字体包中的位置编码互不相同。
通常一个字体包中可以存储多个矢量图形,存储的多个矢量图形可以被一个或多个应用程序的控件调用,应用程序的控件可以通过矢量图形的位置编码调用相应的矢量图形。即一个应用程序的控件所要展示的矢量图形可以存储在一个或者多个字体包中,一个字体包也可以被多个应用程序的控件共用,从而节约了字体包占用的空间。
可选地,获取待展示目标对象的矢量图形包括:创建待展示目标对象的矢量图形;或者从存储有待展示目标对象的矢量图形的字体包中提取待展示目标对象的矢量图形。
获取的矢量图形可以通过用于编辑矢量图形的编辑器创建,也可以将已有的矢量图形添加到字体包中。已有的矢量图形可以是已有的字体包内的矢量图形,也可以是字体包以外的矢量图形,若已有的字体包内有该矢量图形,可以直接调用,也可以将该矢量图形重新存储到另外一个字体包中,这两个字体包中的矢量图形可以采用不同的位置编码。
例如,待展示目标对象的多个楷体字组成的语句“我爱中国”,从现有的楷体字体包中取出“我”“爱”“中”“国”四个字的矢量图形,并为每个矢量图形分配一个位置编码,将这四个字的矢量图形导入到一个新的字体包中,每个矢量图形都处于为其分配的位置编码所对应的位置。此处仅以存储字体的字体包进行说明,提取矢量图形的字体包还可以是其他存储有矢量图形的字体包。
通过上述实施例,可以获取已有的矢量图形生成字体包,提高了生成字体包的便捷性,节约了生成矢量图形的时间,同时,重复利用矢量图形,避免资源的浪费。
实施例2
根据本发明实施例,还提供了一种图形的展示方法。该图形的展示方法可以在应用终端执行,可以应用在应用终端的控件进行图形展示,调用实施例1的方法生成的字体包中存储的矢量图形,通过设置矢量图形的展示方式和时机来展示图形,也就是调用矢量图形来进行展示。与相关技术调用图片进行展示的方式相比,由于处理矢量图形的速度比较快,实施例2的图形展示方法能够提高矢量图形的处理速度,解决了相关技术中处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。同时,由于矢量图形较小,可以减少从服务器到终端的数据传输量,节约数据传输资源,提高数据传输速度。同时,由于矢量图形的放大和缩小不会降低该图形的清晰度,因此,在不同的控件展示同样的图形展示时,可以调用相同的矢量图形,而无需制作多幅清晰度不同的图片,降低了存储的图片的数量和体积,并且节约了设计资源。
如图3所示,该图形的展示方法包括如下步骤:
步骤S302,在接收到用于指示对待展示目标对象进行展示的指令信息后,获取待展示目标对象对应的矢量图形在字体包中的位置编码和待展示目标对象的展示属性,其中,位置编码为按照上述的字体包的生成方法生成字体包时分配的位置编码。
步骤S304,从字体包中调用位置编码所对应的矢量图形。
步骤S306,按照展示属性对矢量图形进行展示。
在应用程序的运行过程中,若需要在界面上展示控件,则发出指令信息以指示对目标对象进行展示。目标对象可以是应用程序控件中的图像,例如表情符号、字符、文字和线条等,还可以是其他可转换为矢量图形的图片。指令信息可以以程序代码的形式存在于应用程序中
展示目标对象时,通过调用字体包中的矢量图形来实现,根据矢量图形在字体包中的位置来调用字体包。一个字体包可以保存一个控件所需要的所有矢量图形,也可以保存多个控件所需要的矢量图形。根据应用字体包展示目标对象的控件的需要来确定将矢量图形保存在几个字体包,如应用字体包的控件较多,且每个控件所需要的矢量图形也不相同,则可以将矢量图形保存在多个字体包中;如应用字体包的控件较少,或者多个控件可以采用相同的字体包,可以将矢量图形保存在一个字体包中,由多个控件调用同一个字体包来展示目标对象。
展示属性数据至少包括矢量图形的展示样式及其变化形式。展示样式包括展示的尺寸、颜色和对齐方式等,还包括前景色、背景色、透明度或者背景图等,变化的形式包括更改前景色的时间、更改透明度的时间等。例如,利用浏览器浏览网页时,在网页的左上角显示“小松鼠”的标志,该标志以矢量图形的形式存储在字体包中,在白天调用该字体包时小松鼠采用白色显示,背景色采用橙色显示;在晚上调用该字体包时小松鼠采用灰色显示,背景色采用黑色显示。白天显示的标志调用的矢量图形和晚上显示标志的矢量图形都是同一个矢量图形,只是通过设置不同的展示属性数据来调节展示效果,以及展示效果所对应的变化形式。
采用相同的矢量图形还可以展示按钮的按下和弹起状态,控件的启用和关闭的展示状态等等,此处不再一一举例说明。需要注意的是,在改变展示属性数据时,矢量图形本身并不会发生变化,仍然是保存在字体包内的矢量图形,并且该矢量图形还可以多次重复调用。
通过上述实施例,将目标对象以矢量图形的形式存储在字体包中,在需要展示目标对象时调用字体包并设置相应的展示属性就能实现。利用展示属性数据来调节字体包中的矢量图形的展示样式,与逐个点阵填充图片的颜色相比,能够达到相同展示效果的同时,还能利用处理矢量图形的速度比较快的特点,提高目标对象的加载速度,解决了相关技术中处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。同时,对矢量图形的放大和缩小不会造成矢量图形的失真,因此,一个矢量图形可以根据控件的需要进行放大和缩小来提高显示的清晰度。而相关技术中需要针对不同分辨率的终端或者不同的控件存储多种尺寸和分辨率度的切图,可见,本实施例中采用矢量图形避免了存储多个相同的图片,节约了存储资源,减少了从服务器传输发送到终端的分发包的体积,也节约了从服务器到终端的传输资源。
可选地,获取待展示目标对象对应的矢量图形在字体包中的位置编码和待展示目标对象的展示属性包括:获取待展示目标对象对应的多个矢量图形的位置编码串和多个矢量图形的每一个所对应的展示属性,其中,位置编码串包括多个位置编码;从字体包中调用位置编码所对应的矢量图形包括:从一个或者多个字体包中查找多个位置编码的每一个位置编码对应的矢量图形,并调用查找到的矢量图形;按照展示属性对矢量图形进行展示包括:按照多个矢量图形各自的展示属性进行展示。
展示一个控件可能会需要多个矢量图形,那么多个矢量图形可以命名为一个名称,对应多个位置编码,多个位置编码组成一个位置编码串。当位置编码是字符编码时,多个字符编码组成一个字符编码串;当位置编码是字形编码时,多个字形编码组成一个字形编码串。在根据矢量图形的名称查找位置编码时,就可以根据一个名称找到多个位置编码,也就能找到多个矢量图形,实现了展示控件所需要的所有图形。
例如,在选择字体的下拉菜单中显示“方正兰亭黑”这几个字,每个字都是一个矢量图形,名称为“FontNameFZLTH”,矢量图形“方”对应的位置编码为“一”,矢量图形“正”对应的位置编码为“丁”,矢量图形“兰”对应的位置编码为“丂”,矢量图形“亭”对应的位置编码为“七”,矢量图形“黑”对应的位置编码为“丄”,“一丁丂七丄”为矢量图形的位置编码串。
采用位置编码串来对应多个矢量图形,便于查找多个矢量图形。位置编码串对应一个名称也便于程序查找位置编码串并加载矢量图形,提高了查找的效率,降低了该展示方法的应用程序的复杂度。
根据位置编码串中的每个位置编码查找对应的矢量图形,并调用位置编码串对应的所有矢量图形,按照每个矢量图形的展示属性对位置编码串对应的多个矢量图形进行展示。
例如,“方正兰亭黑”中每个矢量图形的展示属性依次为“楷体、宋体、方正兰亭黑、黑体和行楷,则“方”按照楷体展示,“正”按照宋体展示,“兰”展示的是方正兰亭黑,“亭”按照黑体展示,“黑”按照行楷展示。
可选地,为了程序运行和调用的方便,矢量名称对应有位置编码和名称,可以根据名称确定位置编码,并根据位置编码找到相应的矢量图形,即根据指令信息查找目标对象所对应的矢量图形包括:获取矢量图形的名称并根据矢量图形的名称查找该矢量图形的位置编码;根据位置编码在字体包内查找矢量图形。
位置编码可以采用适用于字体包的编码,例如,统一码(Unicode),包括字符编码和有可读性的字形编码等。位置编码的作用是标记矢量图形在字体包中的唯一位置。位置编码可以是字符编码或者字形编码,字符编码可以是Unicode编码,如0x4E00、0x4E01、0x4E02……等中文字符编码,也可以采用Unicode编码的英文字符编码,还可以采用“一、丁、乞、七”等来提高位置编码的可读性。通常位置编码是目标语言或应用程序中可显示的编码,例如,在中文的语言环境中采用中文字符作为位置编码,在英文的语言环境中采用英文字符作为位置编码,为了调用的方便,还可以采用统一码作为位置编码,在上述的应用场景中还可以采用其他形式的字符作为位置编码,此处不再一一列举。
为了通过矢量图形的名称来查找位置编码,矢量图形的名称与位置编码具有一一对应的关系,例如:FontNameFZLTH=“一丁丂七丄”。其中,“FontNameFZLTH”为矢量图形的名称,“一丁丂七丄”为矢量图形的位置编码。在应用程序的程序文件中,可以直接采用矢量图形的名称来编写,可以保证应用程序运行的可靠性。
下面以阅读器客户端为例,详细介绍本实施例的展示方法。
在阅读器客户端阅读页中,允许用户下载并使用一系列在线字体。在字体下载之前,需要通过下拉菜单预先列出可供下载的各种字体的名字,并且不同的字体名需要使用相应的字体显示,以供用户选择相应的字体。
在相关技术中,在下拉菜单中采用图片的形式显示字体的名字。考虑到设备分辨率的差异,预先为各种字体名称制作贴图,并适应不同主题背景、选择状态、以及不同分辨率等,在一种字体用于多种主题背景、选择状态和分辨率的情况下,需要设计多种样式和规格的贴图,以满足上述要求。可见,在相关技术中,贴图本身的体积相对较大,多个贴图就需要更大的存储空间和传输资源,也就造成了展示速度比较慢的技术问题。
在生成图形文件时,可以调用FontForge字体编辑软件,新建Unicode编码的矢量图形,并设置基本参数信息。考虑到列表中所列举的各种字体均为方正字体系列,上述字体在创建时设置的基本参数均参考默认字体设定。如采用默认的尺寸、默认的颜色,默认的对齐方式等。进一步,可以为下拉菜单中的每种字体设置相应的字体名称,并采用相应字体的字形描述。以“方正兰亭黑”为例,需要制作5个矢量图形分别对应该字体名称中的5个字。对于字体来说,可以直接从“方正兰亭黑”的字体文件中获取到,具体参考如下步骤:
通过Unicode编码查找的方法,找到“方”字对应的字形作为矢量图形,并为其分配Unicode中文区间位置0x4E00作为该字形“方”对应的字符编码。将“方”字对应的矢量图形存储在字体包中,其位置编码为0x4E00。采用同样的方式将“正”、“兰”、“亭”、“黑”四个字的矢量图形导入到字体包中,相应的位置编码分别为0x4E01、0x4E02、0x4E03、0x4E04。在导入矢量图形的过程中,如果某一矢量图形与字体包的基本参数设置有所差异,或者与先导入的矢量图形的基本参数有差异,如字符大小及基线位置有所偏移。对于这些矢量图形,可以按照字体包的基本参数对进行放缩、偏移。
考虑到为矢量图形分配的字符编码无实际意义,记录名字及对应字符编码串,如FontNameFZLTH=“一丁丂七丄”,FontNameFZSKBXK=“丐丑丒专且丕世”,FontNameFZFS=“丰丱串丳”等;这些字符串对应的Unicode位置在字体包中已经分别填充了使用相应字体的字体名称的矢量图形,根据名字找到相应的位置编码。
经过上述步骤,完成了待展示图形的生成,以下说明如何利用上述方法生成的字体包进行展示。
在字体选择的下拉菜单上,采用列表视图展示字体名称,可以像使用普通文字一样使用字体名称,不同的是相应的字体要关联到创建的字体包中的矢量图形,字体包的位置编码对应的名称是FontNameFZLTH对应的位置编码串。对这些矢量图形可以进行字体属性的设置,如加粗、变色、阴影、变形等操作。如图4和图5所示,图4示出了采用预先设置的矢量图显示相应的字体,而图5是采用楷体显示相应的字体。虽然图4和图5中显示的字体和样式不同,但是,“方正兰亭黑”与“一丁丂七丄”对应的字体相同。也就是说,当用户选择“方正兰亭黑”或“一丁丂七丄”时,显示的字体都是方正兰亭黑,可见,采用矢量图形来展示控件的界面更加灵活。
除了本实例描述的文字外,界面上的各种按钮图标也都可以制作成矢量图形,用于替代原有切图方式的实现。
通过以上实例应用可以看出,将特定符号或图像制作成矢量图形,可以对其进行加粗、变色、阴影和变形等操作。一方面可以省去切图带来的时间开销以及应用包含切图资源带来的存储开销,另一方面也减轻了界面开发时的工作量。
本实施例在移动终端的界面中制作并使用矢量图形的方法展示图形,通过将切图显示的图形制作成矢量图形,设置矢量图形的属性数据来调整矢量图形的显示形式和状态,解决传统方法中使用切图方式在时间和空间上的开销,提升移动应用界面开发的效率。
另外,利用本实施例所述方法,移动应用软件开发可以尽可能多的矢量图代替点阵切图,可以比较彻底地解决为适应屏幕分辨率、大小及方向必须自带不同分辨率的多套切图的问题,大大减小分发包的体积。
综上所述,该实施例解决了处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种字体包的生成装置。该字体包的生成装置可以执行实施例1中的生成方法。
如图6所示,该字体包的生成装置包括:编码获取单元62、导入单元64和保存单元66。
编码获取单元62用于获取待展示目标对象的矢量图形并为矢量图形分配位置编码。待展示目标对象可以是应用程序控件中的图像,例如表情符号、字符、文字和线条等,还可以是其他可转换为矢量图形的图片。矢量图形可以保存在字体包中,因此位置编码可以采用适用于字体包的编码,例如,统一码(Unicode),包括字符编码和有可读性的字形编码等。位置编码的作用是标记矢量图形在字体包中的唯一位置。
具体地,编码获取单元还用于为矢量图形分配字符编码或者字形编码作为位置编码,其中,字符编码和字形编码唯一标识矢量图形在字体包中的位置。位置编码可以采用通用性较好的OpenType或TrueType类型的字体的编码,其可以是Unicode编码,如0x4E00、0x4E01、0x4E02……等中文字符编码,也可以采用Unicode编码的英文字符编码,还可以采用Unicode编码的字形“一、丁、乞、七”等来提高位置编码的可读性。在分配位置编码的过程中,选择目标语言或应用程序中可显示的编码,例如,在中文的语言环境中采用中文字符作为位置编码,在英文的语言环境中采用英文字符作为位置编码,为了调用的方便,还可以采用统一码作为位置编码,在上述的应用场景中还可以采用其他形式的字符作为位置编码,此处不再一一列举。
导入单元64用于将矢量图形导入到字体包中位置编码所指示的位置。确定了矢量图形的位置编码,则按照位置编码将矢量图形导入到字体包。由于位置编码与矢量图形一一对应,不同的矢量图形的位置编码不会重复,因此,根据位置编码就能找到相应的矢量图形。
保存单元66用于保存具有矢量图形的字体包,以供应用程序调用具有矢量图形的字体包来展示目标对象。
一个字体包可以保存一个控件所需要的所有矢量图形,也可以保存多个控件所需要的矢量图形。根据应用字体包展示目标对象的模块的需要来确定将矢量图形保存在几个字体包,如应用字体包的模块较多,且每个模块所需要的矢量图形也不相同,则可以将矢量图形保存在多个字体包中;如应用字体包的模块较少,或者多个模块可以采用相同的字体包,可以将矢量图形保存在一个字体包中,由多个模块调用同一个字体包来展示目标对象。
通过上述实施例,将目标对象转换为矢量图形进行保存,将存储在字体包中的矢量图形作为文字来调用,利用矢量图形占用体积较小、且处理矢量图形的速度比较快的特点,提高了目标对象的传输速度和处理速度,解决了相关技术中处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。同时,对矢量图形的放大和缩小不会造成矢量图形的失真,因此,一个矢量图形可以根据控件的需要进行放大和缩小来提高显示的清晰度。而相关技术中需要针对不同分辨率的终端或者不同的控件存储多种尺寸和分辨率度的切图,可见,本实施例中采用矢量图形避免了存储多个相同的图片,节约了存储资源,减少了从服务器传输发送到终端的分发包的体积,也节约了从服务器到终端的传输资源。
可选地,装置还包括:创建单元,用于在将矢量图形导入到字体包中位置编码所指示的位置之前,创建字体包并设置字体包的参数信息,以供应用程序根据参数信息调用字体包,其中,参数信息至少包括字体包在应用程序中的应用位置和被应用程序调用的时机。获取的字体包是支持矢量图形,并且适用于终端的应用程序的字体包文件。为获取的字体包设置参数信息,包括字体包的名称、版本信息、描述信息、语种和版权等,还包括格式、编码、尺寸、位置和层次等信息。描述信息用来描述该字体包应用的场景,包括多少个字、多少个图形、字体是什么等,此处不再一一举例。由于字体包设置了这些基本的参数信息,在需要调用字体包的时候可以根据字体包的名字和比对字体包在应用程序中的应用位置和被应用程序调用的时机对其调用,避免字体包调用错误。需要说明的是,除了根据字体包的名字调用该字体包以外,还可以根据字体包的位置信息等进行调用,此处不再一一列举。
可选地,为了保证字体包中的矢量图形信息的一致性,在将矢量图形导入到字体包时根据字体包的参数信息调整矢量图形的属性,即导入单元包括:获取模块,用于获取矢量图形的属性信息;判断模块,用于判断矢量图形的属性信息是否与字体包的参数信息一致;修改模块,用于在矢量图形的属性信息与字体包的参数信息不一致时,修改矢量图形,以使矢量图形的属性信息与字体包的参数信息一致。
若矢量图形的尺寸信息与字体包参数信息记载的尺寸不同,则修改矢量图形使得矢量图形的尺寸与字体包所设置的尺寸一致。由于字体包的参数信息是适用于应用程序的信息,因此,使得矢量图形的信息与字体包的参数信息一致可以保证矢量图形可以准确的展示目标对象。
字体包中的矢量图形采用单色形式存储与字体包中,如果需要在不同场景下展示相同的矢量图形,并且不同场景下展示的颜色有变化,可以对矢量图形的前景色或者背景色进行修改,该修改可以通过调用该字体包的应用程序来实现,而字体包中的矢量图形本身并不会变化。也就是说,即使在不同场景下展示同一个矢量图形的不同状态,在字体包中存储一个矢量图形即可,而无需制作多个矢量图形。相比现有技术中不同场景下同一个图形的不同状态需要多个图片来展示,需要制作并存储多个图片的方式,本实施例节约了设计资源,减少了需要存储和传输的数据,解决了处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的效果。
可选地,获取单元包括:第二获取模块,用于获取待展示目标对象的多个矢量图形;分配模块,用于为多个矢量图形的每一个分别分配一个位置编码,其中,多个矢量图形对应的位置编码指示一个或者多个字体包中的位置。
待展示目标对象由多个矢量图形组成时,每个矢量图形对应一个位置编码,若多个矢量图形存储在一个字体包中,则对应的位置编码是这一个字体包中的位置编码,若多个矢量图像分别存储在2个以上的字体包中,每个矢量图形对应位置编码指示2个以上的字体包中的位置。由于位置编码唯一确定每个矢量图形在字体包中的位置,因此,相同或不同字体包中的位置编码互不相同。
通常一个字体包中可以存储多个矢量图形,存储的多个矢量图形可以被一个或多个应用程序的控件调用,应用程序的控件可以通过矢量图形的位置编码调用相应的矢量图形。即一个应用程序的控件所要展示的矢量图形可以存储在一个或者多个字体包中,一个字体包也可以被多个应用程序的控件共用,从而节约了字体包占用的空间。
可选地,获取单元包括:创建模块,用于创建待展示目标对象的矢量图形;或者提取模块,用于从存储有待展示目标对象的矢量图形的字体包中提取待展示目标对象的矢量图形。
获取的矢量图形可以通过用于编辑矢量图形的编辑器创建,也可以将已有的矢量图形添加到字体包中。已有的矢量图形可以是已有的字体包内的矢量图形,也可以是字体包以外的矢量图形,若已有的字体包内有该矢量图形,可以直接调用,也可以将该矢量图形重新存储到另外一个字体包中,这两个字体包中的矢量图形可以采用不同的位置编码。
例如,待展示目标对象的多个楷体字组成的语句“我爱中国”,从现有的楷体字体包中取出“我”“爱”“中”“国”四个字的矢量图形,并为每个矢量图形分配一个位置编码,将这四个字的矢量图形导入到一个新的字体包中,每个矢量图形都处于为其分配的位置编码所对应的位置。此处仅以存储字体的字体包进行说明,提取矢量图形的字体包还可以是其他存储有矢量图形的字体包。
通过上述实施例,可以获取已有的矢量图形生成字体包,提高了生成字体包的便捷性,节约了生成矢量图形的时间,同时,重复利用矢量图形,避免资源的浪费。
实施例4
根据本发明实施例,还提供了一种图形的展示装置。该装置可以执行实施例2的方法。
如图7所示,该图形的展示装置包括:获取单元72、调用单元74和展示单元76。
获取单元72用于在接收到用于指示对待展示目标对象进行展示的指令信息后,获取待展示目标对象对应的矢量图形在字体包中的位置编码和待展示目标对象的展示属性,其中,位置编码为按照权利要求1至5中任一项的字体包的生成方法生成字体包时分配的位置编码。
调用单元74用于从字体包中调用位置编码所对应的矢量图形。
展示单元76用于按照展示属性对矢量图形进行展示。
在应用程序的运行过程中,若需要在界面上展示控件,则发出指令信息以指示对目标对象进行展示。目标对象可以是应用程序控件中的图像,例如表情符号、字符、文字和线条等,还可以是其他可转换为矢量图形的图片。指令信息可以以程序代码的形式存在于应用程序中
展示目标对象时,通过调用字体包中的矢量图形来实现,根据矢量图形在字体包中的位置来调用字体包。一个字体包可以保存一个控件所需要的所有矢量图形,也可以保存多个控件所需要的矢量图形。根据应用字体包展示目标对象的控件的需要来确定将矢量图形保存在几个字体包,如应用字体包的控件较多,且每个控件所需要的矢量图形也不相同,则可以将矢量图形保存在多个字体包中;如应用字体包的控件较少,或者多个控件可以采用相同的字体包,可以将矢量图形保存在一个字体包中,由多个控件调用同一个字体包来展示目标对象。
展示属性数据至少包括矢量图形的展示样式及其变化形式。展示样式包括展示的尺寸、颜色和对齐方式等,还包括前景色、背景色、透明度或者背景图等,变化的形式包括更改前景色的时间、更改透明度的时间等。例如,利用浏览器浏览网页时,在网页的左上角显示“小松鼠”的标志,该标志以矢量图形的形式存储在字体包中,在白天调用该字体包时小松鼠采用白色显示,背景色采用橙色显示;在晚上调用该字体包时小松鼠采用灰色显示,背景色采用黑色显示。白天显示的标志调用的矢量图形和晚上显示标志的矢量图形都是同一个矢量图形,只是通过设置不同的展示属性数据来调节展示效果,以及展示效果所对应的变化形式。
采用相同的矢量图形还可以展示按钮的按下和弹起状态,控件的启用和关闭的展示状态等等,此处不再一一举例说明。需要注意的是,在改变展示属性数据时,矢量图形本身并不会发生变化,仍然是保存在字体包内的矢量图形,并且该矢量图形还可以多次重复调用。
通过上述实施例,将目标对象以矢量图形的形式存储在字体包中,在需要展示目标对象时调用字体包并设置相应的展示属性就能实现。利用展示属性数据来调节字体包中的矢量图形的展示样式,与逐个点阵填充图片的颜色相比,能够达到相同展示效果的同时,还能利用处理矢量图形的速度比较快的特点,提高目标对象的加载速度,解决了相关技术中处理图片的速度比较慢而降低展示速度的技术问题,达到了提高展示速度的技术效果。同时,对矢量图形的放大和缩小不会造成矢量图形的失真,因此,一个矢量图形可以根据控件的需要进行放大和缩小来提高显示的清晰度。而相关技术中需要针对不同分辨率的终端或者不同的控件存储多种尺寸和分辨率度的切图,可见,本实施例中采用矢量图形避免了存储多个相同的图片,节约了存储资源,减少了从服务器传输发送到终端的分发包的体积,也节约了从服务器到终端的传输资源。
可选地,获取单元还用于获取待展示目标对象对应的多个矢量图形的位置编码串和多个矢量图形的每一个所对应的展示属性,其中,位置编码串包括多个位置编码;调用单元还用于从一个或者多个字体包中查找多个位置编码的每一个位置编码对应的矢量图形,并调用查找到的矢量图形;展示单元还用于按照多个矢量图形各自的展示属性进行展示。
展示一个控件可能会需要多个矢量图形,那么多个矢量图形可以命名为一个名称,对应多个位置编码,多个位置编码组成一个位置编码串。当位置编码是字符编码时,多个字符编码组成一个字符编码串;当位置编码是字形编码时,多个字形编码组成一个字形编码串。在根据矢量图形的名称查找位置编码时,就可以根据一个名称找到多个位置编码,也就能找到多个矢量图形,实现了展示控件所需要的所有图形。
例如,在选择字体的下拉菜单中显示“方正兰亭黑”这几个字,每个字都是一个矢量图形,名称为“FontNameFZLTH”,矢量图形“方”对应的位置编码为“一”,矢量图形“正”对应的位置编码为“丁”,矢量图形“兰”对应的位置编码为“丂”,矢量图形“亭”对应的位置编码为“七”,矢量图形“黑”对应的位置编码为“丄”,“一丁丂七丄”为矢量图形的位置编码串。
采用位置编码串来对应多个矢量图形,便于查找多个矢量图形。位置编码串对应一个名称也便于程序查找位置编码串并加载矢量图形,提高了查找的效率,降低了该展示方法的应用程序的复杂度。
根据位置编码串中的每个位置编码查找对应的矢量图形,并调用位置编码串对应的所有矢量图形,按照每个矢量图形的展示属性对位置编码串对应的多个矢量图形进行展示。
例如,“方正兰亭黑”中每个矢量图形的展示属性依次为“楷体、宋体、方正兰亭黑、黑体和行楷,则“方”按照楷体展示,“正”按照宋体展示,“兰”展示的是方正兰亭黑,“亭”按照黑体展示,“黑”按照行楷展示。
可选地,为了程序运行和调用的方便,矢量名称对应有位置编码和名称,可以根据名称确定位置编码,并根据位置编码找到相应的矢量图形,查找单元包括:第二获取模块,用于获取矢量图形的名称并根据矢量图形的名称查找该矢量图形的位置编码;查找模块,用于根据位置编码在字体包内查找矢量图形。
位置编码可以采用适用于字体包的编码,例如,统一码(Unicode),包括字符编码和有可读性的字形编码等。位置编码的作用是标记矢量图形在字体包中的唯一位置。位置编码可以是字符编码或者字形编码,字符编码可以是Unicode编码,如0x4E00、0x4E01、0x4E02……等中文字符编码,也可以采用Unicode编码的英文字符编码,还可以采用“一、丁、乞、七”等来提高位置编码的可读性。通常位置编码是目标语言或应用程序中可显示的编码,例如,在中文的语言环境中采用中文字符作为位置编码,在英文的语言环境中采用英文字符作为位置编码,为了调用的方便,还可以采用统一码作为位置编码,在上述的应用场景中还可以采用其他形式的字符作为位置编码,此处不再一一列举。
为了通过矢量图形的名称来查找位置编码,矢量图形的名称与位置编码具有一一对应的关系,例如:FontNameFZLTH=“一丁丂七丄”。其中,“FontNameFZLTH”为矢量图形的名称,“一丁丂七丄”为矢量图形的位置编码。在应用程序的程序文件中,可以直接采用矢量图形的名称来编写,可以保证应用程序运行的可靠性。
可选地,目标对象包括多个矢量图形,第二获取模块还用于获取多个矢量图形的名称并查找与名称对应的位置编码串,其中,位置编码串为字符编码串或者字形编码串;查找模块还用于根据位置编码串在字体包内查找与位置编码串对应的多个矢量图形,以展示查询到的多个矢量图形。
展示一个控件可能会需要多个矢量图形,那么多个矢量图形可以命名为一个名称,对应多个位置编码,多个位置编码组成一个位置编码串。当位置编码是字符编码时,多个字符编码组成一个字符编码串;当位置编码是字形编码时,多个字形编码组成一个字形编码串。在根据矢量图形的名称查找位置编码时,就可以根据一个名称找到多个位置编码,也就能找到多个矢量图形,实现了展示控件所需要的所有图形。
例如,在选择字体的下拉菜单中显示“方正兰亭黑”这几个字,每个字都是一个矢量图形,名称为“FontNameFZLTH”,矢量图形“方”对应的位置编码为“一”,矢量图形“正”对应的位置编码为“丁”,矢量图形“兰”对应的位置编码为“丂”,矢量图形“亭”对应的位置编码为“七”,矢量图形“黑”对应的位置编码为“丄”,“一丁丂七丄”为矢量图形的位置编码串。
采用位置编码串来对应多个矢量图形,便于查找多个矢量图形。位置编码串对应一个名称也便于程序查找位置编码串并加载矢量图形,提高了查找的效率,降低了该展示方法的应用程序的复杂度。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种字体包的生成方法,其特征在于,包括:
获取待展示目标对象的矢量图形并为所述矢量图形分配位置编码;
将所述矢量图形导入到字体包中所述位置编码所指示的位置;
保存具有所述矢量图形的字体包,以供应用程序调用具有所述矢量图形的字体包来展示所述待展示目标对象。
2.根据权利要求1所述的方法,其特征在于,在将所述矢量图形导入到字体包中所述位置编码所指示的位置之前,所述方法还包括:
创建所述字体包并设置所述字体包的参数信息,以供所述应用程序根据所述参数信息调用所述字体包,其中,所述参数信息至少包括所述字体包在所述应用程序中的应用位置和被所述应用程序调用的时机。
3.根据权利要求2所述的方法,其特征在于,将所述矢量图形导入到字体包中所述位置编码所指示的位置包括:
获取所述矢量图形的属性信息;
判断所述矢量图形的属性信息是否与所述字体包的参数信息一致;
在所述矢量图形的属性信息与所述字体包的参数信息不一致时,修改所述矢量图形,以使所述矢量图形的属性信息与所述字体包的参数信息一致。
4.根据权利要求1所述的方法,其特征在于,获取待展示目标对象的矢量图形并为所述矢量图形分配位置编码包括:
获取所述待展示目标对象的多个矢量图形;
为所述多个矢量图形的每一个分别分配一个位置编码,其中,所述多个矢量图形对应的位置编码指示一个或者多个字体包中的位置。
5.根据权利要求1所述的方法,其特征在于,获取待展示目标对象的矢量图形包括:
创建所述待展示目标对象的矢量图形;或者
从存储有所述待展示目标对象的矢量图形的字体包中提取所述待展示目标对象的矢量图形。
6.一种图形的展示方法,其特征在于,包括:
在接收到用于指示对待展示目标对象进行展示的指令信息后,获取所述待展示目标对象对应的矢量图形在字体包中的位置编码和所述待展示目标对象的展示属性,其中,所述位置编码为按照权利要求1至5中任一项所述的字体包的生成方法生成所述字体包时分配的位置编码;
从所述字体包中调用所述位置编码所对应的矢量图形;
按照所述展示属性对所述矢量图形进行展示。
7.根据权利要求6所述的方法,其特征在于,获取所述待展示目标对象对应的矢量图形在字体包中的位置编码和所述待展示目标对象的展示属性包括:
获取所述待展示目标对象对应的多个矢量图形的位置编码串和所述多个矢量图形的每一个所对应的展示属性,其中,所述位置编码串包括多个所述位置编码;
从所述字体包中调用所述位置编码所对应的矢量图形包括:从一个或者多个所述字体包中查找多个所述位置编码的每一个位置编码对应的矢量图形,并调用查找到的矢量图形;
按照所述展示属性对所述矢量图形进行展示包括:按照所述多个矢量图形各自的展示属性进行展示。
8.一种字体包的生成装置,其特征在于,包括:
编码获取单元,用于获取待展示目标对象的矢量图形并为所述矢量图形分配位置编码;
导入单元,用于将所述矢量图形导入到字体包中所述位置编码所指示的位置;
保存单元,用于保存具有所述矢量图形的字体包,以供应用程序调用具有所述矢量图形的字体包来展示所述待展示目标对象。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
创建单元,用于在将所述矢量图形导入到字体包中所述位置编码所指示的位置之前,创建所述字体包并设置所述字体包的参数信息,以供所述应用程序根据所述参数信息调用所述字体包,其中,所述参数信息至少包括所述字体包在所述应用程序中的应用位置和被所述应用程序调用的时机。
10.根据权利要求9所述的装置,其特征在于,所述导入单元包括:
第一获取模块,用于获取所述矢量图形的属性信息;
判断模块,用于判断所述矢量图形的属性信息是否与所述字体包的参数信息一致;
修改模块,用于在所述矢量图形的属性信息与所述字体包的参数信息不一致时,修改所述矢量图形,以使所述矢量图形的属性信息与所述字体包的参数信息一致。
11.根据权利要求8所述的装置,其特征在于,所述获取单元包括:
第二获取模块,用于获取所述待展示目标对象的多个矢量图形;
分配模块,用于为所述多个矢量图形的每一个分别分配一个位置编码,其中,所述多个矢量图形对应的位置编码指示一个或者多个字体包中的位置。
12.根据权利要求8所述的装置,其特征在于,所述获取单元包括:
创建模块,用于创建所述待展示目标对象的矢量图形;或者
提取模块,用于从存储有所述待展示目标对象的矢量图形的字体包中提取所述待展示目标对象的矢量图形。
13.一种图形的展示装置,其特征在于,包括:
获取单元,用于在接收到用于指示对待展示目标对象进行展示的指令信息后,获取所述待展示目标对象对应的矢量图形在字体包中的位置编码和所述待展示目标对象的展示属性,其中,所述位置编码为按照权利要求1至5中任一项所述的字体包的生成方法生成所述字体包时分配的位置编码;
调用单元,用于从所述字体包中调用所述位置编码所对应的矢量图形;
展示单元,用于按照所述展示属性对所述矢量图形进行展示。
14.根据权利要求13所述的装置,其特征在于,
所述获取单元还用于获取所述待展示目标对象对应的多个矢量图形的位置编码串和所述多个矢量图形的每一个所对应的展示属性,其中,所述位置编码串包括多个所述位置编码;
所述调用单元还用于从一个或者多个所述字体包中查找多个所述位置编码的每一个位置编码对应的矢量图形,并调用查找到的矢量图形;
所述展示单元还用于按照所述多个矢量图形各自的展示属性进行展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906501.0A CN105549817B (zh) | 2015-12-09 | 2015-12-09 | 字体包的生成方法、装置和图形的展示方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906501.0A CN105549817B (zh) | 2015-12-09 | 2015-12-09 | 字体包的生成方法、装置和图形的展示方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105549817A true CN105549817A (zh) | 2016-05-04 |
CN105549817B CN105549817B (zh) | 2017-09-29 |
Family
ID=55829029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510906501.0A Expired - Fee Related CN105549817B (zh) | 2015-12-09 | 2015-12-09 | 字体包的生成方法、装置和图形的展示方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105549817B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843639A (zh) * | 2016-12-26 | 2017-06-13 | 上海与德信息技术有限公司 | 图标的显示方法和图标的显示装置 |
CN107704476A (zh) * | 2016-08-08 | 2018-02-16 | 亚太戏网股份有限公司 | 加速网页显示亚洲语系字体的方法、字体服务器、与浏览器端 |
CN107704299A (zh) * | 2017-09-11 | 2018-02-16 | 阿里巴巴集团控股有限公司 | 应用程序app的页面显示方法及装置、设备、存储介质 |
CN108681472A (zh) * | 2018-05-17 | 2018-10-19 | 广州优视网络科技有限公司 | 图片加载方法、装置及电子设备 |
CN109144619A (zh) * | 2017-06-14 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 图标字体信息处理方法、装置及系统 |
CN109407924A (zh) * | 2018-10-11 | 2019-03-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 界面显示方法、装置、终端及存储介质 |
WO2022116682A1 (zh) * | 2020-12-04 | 2022-06-09 | 腾讯科技(深圳)有限公司 | 串矢量的编解码方法、编码设备、解码设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008939A (zh) * | 2007-01-25 | 2007-08-01 | 深圳创维-Rgb电子有限公司 | 一种嵌入式系统的点阵字库的实现方法 |
CN101625848A (zh) * | 2009-07-28 | 2010-01-13 | 宁波新然电子信息科技发展有限公司 | 面向嵌入式平台的矢量字库实现方法 |
CN101800043A (zh) * | 2010-02-04 | 2010-08-11 | 华为终端有限公司 | 一种显示矢量字体的方法和终端 |
CN102930575A (zh) * | 2011-08-08 | 2013-02-13 | 腾讯科技(深圳)有限公司 | 一种辅助图形绘制的方法、装置及信息终端 |
CN104461564A (zh) * | 2014-12-24 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于字体生成图标的方法及装置 |
CN104915186A (zh) * | 2014-03-12 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 一种制作页面的方法和装置 |
CN104978183A (zh) * | 2015-01-22 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种图标构造方法,及终端设备 |
-
2015
- 2015-12-09 CN CN201510906501.0A patent/CN105549817B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008939A (zh) * | 2007-01-25 | 2007-08-01 | 深圳创维-Rgb电子有限公司 | 一种嵌入式系统的点阵字库的实现方法 |
CN101625848A (zh) * | 2009-07-28 | 2010-01-13 | 宁波新然电子信息科技发展有限公司 | 面向嵌入式平台的矢量字库实现方法 |
CN101800043A (zh) * | 2010-02-04 | 2010-08-11 | 华为终端有限公司 | 一种显示矢量字体的方法和终端 |
CN102930575A (zh) * | 2011-08-08 | 2013-02-13 | 腾讯科技(深圳)有限公司 | 一种辅助图形绘制的方法、装置及信息终端 |
CN104915186A (zh) * | 2014-03-12 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 一种制作页面的方法和装置 |
CN104461564A (zh) * | 2014-12-24 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于字体生成图标的方法及装置 |
CN104978183A (zh) * | 2015-01-22 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种图标构造方法,及终端设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704476A (zh) * | 2016-08-08 | 2018-02-16 | 亚太戏网股份有限公司 | 加速网页显示亚洲语系字体的方法、字体服务器、与浏览器端 |
CN107704476B (zh) * | 2016-08-08 | 2021-01-26 | 亚太戏网股份有限公司 | 加速网页显示亚洲语系字体的方法、字体服务器、与浏览器端 |
CN106843639A (zh) * | 2016-12-26 | 2017-06-13 | 上海与德信息技术有限公司 | 图标的显示方法和图标的显示装置 |
CN109144619A (zh) * | 2017-06-14 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 图标字体信息处理方法、装置及系统 |
CN107704299A (zh) * | 2017-09-11 | 2018-02-16 | 阿里巴巴集团控股有限公司 | 应用程序app的页面显示方法及装置、设备、存储介质 |
WO2019047881A1 (zh) * | 2017-09-11 | 2019-03-14 | 阿里巴巴集团控股有限公司 | 应用程序app的页面显示方法及装置、设备、存储介质 |
CN108681472A (zh) * | 2018-05-17 | 2018-10-19 | 广州优视网络科技有限公司 | 图片加载方法、装置及电子设备 |
CN109407924A (zh) * | 2018-10-11 | 2019-03-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 界面显示方法、装置、终端及存储介质 |
WO2022116682A1 (zh) * | 2020-12-04 | 2022-06-09 | 腾讯科技(深圳)有限公司 | 串矢量的编解码方法、编码设备、解码设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105549817B (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105549817A (zh) | 字体包的生成方法、装置和图形的展示方法、装置 | |
CN109101300B (zh) | 一种页面渲染方法、装置及终端 | |
CN107239491A (zh) | 用于实现用户行为追踪的方法、设备、浏览器及电子设备 | |
CN107895394B (zh) | 动画特效实现方法、装置、终端设备及存储介质 | |
US11281849B2 (en) | System and method for printable document viewer optimization | |
CN104834952A (zh) | 智能二维码 | |
US11281742B2 (en) | Interactive and selective coloring of digital vector glyphs | |
CN102122502A (zh) | 一种三维字体显示方法以及相关装置 | |
CN108052548A (zh) | 一种网页创建的方法、系统及终端设备 | |
CN108205960A (zh) | 一种文字渲染的方法和装置、电子地图制作系统及导航系统 | |
CN111159597A (zh) | 骨架屏的生成方法、系统、计算机设备及存储介质 | |
CN106156189A (zh) | 一种标签生成方法及装置、信息获取方法及装置 | |
CN114416056A (zh) | 页面生成方法、系统、计算机设备及可读存储介质 | |
CN109783792A (zh) | 图文排版方法及装置 | |
CN113449502A (zh) | 基于动态数据的文档生成方法与系统 | |
US20150339277A1 (en) | Systems and methods for programming behavior of a website to respond to capabilities of different devices | |
CN110781653B (zh) | 利用vue绘制svg图表的方法、装置、计算机设备和存储介质 | |
US10115374B2 (en) | Variable glyph encoding | |
US10031894B2 (en) | Method and apparatus of building intermediate character library | |
CN105490914B (zh) | 一种led自动化服务器及交互方法 | |
CN103699520A (zh) | 用于维持电子文档布局的字体处理方法 | |
CN111273984A (zh) | 一种数值控件的扩展方法、存储介质及终端设备 | |
CN114237795B (zh) | 终端界面显示方法、装置、电子设备及可读存储介质 | |
CN113554546A (zh) | 水印绘制方法及装置 | |
CN104731787A (zh) | 实现网页布局的方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170929 |
|
CF01 | Termination of patent right due to non-payment of annual fee |