CN102231150A - 嵌入式浏览器字库管理方法及*** - Google Patents
嵌入式浏览器字库管理方法及*** Download PDFInfo
- Publication number
- CN102231150A CN102231150A CN 201110029650 CN201110029650A CN102231150A CN 102231150 A CN102231150 A CN 102231150A CN 201110029650 CN201110029650 CN 201110029650 CN 201110029650 A CN201110029650 A CN 201110029650A CN 102231150 A CN102231150 A CN 102231150A
- Authority
- CN
- China
- Prior art keywords
- page
- small library
- library
- literal
- small
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及浏览器技术领域,公开了一种嵌入式浏览器字库管理方法及***,所述方法包括:如果页面中用到客户端所在本地非默认字库的文字,服务器预先将所述文字所属的小字库嵌入所述页面;客户端接收到用户访问所述页面的请求后,下载所述页面;解析所述页面,得到所述小字库,并将所述小字库安装在客户端所在本地;在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。利用本发明,可以实现对页面所需要的字库的动态加载,降低字库占用的存储空间,提高页面显示速度。
Description
技术领域
本发明涉及浏览器技术领域,更具体地说,涉及一种嵌入式浏览器字库管理方法及***。
背景技术
随着Internet普及率的迅猛增长,浏览器成为了获取信息的重要工具。另一方面,随着消费电子、计算机、通信一体化的趋势,嵌入式浏览器也随之出现。嵌入式浏览器可以广泛用于Internet-TV、iDVD、Web终端、数字电视机顶盒、掌上电脑等各种信息电器和便携式网络终端中,在工业控制领域也有着广泛的应用前景。
嵌入式浏览器由于***存储空间限制,通常不会加载应用所需要的所有字库,而只是安装一个常用字库,即默认字库,一般是黑体。在显示访问的页面时,如果需要用到非默认字库,现有技术通常的解决方案是先在PC环境下,将所需要的文字做成图片,再修改应用页面,在需要显示该文字的地方用对应的图片代替需要显示的文字。这种方式需要制作图片,对应用修改较大,而且图片会占用过多的存储空间,对显示速度也有一定的影响。
发明内容
本发明实施例提供一种嵌入式浏览器字库管理方法及***,以简单、方便地实现对页面所需要的字库动态加载,降低字库占用的存储空间,并提高页面显示速度。
为此,本发明实施例提供如下技术方案:
一种嵌入式浏览器字库管理方法,包括:
如果页面中用到客户端所在本地非默认字库的文字,则服务器预先将所述文字所属的小字库嵌入所述页面;
客户端接收到用户访问所述页面的请求后,下载所述页面;
解析所述页面,得到所述小字库,并将所述小字库安装在客户端所在本地;
在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
优选地,所述服务器将所述文字所属的小字库嵌入所述页面包括:
服务器获取需要修改的页面;
生成小字库列表定义文件,所述小字库列表定义文件用于指示需要在页面中增加的字体以及每种字体所需要增加的文字;
根据小字库列表定义文件,生成小字库;
将生成的小字库嵌入所述页面。
优选地,所述将生成的小字库嵌入所述页面包括:
利用meta标签和Base64编码方式将所述小字库嵌入所述页面。
优选地,所述方法还包括:
在所述meta标签中添加所述小字库的有效期;
在离开页面后,如果所述小字库的有效期失效,则卸载所安装的小字库。
优选地,所述方法还包括:
在离开所述页面后,卸载所述小字库。
一种嵌入式浏览器字库管理***,包括:服务器和客户端;
所述服务器,用于在页面中用到所述客户端所在本地非默认字库的文字时,将所述文字所属的小字库嵌入所述页面;
所述客户端,用于接收到用户访问所述页面的请求后,下载所述页面;解析所述页面,得到所述小字库,并将所述小字库安装在客户端所在本地;在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
优选地,所述服务器包括:
页面获取单元,用于获取需要修改的页面;
小字库列表定义文件生成单元,用于生成小字库列表定义文件,所述小字库列表定义文件用于指示需要在页面中增加的字体以及每种字体所需要增加的文字;
小字库生成单元,用于根据小字库列表定义文件,生成小字库;
嵌入单元,用于将生成的小字库嵌入所述页面。
优选地,所述嵌入单元,具体用于利用meta标签和Base64编码方式将所述小字库嵌入所述页面。
优选地,所述客户端包括:
请求接收单元,用于接收用户访问所述页面的请求;
下载单元,用于在所述请求接收单元接收到所述请求后,下载所述页面;
解析单元,用于解析所述页面,得到所述小字库;
安装单元,用于将所述小字库安装在客户端所在本地;
显示单元,用于显示所述页面,并且在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
优选地,所述客户端还包括:
卸载单元,用于在离开所述页面后,卸载所述小字库。
本发明实施例提供的嵌入式浏览器字库管理方法及***,在页面中用到客户端所在本地非默认字库的文字时,预先将所述文字所属的小字库嵌入所述页面,这样,在客户端接收到用户访问所述页面的请求后,通过解析所述页面,即可得到所述小字库,并将所述小字库安装在客户端所在本地,从而在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。本发明实施例嵌入式浏览器字库管理方法及***实现简单、方便,不仅可以降低字库占用的存储空间,而且可以提高页面显示速度。
附图说明
为了更清楚地说明本发明实施的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中服务器端将小字库嵌入页面中的流程图;
图2是本发明实施例中由服务器根据页面自动生成小字库列表文件的流程图;
图3是本发明实施例嵌入式浏览器字库管理方法的流程图;
图4是本发明实施例嵌入式浏览器字库管理***的一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例提供的嵌入式浏览器字库管理方法及***,在页面中用到客户端所在本地非默认字库的文字时,预先将所述文字所属的小字库嵌入所述页面,这样,在客户端接收到用户访问所述页面的请求后,通过解析所述页面,即可得到所述小字库,并将所述小字库安装在客户端所在本地,从而在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
假设需要用到客户端所在本地非默认字库的文字页面为sample.html,其内容如下:
<html>
<head>
<title>字库下载示例</title>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’id=’myid’>楷体示例
例</div>
<div style=’font-family:行楷;font-size:30px;’>行楷示例</div>
</body>
</html>
在该页面中,对div标签,通过CSS(Cascading Style Sheet,层叠样式表)定义其内容使用一种字体“楷体”(这里仅为示例,实际可能是楷体、行楷等不常用字体,而这种字体在客户端的浏览器中是没有的。
其中,CSS是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML(HyperText Transfer Protocol,超文本传输协议)文档中,而用于定义表现形式的CSS规则存放在另一个文件中或是HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。
在本发明实施例中,服务器端对上述页面sample.html进行修改,将小字库嵌入页面sample.html中,如图1所示,是该小字库嵌入页面的具体处理流程,包括以下步骤:
步骤101,服务器获取需要嵌入小字库的页面,例如sample.html;
步骤102,根据所述页面中的标签生成小字库列表定义文件,该文件内容可以是列表的形式,用于指示需要在页面中增加的字体以及每种字体所需要增加的文字;
例如,对于上述示例页面sample.html,生成的小字库列表定义文件为:
楷体:楷体示例;
行楷:行楷示例;
步骤103,生成小字库,即对于小字库列表定义文件的每一行,生成该字体仅含有对应文字内容的小字库;
例如,对于上述示例页面,会生成两个小字库,分别为:
kaiti.ttf,其中仅含有文字:“楷”“体”“示”“例”
xinkai.ttf,其中仅含有文字:“行”“楷”“示”“例”;
步骤104,将生成的小字库嵌入页面;
具体地,可以通过修改页面sample.html,在head标签内容中增加两个meta标签,其他内容不变;
例如,修改后的sample.html为:
<html>
<head>
<title>字库下载示例</title>
<meta name=’font-install’content=’楷体:
data:application/font;base64{kaiti.ttf对应的base64编码}’/>
<meta name=’font-install’content=’行楷:
data:application/font;base64{xinkai.ttf对应的base64编码}’/>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’id=’myid’>楷体示例</div>
<div style=’font-family:行楷;font-size:30px;’>行楷示例</div>
</body>
</html>
其中,meta标签是HTML语言head区的一个辅助性标签,可以用于自定义一些功能。
Base64是用于传输8Bit字节代码的一种编码方式,可用于在HTTP(Hyper Text Transfer Protocol,超文本传输协议)环境下传递较长的标识信息。
在本发明实施例中,采用meta标签和Base64编码方式,将页面字体显示所需要的小字库嵌入页面,这样,不仅可以使客户端实现小字库与页面的同步下载,减少网络连接次数,保证页面成功下载的同时,小字库也可以同时下载;而且,使用meta标签可以使客户端方便地实现对小字库的下载与卸载进行控制。
另外,在本发明实施例中,还可以使页面内容及字体做到动态修改。
例如:假设需要显示的页面为sample2.html,其内容如下:
<html>
<head>
<title>字库下载示例</title>
<script>
function changeContent(){
document.getElementById(‘myid’).innerHTML=”新的
内容”;
document.getElementById(‘myid’).style.fontSize=
“50px”;
}
</script>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’id=’myid’>旧的内容
</div>
<div style=’font-family:行楷;font-size:30px;’>行楷示例</div>
<input type=’button’value=’改变内容’onclick=’changeContent();’>
</body>
</html>
服务器端对页面sample2.html进行修改,将其用到的小字库嵌入该页面中,具体过程与上述类似,即:
根据页面sample2.html生成小字库列表定义文件,具体如下:
楷体:旧的内容新的内容;
行楷:行楷示例;
根据该小字库列表定义文件生成两个小字库:
kaiti.ttf,其中仅含有文字:“新”“旧”“的”“内”“容”;
xinkai.ttf,其中仅含有文字:“行”“楷”“示”“例”;
利用meta标签及base64编码将生成的小字库嵌入页面sample2.html,修改后的sample2.html为:
<html>
<head>
<title>字库下载示例</title>
<meta name=’font-install’content=’楷体:
data:application/font;base64{kaiti.ttf对应的base64编码}’/>
<meta name=’font-install’content=’行楷:
data:application/font;base64{xinkai.ttf对应的base64编码}’/>
<script>
function changeContent(){
document.getElementById(‘myid’).innerHTML=”新的
内容”;
document.getElementById(‘myid’).style.fontSize=
“50px”;
}
</script>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’id=’myid’>旧的内容
</div>
<div style=’font-family:行楷;font-size:30px;’>行楷示例</div>
<input type=’button’value=’改变内容’onclick=’changeContent();’>
</body>
</html>
可见,在该示例中,小字库中不仅包含页面开始显示内容包含的文字,即“旧”“的”“内”“容”,而且还包含页面改变后显示内容包含的文字,即“新”“的”“内”“容”,由于这些文字对应的字体都是楷体,因此,对于其中重复的文字,小字库只需增加一个即可,即上述小字库kaiti.ttf含有文字:“新”“旧”“的”“内”“容”。
在本发明实施例中,所述小字库列表定义文件可以手工生成,也可以由服务器直接根据页面生成,如图2所示,具体如下:
步骤201,服务器获取页面;
步骤202,解析页面,获取有定义font-family属性的标签;
步骤203,如果font-family标签定义的字体不是客户端的默认字体,则对使用非默认字体的标签提取其对应的文字,生成文字列表;
步骤204,搜索页面中可能的内容修改,将新的内容添加到所述文字列表中;
步骤205,由所述非默认字体及其对应的文字列表生成页面对应的小字库列表定义文件。
本发明实施例中,在页面中用到客户端所在本地非默认字库的文字时,由服务器端预先将所述文字所属的小字库嵌入所述页面,这样,在客户端接收到用户访问所述页面的请求后,可以实现对页面所需要的字库的动态加载,在降低字库占用的存储空间的同时,有效地减少网络连接次数,提高页面显示速度。
如图3所示,是本发明实施例嵌入式浏览器字库管理方法的流程图,该流程包括以下步骤:
步骤301,客户端接收到用户访问页面的请求后,下载所述页面。
具体地,可以通过HTTP方式下载页面。
步骤302,解析所述页面,得到所述小字库。
具体地,解析页面中的标签,如果包含meta标签,并且其name属性是font-install,则表明该标签中包含的是小字库安装数据。然后,从该meta标签中content属性中提取小字库对应的字体名,例如楷体;并且进行base64解码,生成小字库。
步骤303,将所述小字库安装在客户端所在本地。
具体地,将解码生成的小字库安装为字体名对应的字库。
步骤304,显示所述页面中标签内容,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
为了更好地理解本发明实施例,下面将本发明实施例与现有技术中客户端解析并显示页面的过程做简单对比说明。
在现有技术中,客户端下载页面后,对页面进行解析的过程如下:
1.建立标签节点树;
2.根据css规则,确定每一个标签节点的属性;
3.根据每一个标签节点的属性及内容,排版确定在屏幕上的显示位置;
4.根据排版的结果,在屏幕上显示标签的内容。
而在本发明实施例中,由于页面中嵌入了小字库,因此,客户端对页面进行解析与显示的过程与现有的上述过程是不同的,具体过程如下:
1.建立标签节点树,其过程包括:
(1)解析html,与现有的解析过程相同;
(2)解析head,与现有的解析过程相同;
(3)解析meta标签,如果其name属性是font-install,表明是小字库安装数据;
(4)解析meta的content属性,提取小字库对应的字体名;
(5)还原小字库,即对content中的内容进行base64解码,生成小字库;
(6)将解码生成的小字库,安装为字体名对应的字库。
2.根据css规则,确定每一个标签节点的属性;
3.根据每一个标签节点的属性及内容,排版确定在屏幕上的显示位置;
4.根据排版的结果,在屏幕上显示标签的内容,如果标签使用安装的小字库,则使用小字库显示相应内容。
为了进一步节省客户端所在本地内存资源,在本发明实施例中,还可进一步包括以下步骤:
在离开所述页面后,卸载所安装的小字库。
当然,也可以设定一定的条件,在离开所述页面后,如果条件满足,再卸载所安装的小字库。比如,在所述meta标签中添加所述小字库的有效期;在离开页面后,如果所述小字库的有效期失效,则卸载所安装的小字库。
另外,在本发明实施例的一种应用中,还可以将整个应用所需要的所有小字库集中在一起,在这种情况下,可以为一个应用设置一个入口页面和出口页面,入口页面安装整个应用所需要的所有小字库。离开该入口页面时,不卸载所安装的小字库,而是在所述出口页面增加定义新的meta标签,在所述应用离开出口页面后,再卸载所安装的小字库。
例如,定义的新的meta标签如下:
<meta name=’font-uninstall’content=’楷体’/>;
<meta name=’font-uninstall’ content=’行楷’/>。
而且,在生成小字库列表定义文件时,需要遍历应用中的每一个页面,生成所有页面的小字库列表,其中,对于相同的字体和文字进行合并,从而可进一步减少一个应用中与网络连接的次数。
下面上述应用举例详细说明。
假设一个应用包含多个页面,分别为:index.html、a.html、b.html、exit.html,其中,index.html为入口页面,exit.html为出口页面,各页面具体如下:
index.html(入口页面)
<html>
<head>
<title>入口页面</title>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’>这是入口页面
</div>
<a href=′a.html′>link a</a>
</body>
</html>
a.html(内容第一页)
<html>
<head>
<title>内容第一页</title>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’>内容第一页</div>
<div style=’font-family:行楷;font-size:30px;’>行楷示例第一页
</div>
<a href=′b.html′>link b</a>
</body>
</html>
b.html(内容第二页)
<html>
<head>
<title>内容第二页</title>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’>内容第二页</div>
<div style=’font-family:行楷;font-size:30px;’>行楷示例第二页
</div>
<a href=′exit.html′>exit</a>
</body>
</html>
exit.html(出口页面)
<html>
<head>
<title>出口页面</title>
</head>
<body>
<div>出口页面</div>
</body>
</html>
针对上述应用,服务器在生成小字库时,遍历该应用中的每个页面,统计各页面所使用的小字库列表定义文件:
楷体:这是入口页面内容第一页内容第二页;
行楷:行楷示例第一页行楷示例第二页。
对生成的小字库列表定义文件进行整理,即删除其中重复的字符,得到对应该应用的小字库列表定义文件为:
楷体:这是入口页面内容第一页二页;
行楷:行楷示例第一页二。
然后,根据上述小字库列表定义文件,生成两个小字库,需要说明的是,这两个小字库是对应整个应用所需要的小字库:
kaiti.ttf(含有字符“这”“是”“入”“口”“页”“面”“内”“容”“第”“一”“页”“二”“页”)
xinkai.ttf(含有字符“行”“楷”“示”“例”“第”“一”“页”“二”)
最后,将上述生成的小字库嵌入口页面index.html,修改后的入口页面index.html为:
index.html(嵌入应用所需小字库)
<html>
<head>
<title>入口页面</title>
<meta name=’font-install’content=’楷体:
data:application/font;base64{kaiti.ttf对应的base64编码}’/>
<meta name=’font-install’content=’行楷:
data:application/font;base64{xinkai.ttf对应的base64编码}’/>
</head>
<body>
<div style=’font-family:楷体;font-size:30px;’>这是入口页面
</div>
<a href=′a.html′>link a</a>
</body>
</html>
另外,还需要在出口页面exit.html中增加卸载机制,exit.html修改为:
exit.html(增加卸载机制)
<html>
<head>
<title>出口页面</title>
<meta name=’font-uminstall’content=’楷体’/>
<meta name=’font-uninstall’content=’行楷’/>
</head>
<body>
<div>出口页面</div>
</body>
</html>
可见,利用本发明实施例嵌入式浏览器字库管理方法,不仅可以针对单个页面,将其所使用的小字库嵌入该页面,并且与该页面同步下载,使得在页面成功下载的同时,小字库也同时下载,在降低字库占用的存储空间的同时,减少了网络连接次数,提高了显示速度;而且在针对某个应用时,也可以将该应用中所有页面使用的小字库嵌入到该应用的入口页面中,使得该应用中的所有页面共享同一个小字库,进一步减少了网络连接次数,提高了显示速度。
相应地,本发明实施例还提供一种嵌入式浏览器字库管理***,如图4所示,是该***的一种结构示意图。
在该实施例中,所述***包括:服务器401和客户端402,其中:
服务器401,用于在页面中用到所述客户端所在本地非默认字库的文字时,将所述文字所属的小字库嵌入所述页面;
客户端402,用于接收到用户访问所述页面的请求后,下载所述页面;解析所述页面,得到所述小字库,并将所述小字库安装在客户端所在本地;在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
在该实施例中,所述服务器401的一种优选结构包括:
页面获取单元411,用于获取需要修改的页面;
小字库列表定义文件生成单元412,用于生成小字库列表定义文件,所述小字库列表定义文件用于指示需要在页面中增加的字体以及每种字体所需要增加的文字;
小字库生成单元413,用于根据小字库列表定义文件,生成小字库;
嵌入单元414,用于将生成的小字库嵌入所述页面,具体地,所述嵌入单元414可以利用meta标签和Base64编码方式将所述小字库嵌入所述页面。
在该实施例中,所述客户端402的一种优选结构包括:
请求接收单元421,用于接收用户访问所述页面的请求;
下载单元422,用于在所述请求接收单元接收到所述请求后,下载所述页面;
解析单元423,用于解析所述页面,得到所述小字库;
安装单元424,用于将所述小字库安装在客户端所在本地;
显示单元425,用于显示所述页面,并且在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
为了使每次下载的小字库在满足本次显示需求后,避免占用相应的内存空间,所述客户端还可进一步包括:卸载单元(未图示),用于在离开所述页面后,卸载所述小字库。
当然,需要说明的是,本发明实施例中的服务器和客户端并不仅限于上述具体结构,在实际应用中,还可以有其他结构变形。
利用本发明实施例嵌入式浏览器字库管理***,在页面中用到所述客户端所在本地非默认字库的文字时,由服务器将页面所使用的小字库嵌入该页面,并且与该页面同步下载,使得在页面成功下载的同时,小字库也同时下载,在降低字库占用的存储空间的同时,减少了网络连接次数,提高了显示速度。
当然,利用本发明实施例嵌入式浏览器字库管理***的变形,也可以将该应用中所有页面使用的小字库嵌入到该应用的入口页面中,使得该应用中的所有页面共享同一个小字库,进一步减少了网络连接次数,提高了显示速度,具体实现方式可参照前面本发明实施例嵌入式浏览器字库管理方法中的描述,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种嵌入式浏览器字库管理方法,其特征在于,包括:
如果页面中用到客户端所在本地非默认字库的文字,则服务器预先将所述文字所属的小字库嵌入所述页面;
客户端接收到用户访问所述页面的请求后,下载所述页面;
解析所述页面,得到所述小字库,并将所述小字库安装在客户端所在本地;
在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
2.如权利要求1所述的方法,其特征在于,所述服务器将所述文字所属的小字库嵌入所述页面包括:
服务器获取需要修改的页面;
生成小字库列表定义文件,所述小字库列表定义文件用于指示需要在页面中增加的字体以及每种字体所需要增加的文字;
根据小字库列表定义文件,生成小字库;
将生成的小字库嵌入所述页面。
3.如权利要求2所述的方法,其特征在于,所述将生成的小字库嵌入所述页面包括:
利用meta标签和Base64编码方式将所述小字库嵌入所述页面。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在所述meta标签中添加所述小字库的有效期;
在离开页面后,如果所述小字库的有效期失效,则卸载所安装的小字库。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在离开所述页面后,卸载所述小字库。
6.一种嵌入式浏览器字库管理***,其特征在于,包括:服务器和客户端;
所述服务器,用于在页面中用到所述客户端所在本地非默认字库的文字时,将所述文字所属的小字库嵌入所述页面;
所述客户端,用于接收到用户访问所述页面的请求后,下载所述页面;解析所述页面,得到所述小字库,并将所述小字库安装在客户端所在本地;在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
7.如权利要求6所述的***,其特征在于,所述服务器包括:
页面获取单元,用于获取需要修改的页面;
小字库列表定义文件生成单元,用于生成小字库列表定义文件,所述小字库列表定义文件用于指示需要在页面中增加的字体以及每种字体所需要增加的文字;
小字库生成单元,用于根据小字库列表定义文件,生成小字库;
嵌入单元,用于将生成的小字库嵌入所述页面。
8.如权利要求7所述的***,其特征在于,
所述嵌入单元,具体用于利用meta标签和Base64编码方式将所述小字库嵌入所述页面。
9.如权利要求6至8任一项所述的***,其特征在于,所述客户端包括:
请求接收单元,用于接收用户访问所述页面的请求;
下载单元,用于在所述请求接收单元接收到所述请求后,下载所述页面;
解析单元,用于解析所述页面,得到所述小字库;
安装单元,用于将所述小字库安装在客户端所在本地;
显示单元,用于显示所述页面,并且在显示所述页面中标签内容时,如果所述标签使用所述小字库,则使用所述小字库中的文字显示所述标签内容。
10.如权利要求9所述的方法,其特征在于,所述客户端还包括:
卸载单元,用于在离开所述页面后,卸载所述小字库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110029650 CN102231150A (zh) | 2011-01-27 | 2011-01-27 | 嵌入式浏览器字库管理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110029650 CN102231150A (zh) | 2011-01-27 | 2011-01-27 | 嵌入式浏览器字库管理方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102231150A true CN102231150A (zh) | 2011-11-02 |
Family
ID=44843714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110029650 Pending CN102231150A (zh) | 2011-01-27 | 2011-01-27 | 嵌入式浏览器字库管理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102231150A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455503A (zh) * | 2012-05-31 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 字库收集方法、网页渲染方法、装置及*** |
CN103761110A (zh) * | 2014-02-18 | 2014-04-30 | 优视科技有限公司 | 浏览器字体显示处理方法和装置 |
CN104424195A (zh) * | 2013-08-20 | 2015-03-18 | 北大方正集团有限公司 | 一种构建部件库的方法及装置 |
CN106033453A (zh) * | 2015-03-17 | 2016-10-19 | 北大方正集团有限公司 | 字符嵌入方法、字符嵌入***、浏览器和客户端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677390A (zh) * | 2005-02-02 | 2005-10-05 | 广州网上新生活软件技术服务有限公司 | 一种嵌入式***多种字体及大小和样式的显示***和方法 |
US20050220343A1 (en) * | 2004-03-31 | 2005-10-06 | Yuki Yoshimura | Automatic character code recognition/display system, method, and program using mobile telephone |
CN101158979A (zh) * | 2007-11-23 | 2008-04-09 | 深圳市茁壮网络技术有限公司 | 一种多字体数据显示方法及***以及相关设备 |
CN101639853A (zh) * | 2009-08-26 | 2010-02-03 | *** | 用于家电终端的文字显示方法 |
US20100107062A1 (en) * | 2008-10-20 | 2010-04-29 | Extensis Inc. | Contextually Previewing Fonts |
-
2011
- 2011-01-27 CN CN 201110029650 patent/CN102231150A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050220343A1 (en) * | 2004-03-31 | 2005-10-06 | Yuki Yoshimura | Automatic character code recognition/display system, method, and program using mobile telephone |
CN1677390A (zh) * | 2005-02-02 | 2005-10-05 | 广州网上新生活软件技术服务有限公司 | 一种嵌入式***多种字体及大小和样式的显示***和方法 |
CN101158979A (zh) * | 2007-11-23 | 2008-04-09 | 深圳市茁壮网络技术有限公司 | 一种多字体数据显示方法及***以及相关设备 |
US20100107062A1 (en) * | 2008-10-20 | 2010-04-29 | Extensis Inc. | Contextually Previewing Fonts |
CN101639853A (zh) * | 2009-08-26 | 2010-02-03 | *** | 用于家电终端的文字显示方法 |
Non-Patent Citations (1)
Title |
---|
《电脑爱好者》 20021031 郭涛 Microsoft WEFT-摆脱网页字体束缚 97 , 第20期 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455503A (zh) * | 2012-05-31 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 字库收集方法、网页渲染方法、装置及*** |
CN103455503B (zh) * | 2012-05-31 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 字库收集方法、网页渲染方法、装置及*** |
CN104424195A (zh) * | 2013-08-20 | 2015-03-18 | 北大方正集团有限公司 | 一种构建部件库的方法及装置 |
CN104424195B (zh) * | 2013-08-20 | 2018-03-23 | 北大方正集团有限公司 | 一种构建部件库的方法及装置 |
CN103761110A (zh) * | 2014-02-18 | 2014-04-30 | 优视科技有限公司 | 浏览器字体显示处理方法和装置 |
CN103761110B (zh) * | 2014-02-18 | 2017-12-26 | 优视科技有限公司 | 浏览器字体显示处理方法和装置 |
CN106033453A (zh) * | 2015-03-17 | 2016-10-19 | 北大方正集团有限公司 | 字符嵌入方法、字符嵌入***、浏览器和客户端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715370B2 (en) | Method and system for providing content | |
US8756489B2 (en) | Method and system for dynamic assembly of form fragments | |
US9686378B2 (en) | Content management and transformation system for digital content | |
US10565293B2 (en) | Synchronizing DOM element references | |
CN102915308B (zh) | 一种页面渲染的方法及装置 | |
US9646103B2 (en) | Client-side template engine and method for constructing a nested DOM module for a website | |
EP2681671A1 (en) | System and methods for facilitating the synchronization of data | |
CN108710490B (zh) | 一种Web页面的编辑方法和装置 | |
CN103297327A (zh) | 消息推送方法、装置及显示终端 | |
US20160012147A1 (en) | Asynchronous Initialization of Document Object Model (DOM) Modules | |
US20160012144A1 (en) | Javascript-based, client-side template driver system | |
CN111953709A (zh) | 多媒体内容传输方法、多媒体内容展示方法、装置和电子设备 | |
CN112765516A (zh) | 页面内容的展示方法和装置、存储介质、电子装置 | |
CN101702641A (zh) | 编码方法和网络服务器 | |
CN102231150A (zh) | 嵌入式浏览器字库管理方法及*** | |
CN113360106B (zh) | 一种网页打印方法和装置 | |
CN112632425B (zh) | 一种离线资源文件的生成方法、装置、设备及存储介质 | |
US20160012023A1 (en) | Self-Referencing of Running Script Elements in Asynchronously Loaded DOM Modules | |
AU2019222873B2 (en) | Method and system for providing content | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
EP2806350A1 (en) | Image forming firmware web-based user interface localization | |
US20160012146A1 (en) | Client Web Browser and Method for Constructing a Website DOM Module With Client-Side Functional Code | |
CN103942291A (zh) | 在浏览器界面显示信息的方法及装置 | |
JP2011128762A (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
CN116484132A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1162719 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111102 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1162719 Country of ref document: HK |