CN107704615B - 基于中文字体子集化的网页字体显示方法及系统 - Google Patents
基于中文字体子集化的网页字体显示方法及系统 Download PDFInfo
- Publication number
- CN107704615B CN107704615B CN201711002953.1A CN201711002953A CN107704615B CN 107704615 B CN107704615 B CN 107704615B CN 201711002953 A CN201711002953 A CN 201711002953A CN 107704615 B CN107704615 B CN 107704615B
- Authority
- CN
- China
- Prior art keywords
- font
- file
- subset
- face
- webpage
- 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
-
- 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/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供的基于中文字体子集化的网页字体显示方法及系统,方法为:用户网页被浏览,预先设置在网页上的js插件运行,在当前浏览网页的文字内容尚未开始加载时,js插件获取当前浏览网页的网址,基于网址计算得到当前浏览网页对应@font‑face的文件名;根据@font‑face的文件名,从文件存储空间中获取当前浏览网页对应的@font‑face文件,如果获取成功,则动态引用到当前浏览网页上,应用@font‑face文件中的@font‑face语句所产生的字体效果。本发明通过预先将网页对应的字体子集存储在文件存储空间中,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,降低了子集化服务器的运算量,提高用户体验。
Description
技术领域
本发明涉及计算机领域,尤其涉及基于中文字体子集化的网页字体显示方法及系统领域。
背景技术
一般在网上传输的文字信息,都只是文字的unicode编码(统一码、万国码、单一码,是一种在计算机上使用的字符编码,为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布),不携带字形的信息,在客户端显示的效果要借助客户端系统上所安装的字体。比如:传输的文字没有指定字体,则客户端系统会用默认字体显示(比如有的电脑默认是宋体,有的是微软雅黑),如果传输的文字有指定字体,则要看客户端系统上有没有安装这个字体,如果有事先安装过就显示正常,如果没有,就显示为系统所设置的默认字体。
这种显示字体的方式其实是单机时代的方式:一套字体安装在这个电脑上,那么这个电脑就能正常使用,如果没有安装,就不能使用。但是现在是网络时代,在网上传输的文字如果想要实现丰富的字体,那就意味着,所有的浏览客户端的系统上都要事先安装所有的字体,然而每天都有新的字体被设计出来,显示不可能实现所有电脑都事先安装好。因此,国外发明了webfont技术,让字体的显示不再依赖浏览客户端的系统,就算浏览客户端系统上没有安装这个字体也可以正常显示这个字体的效果(脱离单机限制)。
此前比较流行的方式是将文字用phtoshop制成图片,然后放在网上传输,但因为转成图片后就损失了灵活性,不能被一些应用快速获取分析上面的文字,也无法在不同尺寸的屏幕上自由换行(版面无法自适应屏幕)。在屏幕尺寸五花八门的时代技,webfont技术成为网络用字的主要方式。但是现有技术中,通过基于webfont技术进行字体显示的方法,在常规的方式下,页面每次打开,js都会请求子集化服务器,子集化服务器不用每次都要为页面生成对应的子集字体文件,如果用户页面浏览量较大,则所有的浏览量都将集中在子集化服务器上,给子集化服务器造成压力,子集化服务器运算量过高将会引起反应缓慢或者拒绝服务,如果子集化服务器反应缓慢或者拒绝服务,则用户的网页就会受到影响,降低用户体验。
因此,现有技术中的缺陷是:现有网页字型显示,页面每次打开,js都会请求子集化服务器,如果用户页面浏览量较大,子集化服务器的计算量过大,影响整体运行效率,降低用户体验度。
发明内容
针对上述技术问题,本发明提供一种基于中文字体子集化的网页字体显示方法及系统,通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种基于中文字体子集化的网页字体显示方法,包括:
步骤S1,当用户网页被浏览客户端浏览,所述用户网页上预先设置的js插件启动运行;
步骤S2,在当前浏览网页的文字内容尚未开始加载时,所述js插件获取所述当前浏览网页的网址,并根据所述网址计算得到所述当前浏览网页对应@font-face的文件名;其中,所述@font-face文件的文件名是基于网址计算得到的,所述@font-face文件中包括@font-face语句;
步骤S3,根据所述@font-face文件的文件名,从文件存储空间中获取所述当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示方法,其技术方案为:当用户网页被浏览客户端浏览,所述用户网页上预先设置的js插件启动运行;在当前浏览网页的文字内容尚未开始加载时,所述js插件获取所述当前浏览网页的网址,并根据所述网址计算得到所述当前浏览网页对应@font-face文件的文件名;其中,所述@font-face的文件名是基于网址计算得到的,所述@font-face文件中包括@font-face语句;根据所述@font-face文件的文件名,从文件存储空间中获取所述当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示方法,通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
进一步地,还包括:步骤S4,在所述当前浏览网页的页面元素完全加载完成后,通过所述js插件检验所述@font-face文件是否成功引用,如果引用成功且所述当前浏览网页中的内容未发生改变,则不作任何操作;
如果引用成功且所述当前浏览网页中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件;
步骤S5,在所述子集化服务器生成好新的子集字体和新的@font-face文件后,将所述新的@font-face文件引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
进一步地,所述步骤S4中,如果引用成功且所述当前浏览网页中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件,具体为:
通过所述js插件,获取所述当前浏览网页的信息,所述信息包括文字内容和对应字体的标识符,向所述子集化服务器发送请求,并提交所述信息;
根据所述发送请求,通过所述子集化服务器生成新的子集字体和新的@font-face文件,并将所述新的子集字体和新的@font-face文件存储在所述文件存储空间,并以基于网址计算得到的字符串来命名所述新的@font-face文件。
进一步地,通过所述子集化服务器生成新的子集字体和新的@font-face文件,具体为:
通过所述子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
通过所述子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
根据所述发送请求,从所述信息中获取字体的标识符和文字内容,从所述标识符所指定字体原文件中选择与所述文字内容对应的字型,形成若干个新的子集字体,并生成新的@font-face文件,其中,所述新的@font-face文件以基于网址计算得到的字符串进行命名;
将所述新的子集字体和新的@font-face文件存储在所述文件存储空间中。
进一步地,通过字符串压缩算法对所述新的子集字体进行命名,具体为:
根据所述当前网页的网址,将所述网址压缩得到网址压缩的字符串;
将所述网址压缩的字符串作为所述@font-face文件的文件名,其中所述网址压缩的字符串是唯一的。
进一步地,所述步骤S4中,还包括,更新步骤:
当所述当前浏览网页内容发生改变,根据所述新的子集字体和新的@font-face文件,对所述当前浏览网页对应的原子集字体和@font-face文件进行更新。
第二方面,本发明提供一种基于中文字体子集化的网页字体显示系统,包括:
js启动模块,用于当用户网页被浏览客户端浏览,所述用户网页上预先设置的js插件启动运行;
网址匹配模块,用于在当前浏览网页的文字内容尚未开始加载时,所述js插件获取所述当前浏览网页的网址,并根据所述网址计算得到所述当前浏览网页对应@font-face文件的文件名;其中,所述@font-face文件的文件名是基于网址计算得到的,所述@font-face文件中包括@font-face语句;
字体引用显示模块,用于根据所述@font-face文件的文件名,从文件存储空间中获取所述当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示系统,其技术方案为:通过js启动模块,获取当用户网页被浏览客户端浏览,所述用户网页上预先设置的js插件启动运行;通过网址匹配模块,在当前浏览网页的文字内容尚未开始加载时,所述js插件获取所述当前浏览网页的网址,并根据所述网址计算得到所述当前浏览网页对应@font-face文件的文件名;其中,所述@font-face文件的文件名是基于网址计算得到的,所述@font-face文件中包括@font-face语句;通过字体引用显示模块,根据所述@font-face文件的文件名,从文件存储空间中获取所述当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示系统,通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
进一步地,还包括:字体引用检验模块,用于在所述当前浏览网页的页面元素完全加载完成后,通过所述js插件检验所述@font-face文件是否成功引用,如果引用成功且所述当前浏览页面中的内容未发生改变,则不作任何操作;如果引用成功且所述当前浏览页面中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件;
字型显示模块,用于在子集化服务器生成好子集字体和@font-face文件后,将所述新的@font-face文件引用到所述当前浏览页面上,应用@font-face文件中的@font-face语句所产生的字体效果。
进一步地,所述字体引用检验模块,具体用于:
如果引用成功且所述当前浏览网页中的内容发生改变,或引用失败,通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件:
通过所述js插件,获取所述当前浏览网页的信息,所述信息包括文字内容和对应字体的标识符,向所述子集化服务器发送请求,并提交所述信息;
根据所述发送请求,通过所述子集化服务器生成新的子集字体和新的@font-face文件,并将所述新的子集字体和新的@font-face文件存储在所述文件存储空间,并以基于网址计算得到的字符串来命名所述新的@font-face文件。
进一步地,所述字体引用检验模块,具体用于:
通过所述子集化服务器生成新的子集字体和新的@font-face文件:
通过所述子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
根据所述发送请求,从所述信息中获取字体的标识符和文字内容,从所述标识符所指定字体原文件中选择与所述文字内容对应的字型,形成若干个新的子集字体,并生成新的@font-face文件,其中,所述新的@font-face文件以基于网址计算得到的字符串进行命名;
将所述新的子集字体和新的@font-face文件存储在所述文件存储空间中。与现有技术相比,本发明的有益效果是:
(1)通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
(2)浏览客户端直接向子集化服务器或者文件存储空间发起请求,不需要请求网站服务器,简化步骤,节省发起请求的响应时间;
(3)运用的是网址匹配,由浏览者客户端上运行的js来完成匹配工作,快速有效;
(4)用户在开发网站的时候,只需要把js引入到他的html代码里就可以了,不需要为字体服务写其他代码;并且网页服务器在实际运行时,也不需要处理在线字体的请求相关请求(请求会直接向静态存储空间或子集化服务器发送,不会向用户的网页服务器发送)。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本发明实施例所提供的一种基于中文字体子集化的网页字体显示方法的第一流程图;
图2示出了本发明实施例所提供的一种基于中文字体子集化的网页字体显示方法的第二流程图;
图3示出了本发明实施例所提供的一种基于中文字体子集化的网页字体显示系统的示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
实施例一
首先,对webfont技术的原理进行说明:
webfont的原理就是将整个字体文件当成一个网页素材,像图片一样,通过CSS语句,即@font-face语句,引入到网页中,浏览器都有统一的协议,可以识别webfont的CSS语句,浏览器会将@font-face语句所指向的字体,加载到浏览客户端缓存中,然后让字体在当前网页显示效果,就像是这个字体已经安装到当前系统上了一样。
其中,CSS是英文Cascading Style Sheets的缩写。它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
其中,@font-face能够加载服务器端的字体文件,让客户端显示客户端所没有安装的字体,可以实现矢量图标(矢量图标用的方式就是@font-face,@font-face是用来实现矢量字体的,所以矢量图标就是将图标做成一套字体,然后应用到@font-face)。
Webfont技术是针对英文网页的,因为英文网页上,无论再多的内容,都不会超出26个字母的大小字,因此,一套字库只要包含26个字母的大小写,就能让整个网页上所有的文字显示出字体效果。
而中文就无法直接适用这种技术了。因为中文字数过多,一套完整的字库就有2-3万个汉字,字体大小3-10M不等,这样的文件大小根本无法像英文字体(一般100k左右)一样,直接被当成素材整个加载到网页上。
整个字体在网上传输确实不方便,那是否可以事先做成子集字体文件(把网页中用到的字的字形信息取出来做成一个子集字体文件),这样确实是可行的,比如一张网页也许用不到100个字,事先从原字体文件中,将这100个字的字形分离出来,做成一个字体,大小不超过100K,将这个子集字体文件借助webfont技术就可以实现像英文字体一样的加载速度了。
本实施例基于上述背景技术,提供一种基于中文字体子集化的网页字体显示方法,参见图1,实施例一提供的一种基于中文字体子集化的网页字体显示方法,包括:
步骤S1,当用户网页被浏览客户端浏览,用户网页上预先设置的js插件启动运行;
步骤S2,在当前浏览网页的文字内容尚未开始加载时,通过js插件获取当前浏览网页的网址,并根据网址计算得到当前浏览网页对应@font-face文件的文件名;
其中,@font-face的文件名是基于网址计算得到的;js插件预先设置在当前浏览网页上;通常由网站开发者将js插件嵌入到对应的页面上,@font-face文件中包括@font-face语句,但不只包括@font-face语句,还包括其他信息。@font-face语句是包含若干个支持不同浏览器类型的不同格式的子集字体的地址以及在网页中引用该子集字体时所用的字体名字。
其中,通过网址计算得到@font-face文件的文件名,就是用网址压缩的字符串来命名@font-face文件,@font-face文件里面有各种格式的子集字体(eot,ttf,woff,svg)的地址,可通过MD5或者其他字符压缩算法将网址进行压缩,或者不压缩直接过滤网址中的敏感字符,此处不限定用何种方法将网址转化为字符串,均在本发明的保护范围内。然后用压缩后的字符串去存储空间获取页面对应的@font-face文件,或者直接是子集字体,只要保存子集字体的时候是以网址压缩后的字符串来命名,可对应匹配识别即可。在网址打开时,js通过网址找到@font-face文件,就能保证将子集字体引用到页面上。
步骤S3,根据@font-face文件的文件名,从文件存储空间中获取当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
具体为:引用后,浏览器会自动识别@font-face文件中的@font-face语句,当页面文字内容显示时,其字体效果直接就是@font-face语句所产生的字体效果。
其中,js能在网页加载完成前,就能将页面对应的子集字体文件加载到浏览客户端的缓存中,提高子集字体文件加载显示的速度,因为如果页面上的文字先加载完成,子集字体文件后加载完成,那么,页面上的文字就先以默认字体的效果显示,然后在子集字体文件加载完成后,文字就会闪烁一下,变成在线字体的效果,这个闪烁变换的过程,会影响体验。
本发明提供的基于中文字体子集化的网页字体显示方法,其技术方案为:当用户网页被浏览客户端浏览,用户网页上预先设置的js插件启动运行;在当前浏览网页的文字内容尚未开始加载时,js插件获取当前浏览网页的网址,并根据网址计算得到当前浏览网页对应@font-face的文件名;其中,@font-face文件的文件名是基于网址计算得到的,@font-face文件中包括@font-face语句;根据@font-face文件的文件名,从文件存储空间中获取当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示方法,通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
本实施例中将生成子集字体工作和存储子集字体的工作,分成两个服务器来完成,存储子集字体的工作由CDN来承担。不仅减轻子集化服务器的压力,更提升子集字体的获取速度和稳定性。
优选地,本实施例中的存储空间包括动态存储空间和静态存储空间,但静态存储空间会优于动态存储空间的稳定性,在本发明中不限定存储空间,均在本发明的保护范围内。其中,静态存储空间可为CDN,(Content Delivery Network),内容分发网络。
另外,网页编辑者事先将有字库的js插件放入网页的html代码中,这样,浏览者客户端(电脑或手机)在浏览网页时,浏览器就会自动执行有字库的js,js会直接用当前页面的网址在指定的CDN上查找这个网址对应的@font-face文件,如果找到这个网址对应的@font-face文件,则js会自动将这个@font-face文件引用到网页上,一旦@font-face文件被引用到页面上,浏览器会自动解析@font-face文件,包括自动下载@font-face语句中所指向的子集字体,最终使页面上的字体显示成在线字体的效果,如果没有找到这个网址对应的@font-face文件,则不作任何操作。
运行在页面上的js插件能确保在页面文字加载完成之前就能将文字对应的子集字体事先加载好,因为本发明是通过网址对比的,网址是页面一打开,在所有元素包括图片文字等都还没有开始加载时,就能获取到的,获取到后,就可以通过网址算出该网页对应的子集字体的名字,然后在所有元素都还没有加载的时候之前,将子集字体加载到页面上,这样文字显示时,直接就是在线字体的效果(文字所用的子集字体已经加载好了)。
其中,在本实施例中,通过网址匹配法来加载子集字体文件,可以由浏览者客户端上运行的js来完成匹配工作(用网址去CDN上匹配),如果匹配成功(通过当前网址可以在CDN上找到相应的@font-face文件,并且@font-face所指向的子集字体与内容一致),则直接从CDN上获取子集字体文件,不需要经过子集服务器运算,节省服务器运算力,从CDN上取文件的效率非常高,且CDN稳定高速,再大的浏览量也不易出问题。
其中,子集字体和@font-face文件存储在文件存储空间上的CDN。@font-face文件可以以CSS文件的形式存储。子集字体文件是该用户第一次浏览当前网页时通过子集化服务器生成的。
优选地,还包括:步骤S4,在当前浏览网页完全加载完成时,通过js插件检验@font-face文件是否成功引用,如果引用成功且当前浏览网页中的内容未发生改变,则不作任何操作;
如果引用成功且当前浏览网页中的内容发生改变,或引用失败,通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件;
在页面完全打开后,js会执行检查,检查@font-face文件是否引用成功,如果发现页面没有引用到相应的@font-face文件,此时说明这个网页是第一次被浏览,因为第一次浏览时,@font-face文件还没有生成好,则将内容和字体提交给子集化服务器,通过子集化服务器为这个页面生成子集字体和@font-face文件。生成后保存在文件存储空间的CDN中,当下次再浏览此网页时,就会发现@font-face文件已经生成好了,直接调用对应的@font-face文件即可,不再向子集化服务器发起请求。
步骤S5,在子集化服务器生成好新的子集字体和新的@font-face文件后,将新的@font-face文件引用到当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
优选地,步骤S4中,如果引用成功且当前浏览网页中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件,具体为:
通过js插件,获取当前浏览网页的信息,信息包括文字内容和对应字体的标识符,向子集化服务器发送请求,并提交信息;
根据发送请求,通过子集化服务器生成新的子集字体和新的@font-face文件,并将新的子集字体和新的@font-face文件存储在文件存储空间,并以基于网址计算得到的字符串来命名新的@font-face文件。
其中,文字内容中包括网页的URL、字体设置、选择器设置和选择器对应的文本内容信息。
由子集化服务器生成新的子集字体和新的@font-face文件,包含两种情况,一种是用户第一次浏览某个网页,存储空间中还没有存储对应生成的@font-face文件,需要生成对应的@font-face文件;另一种情况是,当前浏览网页中的内容发生改变,也需要重新生成对应的@font-face文件,以保证页面中的字体显示的是用户设定显示的字体。
作为本发明的优选实施例,通过子集化服务器生成新的子集字体和新的@font-face文件,具体为:
通过子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
通过子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
根据发送请求,从信息中获取字体的标识符和文字内容,从标识符所指定字体原文件中选择与文字内容对应的字型,形成若干个新的子集字体,并生成新的@font-face文件,其中,新的@font-face文件以基于网址计算得到的字符串进行命名;
将新的子集字体和新的@font-face文件存储在文件存储空间中。@font-face的文件名是根据当前浏览网页的网址进行命名,这样就可根据当前网页的网址直接在存储空间中调用对应的子集字体。
作为本发明的优选实施例,通过字符串压缩算法对新的子集字体进行命名,具体为:
根据当前网页的网址,将网址压缩得到网址压缩的字符串;
将网址压缩的字符串作为@font-face文件的文件名,其中网址压缩的字符串是唯一的。
其中,将网址转化成对应的值也可以是类似于md5的其他算法,比如过滤方法,只要能将不同网址转换成不重复的值的方法都可以。此处不限定用何种方法将网址转化为字符串,均在本发明的保护范围内。
生成子集字体文件存储在文件存储空间中的指定位置(CDN)中,对应生成存储地址(@font-face的文件名),将存储地址与网页地址绑定在一起,当再一次浏览该网页时,会通过js自动识别这个网页,然后直接从存储空间CDN获取页面对应的@font-face文件或css文件(@font-face语句可以以css文件的形式存储在存储空间中),不再向子集化服务器发起请求。减少子集化服务器的运算量。
作为本发明的优选实施例,如果当前浏览网页内容发生改变,根据新的子集字体和新的@font-face文件,对当前浏览网页对应的原子集字体和@font-face文件进行更新。
当得到当前网页对应的@font-face文件时,需进一步比对一下页面内容与引用过来的@font-face文件所指向的子集子体是否匹配,如果匹配,说明这个网页上的内容和上一次比没有改变,则不作任何操作,如果不匹配,说明这个网页上的内容和上一次比发生了改变,则将内容和字体提交给子集化服务器,通过子集化服务器为这个页面重新生成子集字体和@font-face文件,并替换旧版本的子集字体和@font-face文件。此种方式避免当相同页面的内容进行变换时,页面内容与子集字体不匹配,及时发现及时更新,进一步提高用户体验。
本实施例中的子集字体文件是根据用户浏览网页中的字体生成的,用户浏览的网页中的选择器对应设置的是何种字体,生成的子集字体文件中对应存储的就是何种字体,之后用户浏览该网页时,就会显示子集字体文件中的字体。
其中,网页引用js插件(在网页上预先设置js插件);具体为:
Js获取网页上的文字,是根据选择器指定的标签来指引,因为一个页面上,不同的内容区可能会使用不同的字体。Js插件中包含所有的实际功能,它可以根据选择器指定的标签所指定的字体,和选择器来获取内容提交给子集化服务器,并在子集化服务器生成子集字体文件后,将子集字体文件的@font-face文件中的效果用到此选择器上,即同一个页面上,不同内容区对应设置不同的选择器标签,则根据不同的选择器标签,可显示不同的字体,即同个页面的不同内容区的页面显示的字体可以不同。
其中,css代码规则:
上述是一个完整的@font-face语句,@font-face语句的功能,就是将远程的电脑定义成一个类似于本地字体一样的字体,相当于本地电脑已经安装过这个字体了。
然后进行字体设置,比如语句:
.class1{font-family.’jdshutongtijian1faa6520e400e’}
其中,“.class”就是选择器,这表示后面的属性设置都只限制于这个选择器指定的标签上,“font-family”就是说,这段css是设置字体属性的。设置的字体如果浏览者的电脑上有安装,就能正常显示(@font-face语句定义成的字体,也正常显示),如果没有安装就显示默认字体。
将这两条语句配合起来就能将一个在线字体效果引用到网页上,并在指定的标签上显示出效果。如果页面上没有font-family引用这个定义出来的在线字体,那么就算子集字体文件文件被加载到浏览客户端的缓存中,最终也不会在页面中的标签中显示出来。
根据选择器指定的标签进行字体的效果显示,可使不同的内容区显示不同的字体,并不需要将整个网页上的文字都变成在线字体的效果,可根据用户的偏好进行设置选择。
需要说明的是,本实施例中的js插件,集成于有字库的在线字体中,用户在浏览网页时,需要使用包含js插件的在线字体,js插件负责收集(在页面打开的时候js就会自动运行)用户页面上的文字内容,并将当前网页的URL、字体设置、选择器(selector)设置和选择器对应的文本内容等信息提交到有字库服务器(子集化服务器)上,还负责标识和识别网页。用户可以不用处理或保存子集字体文件的具体存储位置,也不需要处理@font-face语句,只要引用有字库的js插件,然后指定哪个选择器(selector)使用哪个字体(每个字体都有独立的编码),js就会自动(在页面被浏览时)将指定选择器上的内容,上传到子集化服务器上,并最终将子集化服务器生成的字体成功引用到页面上,方便快捷。
下面结合图2,进行整个工作流程的说明:
步骤S10,子集化服务器预先将字体原文件转换成一种特殊的格式,这种特殊的格式为方便拆分,方便检索的格式,存储在子集化服务器上。
步骤S20,用户在浏览的网页上引用本实施例中提到的js插件,先判断用户当前浏览的这个网页是否为已生成过子集字体文件的网页,如果是第一次浏览的网页,通过js插件自动收集用户网页上的内容,然后向子集化服务器发起请求(可采用post方式),并提交当前网页的URL、字体设置、选择器(selector)设置和选择器对应的文本内容等信息。
其中,js插件是网页编辑者预先插入网页html代码中的。
步骤S30,子集化服务器收到用户网页上的js发来的请求后,根据提交的内容,从提交的“字体设置”参数所指定的字体文件转换成的特殊格式文件中快速筛选出内容所涉及到的字型[glyph],然后将这些字型转换成一个新的字体即生成子集字体文件,然后子集化服务器将这个子集字体文件存储在特定的存储空间里(CDN),再用子集字体文件所存储的地址生成一个@font-face文件(@font-face就是实现webfont效果的css语句),回复给用户网页上的js插件(js向子集化服务器发起请求后,会等待子集化服务器的回复,直到收到子集化服务器的回复后,js才会往下继续运行)。
步骤S40,用户网页上的js插件在收到子集化服务器的回复后,将回复信息中的@font-face文件动态插入到用户的网页上,用户网页上的字体就显示出了@font-face文件中@font-face语句对应的字型。其中要将@font-face文件正确插入到html代码中,网页所在浏览器就会自动将@font-face语句中指定的字体下载到用户的浏览器缓存中,并立刻使字体的效果在网页上生效。
步骤S50,完成以上流程后,子集化服务器就会将用户页面所需要用到的子集字体文件生成的子集字体文件保存在文件存储空间上,并将子集字体文件文件与用户网页绑定,在后面这个页面再次被浏览者浏览时,js就会自动识别这个网页,然后直接从存储空间(文件存储空间中)获取页面对应的@font-face文件或css文件(@font-face语句可以以css文件的形式存储在存储空间中),不再向子集化服务器发起请求,减轻子集化服务器的压力。
在常规的方式下,页面每次打开,js都会请求子集化服务器,子集化服务器不用每次都要为页面生成对应的子集字体文件,如果用户页面浏览量较大,则所有的浏览量都将集中在子集化服务器上,给子集化服务器造成压力,子集化服务器运算量过高将会引起反应缓慢或者拒绝服务,如果子集化服务器反应缓慢或者拒绝服务,则用户的网页就会受到影响,降低用户体验。通过上述方法,如果该页面已经有对应的子集字体文件的话就能直接加载子集字体文件(说明这个网页之前已经被浏览过了,所以子集化服务器已经生成好了对应的子集字体文件,存储在文件存储空间中),减少子集化服务器的运算量,避免闪烁现象,提高用户体验度。如果没有的话(说明这个网页是第一次被浏览),就不加载子集字体文件,就要执行步骤20-40,就是执行常规方式,则会存在闪烁的现象。
其中,生成的子集字体文件可以以不同的格式进行存储,其中不同文件格式包括eot,woff,woff2,svg,ttf,由于不同的浏览器内核支持不同的文件格式(如IE支持eot,chrome支持woff),因此可将子集字体文件所在文件存成不同的格式进行存储。
参见图3,第二方面,本发明提供一种基于中文字体子集化的网页字体显示系统10,包括:
js启动模块101,用于当用户网页被浏览客户端浏览,用户网页上预先设置的js插件启动运行;
网址匹配模块102,用于在当前浏览网页的文字内容尚未开始加载时,js插件获取当前浏览网页的网址,并根据网址计算得到当前浏览网页对应@font-face文件的文件名;其中,@font-face文件的文件名是基于网址计算得到的,@font-face文件中包括@font-face语句;
字体引用显示模块103,用于根据@font-face文件的文件名,从文件存储空间中获取当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示系统10,其技术方案为:通过js启动模块101,当用户网页被浏览客户端浏览,用户网页上预先设置的js插件启动运行;通过网址匹配模块102,在当前浏览网页的文字内容尚未开始加载时,js插件获取当前浏览网页的网址,并根据网址计算得到当前浏览网页对应@font-face文件的文件名;其中,@font-face文件的文件名是基于网址计算得到的,@font-face文件中包括@font-face语句;通过字体引用显示模块103,根据@font-face文件的文件名,从文件存储空间中获取当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果。
本发明提供的基于中文字体子集化的网页字体显示系统10,通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
优选地,还包括:
字体引用检验模块104,用于在当前浏览网页的页面元素完全加载完成后,通过js插件检验@font-face文件是否成功引用,如果引用成功且当前浏览页面中的内容未发生改变,则不作任何操作;如果引用成功且当前浏览页面中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件;
字型显示模块105,用于在子集化服务器生成好子集字体和@font-face文件后,将新的@font-face文件引用到当前浏览页面上,应用@font-face文件中的@font-face语句所产生的字体效果。
优选地,字体引用检验模块104,具体用于:
如果引用成功且当前浏览网页中的内容发生改变,或引用失败,通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件:
通过js插件,获取当前浏览网页的信息,信息包括文字内容和对应字体的标识符,向子集化服务器发送请求,并提交信息;
根据发送请求,通过子集化服务器生成新的子集字体和新的@font-face文件,并将新的子集字体和新的@font-face文件存储在文件存储空间,并以基于网址计算得到的字符串来命名新的@font-face文件。
优选地,字体引用检验模块104,具体用于:
通过子集化服务器生成新的子集字体和新的@font-face文件:
通过子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
根据发送请求,从信息中获取字体的标识符和文字内容,从标识符所指定字体原文件中选择与文字内容对应的字型,形成若干个新的子集字体,并生成新的@font-face文件,其中,新的@font-face文件以基于网址计算得到的字符串进行命名;
将新的子集字体和新的@font-face文件存储在文件存储空间中。
优选地,字体引用检验模块104,具体用于:
通过字符串压缩算法对新的子集字体进行命名:
根据当前网页的网址,将网址压缩得到网址压缩的字符串;
将网址压缩的字符串作为@font-face文件的文件名,其中网址压缩的字符串是唯一的。
优选地,字型显示模块105中,还包括,更新子模块,具体用于:
当当前浏览网页内容发生改变,根据新的子集字体和新的@font-face文件,对当前浏览网页对应的原子集字体和@font-face文件进行更新。
传统模式下:所有的请求最终都是由子集化服务器处理的,子集化服务器根据请求提交过来的内容,来对比现有的已经生成好的子集字体的数据库,以确定是要再重新生成子集字体,还是直接调用某个已经生成好的子集字体,如果在子集字体数据库中找到有和本次提交的内容相匹配的子集字体,即子集字体里的文字和提交内容一致或是提交内容的超集,则返回该子集字体,没有找到,就重新生成,然后返回这个新生成的子集字体。
所以在传统模式下,调用子集字体的请求和生成子集字体的请求必须提交要提交到子集化服务器上才能区分出来,服务器需要对比子集字体数据库才能确定是调用已经生成好的子集字体还是重新生成新的子集字体,这个对比的数据库必须是放在子集化服务器上的,所以调用子集字体的请求和生成子集字体的请求都要提交到子集化服务器上处理。
子集化服务器是运算模块,如果调用子集字体的请求和生成子集字体的请求都集中在子集化服务器上,就大大占用了服务器的运算资源,尤其是调用子集字体的请求的数量非常大,所有引用字体服务的页面每次打开都要请求一下服务器,服务器的请求量就是所有页面访问量的总和,所以服务器的请求量将无法估算,这就很容易使子集化服务器运行缓慢或崩溃,无论怎么加强子集化服务器,都无法达到相对稳定的状态,一旦子集化服务器运行缓慢或崩溃就会导致引用字体服务的网页也跟着受影响(打开慢,或打不开)。传统的模式无法逃脱这个浏览量的压力,因为所有的请求都要经过服务器。
综上,传统的模式是通过内容来对比,这个工作必须是子集化服务器才能实现,而本发明是通过网址来对比的,以确认该网址是否有对应的现成的子集字体,有则用现成的,无则重新生成,这个工作在浏览客户端上运行的js就可以完成。这样js在浏览客户端上获取页面网址,然后将网址运用md5算法或其他算法就能得到这个网页对应的子集字体的名字,所以本发明可以在内容提交到服务器之前就能区分,哪些请求是调用子集字体的请求,即向静态存储空间请求;哪些是生成子集字体的请求,即向子集化服务器请求。
本发明将调用子集字体的请求直接交由静态的存储空间来承担,其中静态的存储空间可以做内容分发网络,可以非常有效地大幅提升子集字体的加载速度和稳定性,所以请求量再大,也能保持高稳定性,生成子集字体的请求才会交由子集化服务器来处理,这样一来,子集化服务器只需要处理生成子集字体的请求,压力就大大减轻,节省成本,并且稳定性也得到有效保障。
另外,本发明中的js插件可以确保就算从静态的存储空间加载子集字体失败,也不影响用户页面的打开速度,只是会没有字体效果。
因此,与现有技术相比,本发明的有益效果是:
(1)通过预先将网页对应的字体子集存储起来,在用户再次浏览该网页时,直接从文件存储空间中调用字体子集中的字型,加载到网页上显示,这样每次用户访问页面时,不用每次js都要向子集化服务器请求,子集化服务器不用每次都要为页面生成对应的子集字体文件,降低了子集化服务器的运算量,提高用户体验。
(2)浏览客户端直接向子集化服务器或者存储空间发起请求,不需要请求网站服务器,简化步骤,节省发起请求的响应时间;
(3)运用的是网址匹配,由浏览者客户端上运行的js来完成匹配工作,快速有效。
(4)用户在开发网站的时候,只需要把js引入到他的html代码里就可以了,不需要为字体服务写其他代码;并且网页服务器在实际运行时,也不需要处理在线字体的请求相关请求(请求会直接向静态存储空间或子集化服务器发送,不会向用户的网页服务器发送)。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (6)
1.一种基于中文字体子集化的网页字体显示方法,其特征在于,包括:
步骤S1,当用户网页被浏览客户端浏览,所述用户网页上预先设置的js插件启动运行;
步骤S2,在当前浏览网页的文字内容尚未开始加载时,所述js插件获取所述当前浏览网页的网址,并根据所述网址计算得到所述当前浏览网页对应@font-face文件的文件名;其中,所述@font-face文件的文件名是基于网址计算得到的,所述@font-face文件中包括@font-face语句;
步骤S3,根据所述@font-face文件的文件名,从文件存储空间中获取所述当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果;
步骤S4,在所述当前浏览网页的页面元素完全加载完成后,通过所述js插件检验所述@font-face文件是否成功引用,如果引用成功且所述当前浏览网页中的内容未发生改变,则不作任何操作;
如果引用成功且所述当前浏览网页中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件;
步骤S5,在所述子集化服务器生成好新的子集字体和新的@font-face文件后,将所述新的@font-face文件引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果;
所述步骤S4中,如果引用成功且所述当前浏览网页中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件,具体为:
通过所述js插件,获取所述当前浏览网页的信息,所述信息包括文字内容和对应字体的标识符,向所述子集化服务器发送请求,并提交所述信息;
根据所述发送请求,通过所述子集化服务器生成新的子集字体和新的@font-face文件,并将所述新的子集字体和新的@font-face文件存储在所述文件存储空间,并以基于网址计算得到的字符串来命名所述新的@font-face文件。
2.根据权利要求1所述的基于中文字体子集化的网页字体显示方法,其特征在于,
通过所述子集化服务器生成新的子集字体和新的@font-face文件,具体为:
通过所述子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
根据所述发送请求,从所述信息中获取字体的标识符和文字内容,从所述标识符所指定字体原文件中选择与所述文字内容对应的字型,形成若干个新的子集字体,并生成新的@font-face文件,其中,所述新的@font-face文件以基于网址计算得到的字符串进行命名;
将所述新的子集字体和新的@font-face文件存储在所述文件存储空间中。
3.根据权利要求2所述的基于中文字体子集化的网页字体显示方法,其特征在于,
通过字符串压缩算法对所述新的子集字体进行命名,具体为:
根据所述当前网页的网址,将所述网址压缩得到网址压缩的字符串;
将所述网址压缩的字符串作为所述@font-face文件的文件名,其中所述网址压缩的字符串是唯一的。
4.根据权利要求1所述的基于中文字体子集化的网页字体显示方法,其特征在于,
所述步骤S4中,还包括,更新步骤:
当所述当前浏览网页内容发生改变,根据所述新的子集字体和新的@font-face文件,对所述当前浏览网页对应的原子集字体和@font-face文件进行更新。
5.一种基于中文字体子集化的网页字体显示系统,其特征在于,包括:
js启动模块,用于当用户网页被浏览客户端浏览,所述用户网页上预先设置的js插件启动运行;
网址匹配模块,用于在当前浏览网页的文字内容尚未开始加载时,通过所述js插件获取所述当前浏览网页的网址,并根据所述网址计算得到所述当前浏览网页对应@font-face文件的文件名;其中,所述@font-face文件的文件名是基于网址计算得到的;
字体引用显示模块,用于根据所述@font-face的文件名,从文件存储空间中获取所述当前浏览网页对应的@font-face文件,如果获取成功,则动态引用到所述当前浏览网页上,应用@font-face文件中的@font-face语句所产生的字体效果;
字体引用检验模块,用于在所述当前浏览网页的页面元素完全加载完成后,通过所述js插件检验所述@font-face文件是否成功引用,如果引用成功且所述当前浏览页面中的内容未发生改变,则不作任何操作;如果引用成功且所述当前浏览页面中的内容发生改变,或引用失败,则通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件;
字型显示模块,用于在子集化服务器生成好子集字体和@font-face文件后,将所述新的@font-face文件引用到所述当前浏览页面上,应用@font-face文件中的@font-face语句所产生的字体效果;
所述字体引用检验模块,具体用于:
如果引用成功且所述当前浏览网页中的内容发生改变,或引用失败,通过向子集化服务器发起子集字体生成请求,生成新的子集字体和新的@font-face文件:
通过所述js插件,获取所述当前浏览网页的信息,所述信息包括文字内容和对应字体的标识符,向所述子集化服务器发送请求,并提交所述信息;
根据所述发送请求,通过所述子集化服务器生成新的子集字体和新的@font-face文件,并将所述新的子集字体和新的@font-face文件存储在所述文件存储空间,并以基于网址计算得到的字符串来命名所述新的@font-face文件。
6.根据权利要求5所述的基于中文字体子集化的网页字体显示系统,其特征在于,
所述字体引用检验模块,具体用于:
通过所述子集化服务器生成新的子集字体和新的@font-face文件:
通过所述子集化服务器预先将字体原文件转化成一种特殊的格式,形成指定字体原文件;
根据所述发送请求,从所述信息中获取字体的标识符和文字内容,从所述标识符所指定字体原文件中选择与所述文字内容对应的字型,形成若干个新的子集字体,并生成新的@font-face文件,其中,所述新的@font-face文件以基于网址计算得到的字符串进行命名;
将所述新的子集字体和新的@font-face文件存储在所述文件存储空间中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711002953.1A CN107704615B (zh) | 2017-10-24 | 2017-10-24 | 基于中文字体子集化的网页字体显示方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711002953.1A CN107704615B (zh) | 2017-10-24 | 2017-10-24 | 基于中文字体子集化的网页字体显示方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704615A CN107704615A (zh) | 2018-02-16 |
CN107704615B true CN107704615B (zh) | 2022-01-04 |
Family
ID=61182018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711002953.1A Active CN107704615B (zh) | 2017-10-24 | 2017-10-24 | 基于中文字体子集化的网页字体显示方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704615B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108734662B (zh) * | 2018-05-21 | 2023-02-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 显示图标的方法和装置 |
CN109189389A (zh) * | 2018-08-16 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置、服务器 |
CN109391685A (zh) * | 2018-09-26 | 2019-02-26 | 中国联合网络通信集团有限公司 | 一种页面响应方法和系统、应用服务器 |
CN111309238B (zh) * | 2019-12-09 | 2021-04-13 | 青岛海信移动通信技术股份有限公司 | 一种字体切换方法及移动终端 |
CN111695064B (zh) * | 2020-04-29 | 2023-08-18 | 北京城市网邻信息技术有限公司 | 一种埋点加载方法及装置 |
CN111539025B (zh) * | 2020-05-07 | 2021-02-26 | 北京五八信息技术有限公司 | 一种页面展示方法、装置、电子设备及存储介质 |
CN114970449B (zh) * | 2022-07-08 | 2022-11-01 | 青岛希望鸟科技有限公司 | 一种应用于同屏交流的字体处理方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005190982A (ja) * | 2003-12-04 | 2005-07-14 | Nichia Chem Ind Ltd | 活物質、活物質の製造方法、非水電解質二次電池およびリチウム一次電池 |
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
CN101625848B (zh) * | 2009-07-28 | 2011-06-22 | 宁波新然电子信息科技发展有限公司 | 面向嵌入式平台的矢量字库实现方法 |
CN102081594B (zh) * | 2009-11-27 | 2014-02-05 | 株式会社理光 | 从可移植电子文档中提取字符外接矩形的设备和方法 |
CN102779167B (zh) * | 2012-06-21 | 2016-01-06 | 北京奇虎科技有限公司 | 在移动终端中显示网页的方法及系统 |
CN102945145A (zh) * | 2012-10-17 | 2013-02-27 | 苏州佳世达电通有限公司 | 针对不同显示终端的电子文件优化显示方法 |
CN103019781B (zh) * | 2012-12-04 | 2015-12-23 | 广东欧珀移动通信有限公司 | 一种基于Android系统的快速换肤方法 |
CN103425631A (zh) * | 2013-07-19 | 2013-12-04 | 百度在线网络技术(北京)有限公司 | 用于获取文档文件中目标文字的字体文件的方法及装置 |
CN103500210A (zh) * | 2013-09-27 | 2014-01-08 | 北京奇虎科技有限公司 | 一种进行网页加载的方法、装置和浏览器 |
CN104063415B (zh) * | 2014-02-27 | 2018-07-10 | 优视科技有限公司 | 显示网页自定义内容的方法及系统 |
CN105677646B (zh) * | 2014-11-17 | 2019-03-01 | 北京大学 | 字库生成方法、字库生成系统和服务器 |
CN105005472B (zh) * | 2015-06-25 | 2018-07-20 | 中通服公众信息产业股份有限公司 | 一种web上显示维吾尔文字的方法及装置 |
CN106503200A (zh) * | 2016-10-26 | 2017-03-15 | 福建中金在线信息科技有限公司 | 一种页面样式显示方法及装置 |
CN107229760B (zh) * | 2017-07-27 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 存储介质、电子装置、网页内容的显示方法和装置 |
-
2017
- 2017-10-24 CN CN201711002953.1A patent/CN107704615B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107704615A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704615B (zh) | 基于中文字体子集化的网页字体显示方法及系统 | |
JP5520856B2 (ja) | 携帯用計算デバイスへの無線通信媒体を介するコンテンツ送達のためのシステムおよび方法 | |
US9940744B2 (en) | Remote font management | |
CN108399088B (zh) | 页面展示方法、用户终端、页面服务器及样式配置服务器 | |
US8843360B1 (en) | Client-side localization of network pages | |
US10198414B2 (en) | Methods for optimizing interaction with a form in a website page and systems thereof | |
CN105205080B (zh) | 冗余文件清理方法、装置和系统 | |
CN109815430B (zh) | 请求处理方法、装置、数据处理服务器及可读存储介质 | |
US11003835B2 (en) | System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework | |
CN106951270B (zh) | 一种代码处理方法、系统及服务器 | |
TW201437826A (zh) | 網頁樣式位址合併的方法和裝置 | |
CN106980698A (zh) | 浏览器静态资源加载方法、浏览器程序及可读存储介质 | |
WO2022048141A1 (zh) | 一种图像处理方法及装置、计算机可读存储介质 | |
CN112463261B (zh) | 接口调用方法、装置、电子设备、介质及产品 | |
CN112631564A (zh) | 基于内容管理系统界面生成方法、装置、设备和存储介质 | |
US7886227B2 (en) | Cross-environment context-sensitive help files | |
CN102253986A (zh) | 提高多终端网页显示效果的方法和装置 | |
CN114638200A (zh) | 电子书排版样式代码生成方法、装置、设备及存储介质 | |
US7685511B2 (en) | Framework for providing and using schema data for markup languages | |
CN111177600A (zh) | 一种基于移动应用的内置网页加载方法及装置 | |
US8156428B1 (en) | Method and apparatus for merging digital content | |
CN113918850A (zh) | 样式自动纠偏的方法、电子设备及存储介质 | |
CN104077292A (zh) | 网页信息的存储方法及设备 | |
CN107015826B (zh) | 脚本文件加载方法、终端以及服务器 | |
CN113392351A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |