CN116450976A - 一种字体展现的方法及装置 - Google Patents
一种字体展现的方法及装置 Download PDFInfo
- Publication number
- CN116450976A CN116450976A CN202211658886.XA CN202211658886A CN116450976A CN 116450976 A CN116450976 A CN 116450976A CN 202211658886 A CN202211658886 A CN 202211658886A CN 116450976 A CN116450976 A CN 116450976A
- Authority
- CN
- China
- Prior art keywords
- file
- font
- site
- custom
- custom font
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000015654 memory Effects 0.000 claims description 36
- 238000009877 rendering Methods 0.000 claims description 20
- 230000003068 static effect Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009193 crawling Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请提供一种字体展现的方法及装置,涉及计算机技术领域,能够压缩字体文件,缩短Web界面加载时间,提升用户体验。该方法包括:获取站点的层叠样式表CSS文件;从CSS文件中获取自定义字体的初始文件;从初始文件中获取用于界面展现的信息,得到自定义字体的目标文件;向服务器发送目标文件;接收来自服务器的图片文件,加载图片文件。其中,图片文件是根据用于界面展现的信息中的文本信息和图片信息得到的。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种字体展现的方法及装置。
背景技术
随着互联网的飞速发展,出现了Web(World Wide Web)即全球广域网,也称为万维网。Web是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面。
在web前端应用开发过程中,研发人员通常会根据界面设计稿中元素的大小、字体和颜色等进行开发,但是对于自定义字体(如font-family属性的字体),则需要下载该自定义字体的文件并进行引用,才能在界面上正确呈现该自定义字体。通常该自定义字体的文件较大,使得Web界面加载时间较长,用户体验差。
发明内容
本申请提供一种字体展现的方法及装置,能够压缩字体文件,缩短Web界面加载时间,提升用户体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种字体展现的方法,该方法包括:获取站点的层叠样式表CSS文件;从CSS文件中获取自定义字体的初始文件;从初始文件中获取用于界面展现的信息,得到自定义字体的目标文件;向服务器发送目标文件;接收来自服务器的图片文件,图片文件是根据用于界面展现的信息中的文本信息和图片信息得到的;加载图片文件。
基于上述第一方面提供的方法,可以加载字体的图片文件从而实现字体的展现。其中,图片文件是根据所述用于界面展现的信息中的文本信息和图片信息得到的,使得图片文件所包括的是用于界面展现的必要信息,而不包括其他不用于界面展现的信息。因此,使得用于加载字体的图片文件较小,从而缩短了Web界面加载时间,提升了用户体验。
一种可能的实现方式,从CSS文件中获取自定义字体的初始文件,包括:从CSS文件中确定自定义字体的选择器;根据选择器确定站点的类型;根据站点的类型获取自定义字体的初始文件。
基于上述方法,可以基于站点类型,解析站点内的文本文件,并从中获取自定义字体的初始文件。
一种可能的实现方式,站点的类型包括静态站点和动态站点;根据站点的类型获取自定义字体的初始文件,包括:若站点的类型为静态站点,通过选择器在文档对象模型节点中确定初始文件;或者,若站点的类型为动态站点,根据CSS文件获取抽象语法树,从抽象语法树中确定初始文件。
基于上述方法,可以获取静态站点和动态站点的自定义字体的初始文件,即获取了待展现字体的初始文件。
一种可能的实现方式,向服务器发送目标文件,包括:将目标文件编码成第一格式文件,第一格式文件为跨平台使用的字体格式的文件;向服务器发送第一格式文件。
基于上述方法,可以将目编码成第一格式的文件,再发送给服务器。其中,由于第一格式的文件为跨平台使用的字体格式的文件,使得待展现字体的目标可以兼容多平台并在多平台展现。
一种可能的实现方式,文本信息包括:文本内容、自定义字体的大小、自定义字体的颜色、自定义字体的高度、自定义字体的格式和自定义字体的位置信息;图片信息包括:显示自定义字体的画布的宽度和画布的高度。
基于上述方法,文本信息和图片信息所包括的是用于界面展现的必要信息,而不包括其他不用于界面展现的信息。因此,使得用于加载字体的图片文件较小,从而缩短了Web界面加载时间。
第二方面,本申请提供一种字体展现的装置用于实现上述方法。该字体展现的装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第三方面,本申请提供了一种字体展现的装置,该装置包括:处理器;该处理器用于与存储器耦合,并读取存储器中的指令之后,根据该指令执行如上述第一方面所述的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式中描述的方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式中所描述的方法。
第六方面,本申请实施例提供一种芯片,芯片包括处理器,该处理器用于运行计算机程序或指令,以实现如第一方面或第一方面的任一种可能的实现方式中所描述的方法。
一种可能的实现方式,本申请实施例中提供的芯片还包括存储器,用于存储计算机程序或指令。
其中,第二方面至第六方面中任一种可能的实现方式所带来的技术效果可参见上述第一方面或第一方面中不同可能的实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的Web系统的架构示意图;
图2为本申请实施例提供的一种字体展现的方法流程图;
图3为本申请实施例提供的一种字体展现的装置结构示意图;
图4为本申请实施例提供的一种字体展现的装置硬件结构示意图;
图5为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的一种字体展现的方法及装置进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
本申请实施例提供的方法可用于各种Web系统中。下面以图1所示Web系统10为例,对本申请实施例提供的方法进行描述。图1仅为示意图,并不构成对本申请提供的技术方案的适用场景的限定。
如图1所示,为本申请实施例提供的Web系统10的架构示意图。图1中,Web系统10可以包括客户端101和服务器102。
本申请实施例中的服务器,例如:服务器102,可以是任意一种具有计算能力和通信能力的设备。
本申请实施例中的客户端,例如:客户端101,是一种具有计算能力和通信能力的设备,例如,为终端或用户设备。其中,用户设备可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑等,不予限制。
在图1中,客户端101可以与服务器102进行信息交互。具体来说,客户端101可以从自定义字体的初始文件中获取用于界面展现的信息,得到自定义字体的目标文件,并向服务器102发送该目标文件。服务器102接收到目标文件后,可以将目标文件编码成图片文件并发送给客户端101。客户端101接收到图片文件后,可以在本地加载图片文件。由于图片文件是根据用于界面展现的信息得到的,所以,图片文件包括的是用于界面展现的必要信息,而不包括其他不用于界面展现的信息。因此,可以使得用于加载字体的图片文件较小,从而缩短了Web界面加载时间,提升了用户体验。
图1所示的Web系统10仅用于举例,并非用于限制本申请的技术方案。本领域的技术人员应当明白,在具体实现过程中,Web系统10还可以包括其他设备,同时也可根据具体需要来确定客户端和服务器的数量,不予限制。
下面对本申请实施例提供的方法进行具体阐述。
如图2所示,为本申请实施例提供的一种字体展现的方法,该字体展现的方法包括如下步骤:
S201:字体展现的装置获取站点的层叠样式表CSS文件。
本申请实施例中,字体展现的装置可以是图1所示Web系统10中的客户端101。
其中,站点为存储自定义字体的网站。
可以理解的,字体展现的装置在存储自定义字体的网站中获取存储自定义字体的层叠样式表CSS文件。
S202:字体展现的装置从CSS文件中获取自定义字体的初始文件。
S203:字体展现的装置从初始文件中获取用于界面展现的信息,得到自定义字体的目标文件。
一种可能的实现方式,字体展现的装置从CSS文件中确定自定义字体的选择器,根据选择器确定站点的类型,根据站点的类型获取自定义字体的初始文件。
一种可能的实现方式,站点的类型包括静态站点和动态站点。字体展现的装置根据站点的类型获取自定义字体的初始文件,包括:若站点的类型为静态站点,通过选择器在文档对象模型节点中确定初始文件;或者,若站点的类型为动态站点,根据CSS文件获取抽象语法树,从抽象语法树中确定所述初始文件。
示例性的,字体展现的装置扫描超文本标记语言(HTML)文件中的CSS文件,分析CSS文件中的CSS语句,确定自定义字体的@font-face属性和使用自定义字体的CSS选择器。字体展现的装置根据使用自定义字体的CSS选择器判断站点存储的资源的类型,即站点的类型。若站点的类型为静态站点,字体展现的装置通过使用自定义字体的CSS选择器查找文档对象模型(Document Object Model,DOM)树结构的DOM节点,找到DOM节点之后再去加载DOM节点对应的自定义字体数据,从而确定自义字体的初始文件。若站点的类型为动态站点,字体展现的装置通过编译工具(Babel)将CSS文件的字符串转化为树状结构的抽象语法树(Abstract Syntax Tree,AST),并通过Babel遍历AST后查找到@font-face属性的自定义字体数据,从而确定自义字体的初始文件。字体展现的装置从自义字体的初始文件中,筛选出用于界面展现信息对应的自定义字体文件,删除不用于界面展现信息对应的自定义字体文件,得到自定义字体的目标文件。
可以理解的,CSS选择器能够对站点中的字体文件位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对站点对象和模型样式编辑的能力。这使得字体展现的装置可以根据CSS选择器确定站点的类型,从而实现对站点内的静态资源和动态资源的有效控制,完成对自定义字体的目标文件的爬取。
S204:字体展现的装置向服务器发送目标文件。
一种可能的实现方式,字体展现的装置将目标文件编码成第一格式文件,向服务器发送第一格式文件。其中,第一格式文件为跨平台使用的字体格式的文件。
可以理解的,字体展现的装置向服务器发送的目标文件是跨平台使用的字体格式的文件。其中,跨平台可以理解为兼容多个浏览器。这避免了对于CSS层叠样式中的属性@font-face字体文件,有的浏览器无法识别字体的问题。
可以理解的,服务器可以接收该目标文件。之后,服务器可以根据该目标文件生成图片文件。可选的,服务器可以提供一个通用型网络接口生成图片文件。本申请实施例中,服务器可以是图1所示Web系统10中的服务器102。
一种可能的实现方式,图片文件是根据用于界面展现的信息中的文本信息和图片信息得到的。其中,用于界面展现的信息是字体展现的装置向服务器发送的目标文件所包括的信息。文本信息包括:文本内容、自定义字体的大小、自定义字体的颜色、自定义字体的高度、自定义字体的格式和所述自定义字体的位置信息。图片信息包括:显示自定义字体的画布的宽度和画布的高度。可选的,自定义字体的位置信息可以包括自定义字体起始横坐标和自定义字体起始纵坐标。
下面对得到图片文件的具体过程进行说明。
服务器通过NodeJS技术开启一个服务(如Node服务),定义一个通用型网络接口。其中,通用型网络接口可接收多个参数,多个参数包括用于界面展现的信息中的文本信息和图片信息所包括的参数。例如,多个参数包括:文本内容(text)、自定义字体的大小(fontSize)、自定义字体的颜色(color)、自定义字体的高度(lineHeight)、自定义字体的格式(fontFamily)、自定义字体起始横坐标(x)和自定义字体起始纵坐标(y)、显示自定义字体的画布的宽度(width)和画布的高度(height)。
服务器接收字体展现的装置发送的目标文件,即服务器通用型网络接口接收目标文件中用于界面展现的信息的文本信息和图片信息所包括的参数信息。
服务器安装node-canvas②插件,通过node-canvas②插件中的createCanvas方法并根据参数width、height创建一个画布(canvas),canvas画布可以为图片文件的显示提供底层显示对象。服务器通过node-canvas②插件中的getContext方法创建绘图上下文对象(context),其中,context具有fontFamily属性。服务器通过node-canvas②插件中的registerFont方法引入并命名自定义字体。从而使得context可以通过fontFamily属性设置已经注册的自定义字体的大小以及字体格式。服务器通过node-canvas②插件中的fillText方法并根据参数lineHeight、x、y向canvas写入自定义字体的文本。
可选的,服务器通过二分查找算法对自定义字体的文本进行折行。其中,进行折行的算法实现包括:若某一个位置之前的文本宽度小于等于设定的宽度,并且它之后一个字之前的文本宽度大于设定的宽度,此位置点即折行点,即:该位置点与该位置点的前一个位置处于不同行。之后对整个文本进行循环查找,直到不存在这样的折行点为止。其中,文本宽度可以通过node-canvas②插件中的measureText方法测量,比如文本换行后的新位置x即为传入的x初始值,新位置y值为传入的y值和传入的lineHeight值相加。
可选的,在确定了折行点后,服务器可以通过正则表达式确定折行点的后一个字符是否为标点符号,以使得标点字符不出现在首行。例如,若折行点的后一个字符为标点符号,则将折行点向前移动一个字符,并进行折行;若折行点的后一个字符不是标点符号,则继续进行折行。
可选的,在确定了折行点后,服务器可以通过正则表达式确定折行点的前一个位置是否为空格,以使得英文单词不拆分。例如,若折行点的前一个位置不是空格,则服务器向前匹配直到匹配到空格,记录向前匹配的字符数n,之后将折行点的位置向前移动n个位置,并进行折行;若折行点的前一个位置是空格,则继续进行折行。最终,服务器确定了画布上自定义字体的文本的格式。
后续,服务器通过node-canvas②插件中toDataURL()方法将自定义字体的文本画布布输出为图片文件,如:自定义字体的base64格式的图片文件,进而通过通用型网络接口向字体展现的装置发送该图片文件。
示例性的,服务器可以将上述通用型网络接口封装为一个对外方法,如:specialFont(text,fontSize,color,x,y,width,height,lineHeight,fo ntFamily)。其中,specialFont为该对外方法名称,同时此方法接收客户端传入的必要参数,即用于界面展现的信息中的文本信息和图片信息所包括的参数。若客户端传入的必要参数为空,则服务器将必要参数默认为:fo ntSize为16px);color为#ffffff;x为0;y为0;witdth和height为画布默认宽高即300*150,lineHeight和fontFamily为画布默认行高以及字体。
可以理解的,通用型网络接口可以部署在生产环境的底层接口服务上,方便客户端应用随时调用,真正实现了按需调用,保证了网络资源的合理利用。同时,基于NodeJS技术结合node-canvas②插件对于自定义字体的绘制,实现了服务器的动态文本渲染技术,同时返回base64格式图片。
S205:字体展现的装置接收来自服务器的图片文件。
S206:字体展现的装置加载图片文件。
可以理解的,字体展现的装置接收来自服务器的图片文件,并使用image标签元素加载接收到的图片文件,从而展现自定义字体。
基于图2所示的方法,字体展现的装置可以加载字体的图片文件从而实现字体的展现。其中,图片文件是根据所述用于界面展现的信息中的文本信息和图片信息得到的,使得图片文件所包括的是用于界面展现的必要信息,而不包括其他不用于界面展现的信息。因此,使得用于加载字体的图片文件较小,从而缩短了Web界面加载时间,提升了用户体验。
本申请实施例可以根据上述方法示例对字体展现的装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图3所示,为本申请实施例提供的一种字体展现的装置30的结构示意图,该装置包括:获取模块301、收发模块302和处理模块303。
其中,获取模块301,用于获取站点的层叠样式表CSS文件。例如,获取模块301用于执行上述S201。
获取模块301,还用于从CSS文件中获取自定义字体的初始文件。例如,获取模块301用于执行上述S202。
获取模块301,还用于从初始文件中获取用于界面展现的信息,得到自定义字体的目标文件。例如,获取模块301用于执行上述S203。
收发模块302,用于向服务器发送目标文件。例如,收发模块302用于执行上述S204。
收发模块302,还用于接收来自服务器的图片文件,图片文件是根据用于界面展现的信息中的文本信息和图片信息得到的。例如,收发模块302用于执行上述S205。
处理模块303,用于加载图片文件。例如,处理模块303用于执行上述S206。
一种可能的实现方式,获取模块301,具体用于从CSS文件中确定自定义字体的选择器。获取模块301,还具体用于根据所述选择器确定所述站点的类型。获取模块301,还具体用于根据站点的类型获取自定义字体的初始文件。
一种可能的实现方式,站点的类型包括静态站点和动态站点。获取模块301,还具体用于若站点的类型为静态站点,通过选择器在文档对象模型节点中确定初始文件。或者,获取模块301,还具体用于若站点的类型为动态站点,根据CSS文件获取抽象语法树,从抽象语法树中确定初始文件。
一种可能的实现方式,收发模块302,具体用于将目标文件编码成第一格式文件,第一格式文件为跨平台使用的字体格式的文件。收发模块302,还具体用于向服务器发送第一格式文件。
一种可能的实现方式,文本信息包括:文本内容、自定义字体的大小、自定义字体的颜色、自定义字体的高度、自定义字体的格式和自定义字体的位置信息。图片信息包括:显示自定义字体的画布的宽度和画布的高度。
可以理解的,上述字体展现的装置也可以通过硬件实现。例如,在通过硬件实现时,本申请实施例中的获取模块301和收发模块302可以集成在通信接口上,处理模块303可以集成在处理器上。又例如,在通过硬件实现时,本申请实施例中的获取模块301、收发模块302和处理模块303都集成在处理器上。硬件的结构可以如图4所示。
图4示出了上述实施例中所涉及的字体展现的装置的一种可能的硬件结构示意图。该字体展现的装置包括:处理器402。可选的,该字体展现的装置还包括:通信接口403、存储器401和总线404。
处理器402用于对字体展现的装置的动作进行控制管理,例如,执行上述处理模块303执行的步骤,和/或用于执行本文所描述的技术的其它过程。可选的,处理器402还可执行上述获取模块301和收发模块302执行的步骤。上述处理器402可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
通信接口403用于支持字体展现的装置与其他网络实体的通信,例如,执行上述获取模块301和收发模块302执行的步骤。
存储器401用于存储字体展现的装置的程序代码和数据。例如,存储器401可以是字体展现的装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线404可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图5是本申请实施例提供的芯片50的结构示意图。芯片50包括一个或两个以上(包括两个)处理器501。可选的,芯片50还包括通信接口503、总线502和存储器504。
其中,上述处理器501可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供操作指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。
在一些实施方式中,存储器504存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器504存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
存储器504可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态5硬盘;该存储器还可以包括上述种类的存储器的组合。
总线502可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线502可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
0通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,
为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例5中的对应过程,在此不再赘述。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的确定算力节点的方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质0中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可
读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线5的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,
CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者0本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
由于本申请的实施例中的字体展现的装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请实施例在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (13)
1.一种字体展现的方法,其特征在于,所述方法包括:
获取站点的层叠样式表CSS文件;
从所述CSS文件中获取自定义字体的初始文件;
从所述初始文件中获取用于界面展现的信息,得到所述自定义字体的目标文件;
向服务器发送所述目标文件;
接收来自所述服务器的图片文件,所述图片文件是根据所述用于界面展现的信息中的文本信息和图片信息得到的;
加载所述图片文件。
2.根据权利要求1所述的方法,其特征在于,所述从所述CSS文件中获取自定义字体的初始文件,包括:
从所述CSS文件中确定所述自定义字体的选择器;
根据所述选择器确定所述站点的类型;
根据所述站点的类型获取自定义字体的初始文件。
3.根据权利要求2所述的方法,其特征在于,所述站点的类型包括静态站点和动态站点;
所述根据所述站点的类型获取自定义字体的初始文件,包括:
若所述站点的类型为静态站点,通过所述选择器在文档对象模型节点中确定所述初始文件;或者,
若所述站点的类型为动态站点,根据所述CSS文件获取抽象语法树,从所述抽象语法树中确定所述初始文件。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述向服务器发送所述目标文件,包括:
将所述目标文件编码成第一格式文件,所述第一格式文件为跨平台使用的字体格式的文件;
向所述服务器发送所述第一格式文件。
5.根据权利要求1-3中任一项所述的方法,其特征在于,
所述文本信息包括:文本内容、所述自定义字体的大小、所述自定义字体的颜色、所述自定义字体的高度、所述自定义字体的格式和所述自定义字体的位置信息;
图片信息包括:显示所述自定义字体的画布的宽度和所述画布的高度。
6.一种字体展现的装置,其特征在于,所述装置包括:获取模块、收发模块和处理模块;
所述获取模块,用于获取站点的层叠样式表CSS文件;
所述获取模块,还用于从所述CSS文件中获取自定义字体的初始文件;
所述获取模块,还用于从所述初始文件中获取用于界面展现的信息,得到所述自定义字体的目标文件;
所述收发模块,用于向服务器发送所述目标文件;
所述收发模块,还用于接收来自所述服务器的图片文件,所述图片文件是根据所述用于界面展现的信息中的文本信息和图片信息得到的;
所述处理模块,用于加载所述图片文件。
7.根据权利要求6所述的装置,其特征在于,
所述获取模块,具体用于从所述CSS文件中确定所述自定义字体的选择器;
所述获取模块,还具体用于根据所述选择器确定所述站点的类型;
所述获取模块,还具体用于根据所述站点的类型获取自定义字体的初始文件。
8.根据权利要求7所述的装置,其特征在于,所述站点的类型包括静态站点和动态站点;
所述获取模块,还具体用于若所述站点的类型为静态站点,通过所述选择器在文档对象模型节点中确定所述初始文件;或者,
所述获取模块,还具体用于若所述站点的类型为动态站点,根据所述CSS文件获取抽象语法树,从所述抽象语法树中确定所述初始文件。
9.根据权利要求6-8中任一项所述的装置,其特征在于,
所述收发模块,具体用于将所述目标文件编码成第一格式文件,所述第一格式文件为跨平台使用的字体格式的文件;
所述收发模块,还具体用于向所述服务器发送所述第一格式文件。
10.根据权利要求6-8中任一项所述的装置,其特征在于,
所述文本信息包括:文本内容、所述自定义字体的大小、所述自定义字体的颜色、所述自定义字体的高度、所述自定义字体的格式和所述自定义字体的位置信息;
图片信息包括:显示所述自定义字体的画布的宽度和所述画布的高度。
11.一种字体展现的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述装置执行如权利要求1至5中任一项所述的方法。
12.一种芯片,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述芯片执行如权利要求1至5中任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行该指令时,该计算机执行上述权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211658886.XA CN116450976A (zh) | 2022-12-22 | 2022-12-22 | 一种字体展现的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211658886.XA CN116450976A (zh) | 2022-12-22 | 2022-12-22 | 一种字体展现的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450976A true CN116450976A (zh) | 2023-07-18 |
Family
ID=87130880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211658886.XA Pending CN116450976A (zh) | 2022-12-22 | 2022-12-22 | 一种字体展现的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450976A (zh) |
-
2022
- 2022-12-22 CN CN202211658886.XA patent/CN116450976A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866383B (zh) | 一种接口调用方法、装置及终端 | |
CN111639287A (zh) | 一种页面处理方法、装置、终端设备及可读存储介质 | |
CN105373615A (zh) | 一种页面定制化的方法和装置 | |
CN110908712A (zh) | 移动端跨平台的数据处理方法和设备 | |
CN111680253B (zh) | 页面应用数据包生成方法、装置、计算机设备及存储介质 | |
CN108021356B (zh) | 一种跨屏跨平台的可量测实景地图组织方法 | |
CN112256990B (zh) | 一种图像处理方法及装置、计算机可读存储介质 | |
CN107391182B (zh) | 一种主题安装包的生成方法、装置、服务器及存储介质 | |
CN112416458A (zh) | 基于ReactNative的预加载方法、装置、计算机设备及存储介质 | |
CN112612982A (zh) | 网页预加载方法、装置及计算机设备 | |
CN113382083A (zh) | 一种网页截图方法和装置 | |
CN110365776B (zh) | 图片批量下载方法、装置、电子设备及存储介质 | |
CN112947900B (zh) | web应用开发方法、装置、服务器及开发终端 | |
CN115576536A (zh) | 一种通过分析字节码自动生成接口文档的方法及系统 | |
CN108021567B (zh) | 浏览器自适应自定义字体的方法及装置 | |
CN116450976A (zh) | 一种字体展现的方法及装置 | |
CN115202756A (zh) | 基于Vue的组件加载方法、系统和电子设备 | |
CN115186214A (zh) | 页面配置方法、装置、计算机设备及计算机可读存储介质 | |
CN114168875A (zh) | 一种页面程序的生成方法、装置、计算机设备及存储介质 | |
CN113760283A (zh) | 一种文本渲染方法和装置 | |
CN113377376A (zh) | 数据包生成方法、数据包生成装置、电子设备及存储介质 | |
CN112417324A (zh) | 基于Chrome的URL拦截方法、装置及计算机设备 | |
CN117093386B (zh) | 页面截图方法、装置、计算机设备和存储介质 | |
CN112732254B (zh) | 网页开发方法、装置、计算机设备和存储介质 | |
CN117348960A (zh) | 一种网页内容导出方法、装置、设备及介质 |
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 |