字符嵌入方法、字符嵌入系统、浏览器和客户端的制作方法
【专利摘要】本发明提出了一种字符嵌入方法、一种字符嵌入系统、一种浏览器和一种客户端,其中的字符嵌入方法包括:根据来自浏览器的字符嵌入请求,在预设的多个小字库中获取所述字符嵌入请求所请求的目标字符对应的目标小字库,其中,所述多个小字库由服务器中的大字库拆分而成;将所述目标小字库中的字符嵌入所述浏览器的网页。本发明的技术方案,通过预先拆分服务器端的大字库来形成单编码的冷僻字小字库,解决了网页中的冷僻字缺字问题,降低了冷僻字的使用难度,去除了实时拆分大字库带来的时间延迟,同时还能够减轻网络负载、提高网页响应速度和大幅降低数据的冗余量。
【专利说明】
字符嵌入方法、字符嵌入系统、浏览器和客户端
技术领域
[0001] 本发明涉及计算机技术领域,具体而言,涉及一种字符嵌入方法、一种字符嵌入系 统、一种浏览器和一种客户端。
【背景技术】
[0002] 早期互联网网页仅能使用本地默认的字库作为显示字库,比如本地的宋体、微软 雅黑等字体的字库。如果用户需要在本地浏览器内显示本机没有安装的字库字型,如徐静 蕾手写字、人名地名冷僻字,网页将无法正常显示出缺失的字符。对于上述问题,目前有三 种解决方式:
[0003] 第一,在本机端进行检索,下载并安装对应字型的本地字库,但是,本方法需要用 户自己去寻找并下载安装需要的字库文件,增加用户负担。
[0004] 第二,采用图片形式显示目标字符或目标字形,则客户端无需额外安装对应的字 库,但图片内的文字内容无法被检索和编辑,不便网络传输。
[0005] 第三,采用W3C (万维网联盟)网络规范CSS3 (Cascading Style Sheet,层叠样式 表)中的一个模块Ofont-face,即Web嵌入字体技术,将字体文件通过网页服务器嵌入到 网页中去,则客户端无需额外安装对应的字库。字体文件部署在服务器上,浏览器或客户 端会根据Ofont-face指令把对应的服务器字体文件下载到本地缓存,以使用下载的字体 文件去修饰文本,实现本地终端无需安装该种字体就能使用它读取和显示网页内的特殊字 体。但是,由于网速限制,Web嵌入字体技术仅适用于较小的字体,比如,西方字体中的英文 字体,其全库英文字库文件的大小不过100K左右,这样小的容量不会影响网速,非常适合 嵌入网页中传播。虽然全库中文字库也可以完全嵌入网页,但是由于每个中文字库的字数 庞大,其容量一般都在几兆字节大小,在网页中加载中文字库就会使得网页的加载速度大 大降低,从而使进行网页浏览的用户的体验明显降低。
[0006] 现在,针对中文字库嵌入网页的较好办法是,根据网页内需嵌入的文字内容段,动 态抽取小字库出来,以降低了嵌入字库的文件大小,但是,动态实时的转换会带来一定的时 间开销,例如,实时转换不重复的500字,需要服务器开销约500毫秒,如果实时转换抽取小 字库的并发很多的话,需要用户等待的时间就会较长。而对于当前包含8万多字的中文超 大字库,其单个字库文件通常是50M大小,超大字库如果全部嵌入,即使进行压缩处理,也 需要30M大小,这对于网页是不可取的,并且,随着国际和国家文字字符集标准的扩充,尤 其是为了支持东亚语种,所需的字符数不断增加,导致超大字库和冷僻字字库文件的数据 量不断增加。此外,现有的超大字库,例如,由于Truetype字库标准和Opentype字库标准 设计最多容纳65536个字,8万多字的超大宋体字库通常需要2个字库来显示,用户即使费 时下载2个超大字库后,还需要用户自己选择不同的字库去显示不同的冷僻字,因为8万多 字分布在两个不同的字库里,普通用户还得知道两个超大字库里的冷僻字的分布,这对普 通用户而言很难理解和记忆的。
[0007] 因此,需要一种新的技术方案,能够在保证网页响应速度的同时,解决网页中的冷 僻字缺字问题。
【发明内容】
[0008] 本发明正是基于上述问题,提出了一种新的技术方案,能够在保证网页响应速度 的同时,解决网页中的冷僻字缺字问题。
[0009] 有鉴于此,本发明的第一方面提出了一种字符嵌入方法,包括:根据来自浏览器的 字符嵌入请求,在预设的多个小字库中获取所述字符嵌入请求所请求的目标字符对应的目 标小字库,其中,所述多个小字库由服务器中的大字库拆分而成;将所述目标小字库中的字 符嵌入所述浏览器的网页。
[0010] 在该技术方案中,预先将服务器端的大字库拆分成多个单编码的小字库,在网页 中遇到无法显示的冷僻字时,直接根据字符嵌入请求中携带的信息加载与目标字符对应的 小字库即可。目标字符为本机预装字库中不具有的字符。单编码小字库远小于图片和根据 内容段抽取的字库,不会影响客户端浏览的顺畅度,也还可以被搜索引擎检索到。通过本技 术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的使用难度,去除了实时拆分大字 库带来的时间延迟,同时还能够减轻网络负载、提高网页响应速度和降低数据的冗余量。
[0011] 在上述技术方案中,优选地,所述多个小字库中的每个小字库具有对应的UNICODE 编码,并具有一个目标字符,所述目标字符具有一种或多种字形,以及所述每个小字库对应 的所述UNICODE编码不同。
[0012] 在该技术方案中,UNICODE为一种计算机上使用的字符编码,即单一码。按照国际 UNICODE唯一编码,对大字库进行裁剪抽取,将每一个汉字提取成一个小字库文件,这样,就 形成了超大字库向单编码字库文件的碎片化。浏览器中出现冷僻字时,就是根据该冷僻字 的UNICODE编码,直接向服务器发出字符嵌入请求,以及当有多个冷僻字的时候,可以形成 冷僻字序列组合,并一起向服务器发出字符嵌入请求。
[0013] 在上述技术方案中,优选地,在将所述大字库拆分成所述多个小字库之后,还包 括:将所述多个小字库的文件格式转换为多种嵌入字库格式;以及将多种所述嵌入字库格 式的所述多个小字库部署在所述服务器上,以供所述浏览器识别所述多个小字库。
[0014] 在该技术方案中,由于每种格式的单编码小字库仅有部分浏览器支持,因此,还需 要预先将每个小字库的文件格式转换为多种其他能够兼容所有浏览器的嵌入字库格式,从 而方便浏览器加载这些小字库。然后,需要将碎片化后的大规模各种格式的小字库文件统 一部署在服务器上,通过网络接口提供包含各种字型的单个冷僻字下载和显示数据服务, 并能够为不同的浏览器自动提供不同格式的小字库文件,供客户端使用。本技术方案解决 了网页中的冷僻字缺字问题,降低了冷僻字的使用难度,避免了因小字库格式不符而造成 的无法嵌入网页的问题,还能够减轻网络负载。
[0015] 在上述技术方案中,优选地,所述根据来自浏览器的字符嵌入请求,在预设的多个 小字库中获取目标字符对应的目标小字库,具体包括:获取所述字符嵌入请求中的目标字 库信息,其中,所述目标字库信息包括所述目标小字库的UNICODE编码、所述目标小字库的 所述目标字符的字形、所述目标小字库的字库格式;根据所述目标字库信息,在预设的所述 多个小字库中确定所述目标小字库。
[0016] 在该技术方案中,浏览器中出现冷僻字时,可以直接向服务器发出字符嵌入请求, 字符嵌入请求包含目标小字库的UNICODE编码、目标小字库的目标字符的字形、目标小字 库的字库格式等信息,以便根据目标字符的UNICODE编码确定对应的目标小字库,并根据 字库格式信息加载对应格式的目标小字库,以及根据目标字符的字形确定目标字符嵌入网 页时的字形显示方式。通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的 使用难度,避免了因小字库格式不符、字符的字形不符而造成的无法顺利嵌入网页的问题, 同时还能够减轻网络负载。
[0017] 在上述技术方案中,优选地,在所述获取目标字符对应的目标小字库之后,还包 括:将获取的多个所述目标小字库或获取次数超过预定次数的多个所述目标小字库进行合 并,生成合并小字库,并将所述合并小字库缓存至本地。
[0018] 在该技术方案中,当客户端或浏览器进行多次字符嵌入请求后,对于多次字符嵌 入请求返回的小字库,可以进行小字库合并,并缓存至本地,这样,当其他网页再发出相同 的字符嵌入请求时,可直接调用合并小字库,无需再次向服务器发出重复请求,提升了字符 嵌入的效率及便利性。
[0019] 本发明的第二方面提出了一种字符嵌入系统,包括:目标小字库获取单元,根据来 自浏览器的字符嵌入请求,在预设的多个小字库中获取所述字符嵌入请求所请求的目标字 符对应的目标小字库,其中,所述多个小字库由服务器中的大字库拆分而成;字符嵌入单 元,将所述目标小字库中的字符嵌入所述浏览器的网页。
[0020] 在该技术方案中,预先将服务器端的大字库拆分成多个单编码的小字库,在网页 中遇到无法显示的冷僻字时,直接根据字符嵌入请求中携带的信息加载与目标字符对应的 小字库即可。目标字符为本机预装字库中不具有的字符。由于单编码小字库远小于图片和 根据内容段抽取的字库,因此不会影响客户端浏览的顺畅度,也还可以被搜索引擎检索到。 通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的使用难度,去除了实时 拆分大字库带来的时间延迟,同时还能够减轻网络负载、提高网页响应速度和降低数据的 冗余量。
[0021] 在上述技术方案中,优选地,所述多个小字库中的每个小字库具有对应的UNICODE 编码,并具有一个目标字符,所述目标字符具有一种或多种字形,以及所述每个小字库对应 的所述UNICODE编码不同。
[0022] 在该技术方案中,UNICODE为一种计算机上使用的字符编码,即单一码。按照国际 UNICODE唯一编码,对大字库进行裁剪抽取,将每一个汉字提取成一个小字库文件,这样,就 形成了超大字库向单编码字库文件的碎片化。浏览器中出现冷僻字时,就是根据该冷僻字 的UNICODE编码,直接向服务器发出字符嵌入请求,以及当有多个冷僻字的时候,可以形成 冷僻字序列组合,并一起向服务器发出字符嵌入请求。
[0023] 在上述技术方案中,优选地,还包括:格式转换单元,在将所述大字库拆分成所述 多个小字库之后,将所述多个小字库的文件格式转换为多种嵌入字库格式;以及小字库部 署单元,将多种所述嵌入字库格式的所述多个小字库部署在所述服务器上,以供所述浏览 器识别所述多个小字库。
[0024] 在该技术方案中,由于每种格式的单编码小字库仅有部分浏览器支持,因此,还需 要预先将每个小字库的文件格式转换为多种其他能够兼容所有浏览器的嵌入字库格式,从 而方便浏览器加载这些小字库。然后,需要将碎片化后的大规模各种格式的小字库文件统 一部署在服务器上,通过网络接口提供包含各种字型的单个冷僻字下载和显示数据服务, 并能为不同的浏览器自动提供不同格式的小字库文件,供客户端使用。本技术方案解决了 网页中的冷僻字缺字问题,降低了冷僻字的使用难度,避免了因小字库格式不符而造成的 无法嵌入网页的问题,同时还能够减轻网络负载。
[0025] 在上述技术方案中,优选地,所述目标小字库获取单元具体用于:获取所述字符嵌 入请求中的目标字库信息,其中,所述目标字库信息包括所述目标小字库的UNICODE编码、 所述目标小字库的所述目标字符的字形、所述目标小字库的字库格式,以及根据所述目标 字库信息,在预设的所述多个小字库中确定所述目标小字库。
[0026] 在该技术方案中,浏览器中出现冷僻字时,可以直接向服务器发出字符嵌入请求, 字符嵌入请求包含目标小字库的UNICODE编码、目标小字库的目标字符的字形、目标小字 库的字库格式等信息,以便根据目标字符的UNICODE编码确定对应的目标小字库,并根据 字库格式信息加载对应格式的目标小字库,以及根据目标字符的字形确定目标字符嵌入网 页时的字形显示方式。通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的 使用难度,避免了因小字库格式不符、字符的字形不符而造成的无法顺利嵌入网页的问题, 同时还能够减轻网络负载。
[0027] 在上述技术方案中,优选地,还包括:小字库合并单元,在所述获取目标字符对应 的目标小字库之后,将获取的多个所述目标小字库或获取次数超过预定次数的多个所述目 标小字库进行合并,生成合并小字库,并将所述合并小字库缓存至本地。
[0028] 在该技术方案中,当客户端或浏览器进行多次字符嵌入请求后,对于多次字符嵌 入请求返回的小字库,可以进行小字库合并,并缓存至本地,这样,当其他网页再发出相同 的字符嵌入请求时,可直接调用合并小字库,无需再次向服务器发出重复请求,提升了字符 嵌入的效率及便利性。
[0029] 本发明的第三方面提出了一种浏览器,包括有上述技术方案中所述的字符嵌入系 统。因此,该浏览器具有上述技术方案提供的字符嵌入系统的全部有益效果,在此不再赘 述。
[0030] 本发明的第四方面提出了一种客户端,包括有上述技术方案中所述的字符嵌入系 统。因此,该客户端具有上述技术方案提供的字符嵌入系统的全部有益效果,在此不再赘 述。
[0031] 通过本发明的技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的使用 难度,去除了实时拆分大字库带来的时间延迟,同时还能够减轻网络负载、提高网页响应速 度和大幅降低数据的冗余量。
【附图说明】
[0032] 图1示出了根据本发明的一个实施例的字符嵌入方法的流程图;
[0033] 图2示出了根据本发明的一个实施例的字符嵌入系统的框图;
[0034] 图3示出了根据本发明的一个实施例的浏览器的框图;
[0035] 图4示出了根据本发明的一个实施例的客户端的框图;
[0036] 图5示出了根据本发明的一个实施例的TTF小字库文件的数据类别划分示意图;
[0037] 图6示出了根据本发明的一个实施例的冷僻字缺字示意图;
[0038] 图7A至7C示出了根据本发明的一个实施例的冷僻字缺字字形轮廓数据及二进制 示意图;
[0039] 图8示出了根据本发明的一个实施例的冷僻字缺字字形数据打包流程图。
【具体实施方式】
[0040] 为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实 施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施 例及实施例中的特征可以相互组合。
[0041] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可 以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开 的具体实施例的限制。
[0042] 图1示出了根据本发明的一个实施例的字符嵌入方法的流程图。
[0043] 如图1所示,根据本发明的一个实施例的字符嵌入方法,包括:
[0044] 步骤102,根据来自浏览器的字符嵌入请求,在预设的多个小字库中获取字符嵌入 请求所请求的目标字符对应的目标小字库,其中,多个小字库由服务器中的大字库拆分而 成。
[0045] 步骤104,将目标小字库中的字符嵌入浏览器的网页。
[0046] 在该技术方案中,预先将服务器端的大字库拆分成多个单编码的小字库,如 TTF(True Type Font)小字库,在网页中遇到无法显示的冷僻字时,直接根据字符嵌入请求 中携带的信息加载与目标字符对应的小字库即可。目标字符为本机预装字库中不具有的字 符。由于单编码小字库远小于图片和根据内容段抽取的字库,因此不会影响客户端浏览的 顺畅度,也还可以被搜索引擎检索到。通过本技术方案,解决了网页中的冷僻字缺字问题, 降低了冷僻字的使用难度,去除了实时拆分大字库带来的时间延迟,同时还能够减轻网络 负载、提高网页响应速度和降低数据的冗余量。另外,上述服务器端包括但不限于如下类型 的操作系统:windows、unix、linux 等。
[0047] 在上述技术方案中,优选地,多个小字库中的每个小字库具有对应的UNICODE编 码,并具有一个目标字符,目标字符具有一种或多种字形,以及每个小字库对应的UNICODE 编码不同。
[0048] 在该技术方案中,UNICODE为一种计算机上使用的字符编码,即单一码。按照国际 UNICODE唯一编码,对大字库进行裁剪抽取,将每一个汉字提取成一个小字库文件,这样,就 形成了超大字库向单编码字库文件的碎片化。浏览器中出现冷僻字时,就是根据该冷僻字 的UNICODE编码,直接向服务器发出字符嵌入请求,以及当有多个冷僻字的时候,可以形成 冷僻字序列组合,并一起向服务器发出字符嵌入请求。
[0049] 在上述技术方案中,优选地,在将大字库拆分成多个小字库之后,还包括:将多个 小字库的文件格式转换为多种嵌入字库格式;以及将多种嵌入字库格式的多个小字库部署 在服务器上,以供浏览器识别多个小字库。
[0050] 在该技术方案中,由于每种格式的单编码小字库仅有部分浏览器支持,因此,还需 要预先将每个小字库的文件格式转换为多种其他能够兼容所有浏览器的嵌入字库格式, 如 TTF、EOT、W0FF(Web Open Font Format,网页开放字体格式)、SVG(Scalable Vector Graphics,可缩放矢量图形)等,从而方便浏览器加载这些小字库。然后,需要将碎片化后 的大规模各种格式的小字库文件统一部署在服务器上,通过网络接口提供包含各种字型的 单个冷僻字下载和显示数据服务,并能够为不同的浏览器自动提供不同格式的小字库文 件,供客户端使用。通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的使 用难度,避免了因小字库格式不符而造成的无法嵌入网页的问题,同时还能够减轻网络负 载。
[0051] 在上述技术方案中,优选地,步骤102具体包括:获取字符嵌入请求中的目标字 库信息,其中,目标字库信息包括目标小字库的UNICODE编码、目标小字库的目标字符的字 形、目标小字库的字库格式;根据目标字库信息,在预设的多个小字库中确定目标小字库。
[0052] 在该技术方案中,浏览器中出现冷僻字时,可以直接向服务器发出字符嵌入请求, 字符嵌入请求包含目标小字库的UNICODE编码、目标小字库的目标字符的字形、目标小字 库的字库格式等信息,以便根据目标字符的UNICODE编码确定对应的目标小字库,并根据 字库格式信息加载对应格式的目标小字库,以及根据目标字符的字形确定目标字符嵌入网 页时的字形显示方式。通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的 使用难度,避免了因小字库格式不符、字符的字形不符而造成的无法顺利嵌入网页的问题, 同时还能够减轻网络负载。
[0053] 在上述技术方案中,优选地,在步骤102之后,还包括:将获取的多个目标小字库 或获取次数超过预定次数的多个目标小字库进行合并,生成合并小字库,并将合并小字库 缓存至本地。
[0054] 在该技术方案中,当客户端或浏览器进行多次字符嵌入请求后,对于多次字符嵌 入请求返回的小字库,可以进行小字库合并,并缓存至本地,这样,当其他网页再发出相同 的字符嵌入请求时,可直接调用合并小字库,无需再次向服务器发出重复请求,提升了字符 嵌入的效率及便利性。
[0055] 图2示出了根据本发明的一个实施例的字符嵌入系统的框图。
[0056] 如图2所示,根据本发明的一个实施例的字符嵌入系统200,包括:目标小字库获 取单元202,根据来自浏览器的字符嵌入请求,在预设的多个小字库中获取字符嵌入请求所 请求的目标字符对应的目标小字库,其中,多个小字库由服务器中的大字库拆分而成;字符 嵌入单元204,将目标小字库中的字符嵌入浏览器的网页。
[0057] 在该技术方案中,预先将服务器端的大字库拆分成多个单编码的小字库,如TTF 小字库,在网页中遇到无法显示的冷僻字时,直接根据字符嵌入请求中携带的信息加载与 目标字符对应的小字库即可。目标字符为本机预装字库中不具有的字符。由于单编码小字 库远小于图片和根据内容段抽取的字库,因此不会影响客户端浏览的顺畅度,也还可以被 搜索引擎检索到。通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的使用 难度,去除了实时拆分大字库带来的时间延迟,同时还能够减轻网络负载、提高网页响应速 度和降低数据的冗余量。
[0058] 在上述技术方案中,优选地,多个小字库中的每个小字库具有对应的UNICODE编 码,并具有一个目标字符,目标字符具有一种或多种字形,以及每个小字库对应的UNICODE 编码不同。
[0059] 在该技术方案中,UNICODE为一种计算机上使用的字符编码,即单一码。按照国际 UNICODE唯一编码,对大字库进行裁剪抽取,将每一个汉字提取成一个小字库文件,这样,就 形成了超大字库向单编码字库文件的碎片化。浏览器中出现冷僻字时,就是根据该冷僻字 的UNICODE编码,直接向服务器发出字符嵌入请求,以及当有多个冷僻字的时候,可以形成 冷僻字序列组合,并一起向服务器发出字符嵌入请求。
[0060] 在上述技术方案中,优选地,还包括:格式转换单元206,在将大字库拆分成多个 小字库之后,将多个小字库的文件格式转换为多种嵌入字库格式;以及小字库部署单元 208,将多种嵌入字库格式的多个小字库部署在服务器上,以供浏览器识别多个小字库。
[0061] 在该技术方案中,由于每种格式的单编码小字库仅有部分浏览器支持,因此,还需 要预先将每个小字库的文件格式转换为多种其他能够兼容所有浏览器的嵌入字库格式,从 而方便浏览器加载这些小字库。然后,需要将碎片化后的大规模各种格式的小字库文件统 一部署在服务器上,通过网络接口提供包含各种字型的单个冷僻字下载和显示数据服务, 并能够为不同的浏览器自动提供不同格式的小字库文件,供客户端使用。本技术方案解决 了网页中的冷僻字缺字问题,降低了冷僻字的使用难度,避免了因小字库格式不符而造成 的无法嵌入网页的问题,同时还能减轻网络负载。
[0062] 在上述技术方案中,优选地,目标小字库获取单元202具体用于:获取字符嵌入请 求中的目标字库信息,其中,目标字库信息包括目标小字库的UNICODE编码、目标小字库的 目标字符的字形、目标小字库的字库格式,以及根据目标字库信息,在预设的多个小字库中 确定目标小字库。
[0063] 在该技术方案中,浏览器中出现冷僻字时,可以直接向服务器发出字符嵌入请求, 字符嵌入请求包含目标小字库的UNICODE编码、目标小字库的目标字符的字形、目标小字 库的字库格式等信息,以便根据目标字符的UNICODE编码确定对应的目标小字库,并根据 字库格式信息加载对应格式的目标小字库,以及根据目标字符的字形确定目标字符嵌入网 页时的字形显示方式。通过本技术方案,解决了网页中的冷僻字缺字问题,降低了冷僻字的 使用难度,避免了因小字库格式不符、字符的字形不符而造成的无法顺利嵌入网页的问题, 同时还能够减轻网络负载。
[0064] 在上述技术方案中,优选地,还包括:小字库合并单元210,在获取目标字符对应 的目标小字库之后,将获取的多个目标小字库或获取次数超过预定次数的多个目标小字库 进行合并,生成合并小字库,并将合并小字库缓存至本地。
[0065] 在该技术方案中,当客户端或浏览器进行多次字符嵌入请求后,对于多次字符嵌 入请求返回的小字库,可以进行小字库合并,并缓存至本地,这样,当其他网页再发出相同 的字符嵌入请求时,可直接调用合并小字库,无需再次向服务器发出重复请求,提升了字符 嵌入的效率及便利性。
[0066] 图3示出了根据本发明的一个实施例的浏览器的框图。
[0067] 如图3所示,根据本发明的一个实施例的浏览器300,包括有上述技术方案中所述 的字符嵌入系统200,因此,浏览器300具有上述技术方案提供的字符嵌入系统200的全部 有益效果,在此不再赘述。其中,浏览器300包括但不限于Micorsoft IE浏览器、google chrome浏览器、Mozilla Firefox浏览器、Apple safari浏览器、opera浏览器、360浏览器 等。
[0068] 图4示出了根据本发明的一个实施例的客户端的框图。
[0069] 如图4所示,根据本发明的一个实施例的客户端400,包括有上述技术方案中所述 的字符嵌入系统200,因此,客户端400具有上述技术方案提供的字符嵌入系统200的全部 有益效果,在此不再赘述。其中,所述客户端包括但不限于Symbian客户端、ios客户端、 Android客户端、Windows Phone客户端等。
[0070] 图5示出了根据本发明的一个实施例的TTF小字库文件的数据类别划分示意图。
[0071] 如图5所示,以TrueType字库格式(以下简称TTF)为例,一个标准的TTF文件 由2个部分组成:文件头和一系列的描述表。其中,文件头包括偏移表和表目录等信息,偏 移表后为描述表目录,包括表名称、表偏移地址及表字节长度等,最后是各个文件描述表本 身。
[0072] 常用TTF文件描述表一般有19个,核心表主要包括字符编码映射表cmap、字形数 据定位表loca、轮廓数据表glyf等。其中,glyf表是TTF文件的主体部分,用于存放所有 字符的轮廓描述信息,包括描述字形轮廓的数据信息和字形轮廓指令信息两部分,字形轮 廓的数据信息描述字形轮廓结构组成的贝塞尔曲线数据,字形轮廓指令信息用于根据屏幕 分辨率动态修正调整字形轮廓结构,二者在glyf表中的存储空间占比根据指令信息量的 不同而变化,例如WINDOWS 7的系统字体微软雅黑的二者占比分别为50%和50%。glyf表 占据整个TTF文件约80%的容量,对于每个字的glyf字型轮廓描述信息,根据字型复杂度 和轮廓指令信息量,每个字约需200至400个字节左右的空间存储。
[0073] 当读取TTF文件中的字形数据时,首先根据文件头得到描述表的个数,然后遍历 描述表目录,提取描述表偏移量和描述表数据长度大小,最后根据偏移量和数据大小找到 目标描述表,并读取该表的数据。另外,可以将TTF的文件头及除轮廓数据glyf表之外的 其他描述表划分为字体公有数据部分,由于轮廓数据glyf表是与每个字形相关的数据,可 将其划分为字体字形专属数据部分。
[0074] 下面结合具体实施例描述本申请提供的字符嵌入方法。
[0075] 预先将各种字型的超大字库裁剪抽取成小字库,具体来说,是按照国际UNICODE 唯一编码,进行裁剪抽取,将每一个汉字提取成一个小TTF字库文件,小字库文件的命名采 用该汉字对应的唯一国际UNICODE编码,这样,就形成了超大字库向单编码字库文件的碎 片化。其中,超大字库可以包含各种字型,如宋体超大字库、黑体超大字库、楷体超大字库 等。以SURS0NG. TTF (宋体-超大字符集)为例,该字库文件近8万字,将里面的8万个字 符,逐个按其UNICODE编码提取其glyf曲线轮廓描述数据。如普通汉字"一"的UNICODE 编码为"04E00",则可根据UNICODE编码为"04E00"提取该汉字的字型glyf曲线轮廓描述 数据。一般来说,普通常见汉字约有3万多,操作系统会自带,因此,这3万多常见汉字可 以不嵌入,直接使用系统汉字显示即可,而剩余5万左右字符在系统字库里没有,属于不常 见的冷僻字,常用于古籍处理、身份证中的人名、地名等,因此,这5万左右的冷僻字可以在 UNICODE里以每四个字节占一个存储空间的形式出现。
[0076] 缺字请求(即上述的字符嵌入请求)包括缺字的字符编码类型、字符编码、字体类 型信息在内的请求序列,缺字的字符编码类型可以是GB18030-2005、GB13000-2010、ISO/ IEC10646-2003、UNIC0DE5. 0,并随着标准的扩展而同步扩展,所述的字符编码是指对应字 符编码类型的缺字的字符编码,缺字通常以四字节形式出现;所述的字体类型是指字体的 类型,如宋体、黑体、楷体等;本地缺字字体类型,需要与服务器端的一致,即本地为黑体,月艮 务器端也应选择黑体;缺字请求既可以是对单一一个字的请求,也可以是对若干字一起进 行的序列请求,缺字请求既可以包含单一字体类型的请求,也可以是混合字体类型的请求。 为避免混淆,缺字请求不允许缺字的混合编码类型的请求。
[0077] 对于服务器中的超大字库,其编码应遵从国家的最高的、覆盖范围最广的编码标 准 GB18030-2005、GB13000-2010、IS0/IEC10646-2003 以及 UNIC0DE5.0,且能够随着标准 的扩展而继续向后兼容,字数至少要支持国家编码标准GB13000-2010中7万多字,且随着 标准的扩展,字数也能同步增加。另外,服务器中的超大字库支持不同的字体类型,如宋 体、黑体、楷体等,字符编码标准 GB18030-2005、GB13000-2010、IS0/IEC10646-2003 以及 UNIC0DE5. 0是互相兼容发展的,有完全对照关系。另外,超大字库可以为TrueType字库或 OpenType字库,TrueType字库或OpenType字库分为文件头、描述表目录及字形专属轮廓数 据表等。
[0078] 图6示出了根据本发明的一个实施例的冷僻字缺字示意图。
[0079] 以缺字无法显示为例,wE,,在操作系统默认字库里是没有该字符的,该字 符的字型大图如图7A和图7B所示,该字符UCS-4编码为0X20000,为UNICODE第二平面冷 僻字,对应的GB13000/UTF16编码为0XD840DC00,为四字节编码,对应的GB18030-2005编码 为0X91428236,即需要使用四个字节才能表示一个字。对冷僻字缺字字形专属数据进行提 取,包括以下步骤:
[0080] 1)读取TTF文件头,获取三个表距离字库文件头的偏移量,即Cmap编码序号映射 关系表、loca记录字形轮廓数据距离字形轮廓数据表头偏移量以及该字形轮廓数据长度 的表、glyf记录字形轮廓数据表。以SURSONG. TTF (宋体-超大字符集)为例,该字库文 件近8万字,TTF文件大小约40. 5M,以该字UNICODE的UCS-4编码0X20000为例,该字库 TTF文件中,三个表距离字库文件头的偏移量分别为:字符编码映射表' cmap'偏移量off =0x00001B94,数据长度len = 30452字节,约3K ;字形数据定位表' loca'偏移量off = 0x0275FDD8,数据长度len = 262128字节,约255K ;字型轮廓数据表' glyf'偏移量off = 0x00009288,数据长度len = 40987400字节,约39M,即该字库中存放所有6万多字符字型 轮廓数据的' glyf'表约占整个字库文件大小的96. 3%。
[0081 ] 2)首先偏移到宋体-超大字符集TTF中的Cmap表中,按照升序顺序找到该字形编 码0X20000与对应的loca表里记录glyf中字型轮廓偏移量对应关系的序号,此处的字符 编码映射关系为:
[0082] ' cmap' Table-Character To Index Map
[0083] Seg 142:startCharCode = 00020000,endCharCode = 00020005, startGlyphCode =28669
[0084] 找到第 142 段 Seg,该段记录了从 0X20000 至 0X20005, startGlyphCode 表示本段 中字型轮廓的起始序号;然后偏移到142段:
[0085] 142. Char 00020000->Index 28669即为loca表里记录的该字在GLYF表中的字型 轮廓偏移量
[0086] Char 00020001->Index 28670
[0087] Char 00020002->Index 28671
[0088] Char 00020003->Index 28672
[0089] Char 00020004->Index 28673
[0090] Char 00020005->Index 28674
[0091] 3)然后根据这个序号,到loca表中顺序找到该序号对应的偏移值,该偏移值是距 离glyf表中字形轮廓数据表头的偏移量。
[0092] 'loca,Table-Index To Location Table
[0093] 根据 2)中 ' cmap' 中第 142 段记录的映射关系:Char 00020000->Index28669, 在' loca'按照升序顺序找到Index 28669对应的偏移量:
[0094] Idx 28669->glyf0ff 0x00FD9B3E
[0095] 即四字节缺字字符"芒>,UNICODE的UCS-4编码0X20000,在glyf表中相对于 glyf表头偏移〇x〇〇FD9B3E即可定位到。
[0096] 4)最后,通过到glyf表头的偏移量,然后加上loca表中记录的该字形轮廓数据的 相对偏移量,即为该字形轮廓数据的实际存储头开始位置,结合每个字型轮廓其实位置头 记录的该字形的轮廓数据的长度,即可提取出单个字符专属轮廓数据二进制段。
[0097] ' glyf' Table-Glyph Data
[0098] Glyph 20000:相对于' glyf'表头的偏移量off = 0x00A96FBE字节,数据长度 len = 142字节,即四字节缺字字符"己》,UNICODE的UCS-4编码0X20000,在glyf表中 相对于glyf表头偏移〇x〇〇FD9B3E即可定位到,其中,glyf表距离整个字库的偏移量为 0x00009288,那么该字距离整个字库文件头的偏移量为glyf表偏移量0x00009288+本字的 相对偏移量〇x〇〇FD9B3E = 0XFE2DC6字节,这样,即可以快速准备的定位到该字符,由于该 缺字的字型轮廓长度为142字节,仅需下载142字节,即可完成针对该缺字的字型轮廓提取 和下载,而无需将全部100M大字库进行下载。数据长度142字节,包括字型轮廓贝塞尔曲 线信息和轮廓调整指令信息,均以二进制形式出现,提取的时候原样数据顺序存储即可。
[0099] 接下来,重复步骤2)和步骤3)、步骤4),直到遍历完所有的冷僻字缺字字符提取 请求为止。将上述提取后的四字节缺字字符glyf轮廓信息数据与前述字体公有数 据部分进行结合,即形成仅含有单个字符的单编码小TTF字库,并将其命名为20000. TTF ; 20000. TTF仅含有宋体字型冷僻字《己>,的glyf轮廓信息数据和字体公有数据部分,文件 很小,"已,,的glyf轮廓信息数据在100多字节,字体公有数据部分约500多字节。依次类 推,其他汉字则为
[0100] 04e00. ttf, 04e01. ttf, 04e02. ttf, ···.
[0101] 200001. ttf,20002. ttf ,200003. ttf,…
[0102] 如果还有楷体超大字库,黑体超大字体,则步骤同理,仅是字型不同,最后则形成 宋体、黑体、楷体的单编码小TTF字库。由于单编码小TTF字库仅有部分浏览器支持,因此 还需要预先将单TTF小字库文件格式转换为其他能够兼容所有浏览器的嵌入字库格式,如 EOT、W0FF、SVG等。单个小字库可以包含各种字型,如宋体单编码小字库、黑体单编码小字 库、楷体单编码小字库等。
[0103] 仍以步骤1)中的20000. TTF为例,里面含有宋体字型冷僻字《^,,的glyf轮廓信 息数据和字体公有数据部分,为了兼容所有浏览器,需要将TTF转换为EOT、WOFF、SVG ;转换 方式采用EOT、WOFF、SVG各自的文件规范进行转换即可,转换完毕后,对应命名为:20000. E0T、20000. W0FF、20000. SVG。TTF、E0T、W0FF、SVG是不同的字体格式,其适配的浏览器类型 并不一致,如IE兼容EOT和WOFF,google chrome兼容TTF和W0FF等。其他编码的冷僻字 做同样的操作,如20001. E0T、20002. W0FF、20003. SVG,直到所有编码的单编码小TTF字库 文件转换完毕。
[0104] 进行完上述步骤后,将碎片化后的大规模小TTF、EOT、W0FF、SVG字库文件统一 部署在服务器上,通过网络接口提供包含各种字型的标准单个冷僻字下载和显示数据服 务,并能根据不同的浏览器自动提供不同格式的小字库文件,供客户端使用。以上生成的 20000. TTF、20000. Ε0Τ、20000. W0FF、20000. SVG,分别按照目录类别,部署在服务器上,通过 HTTP数据流接口或JS0N数据流接口。
[0105] 接下来,根据浏览器网页中的出现冷僻字字符,判断该汉字的编码是否是冷僻字, 所谓冷僻字就是本地系统字库没有字符,本地系统字库一般支持国家GBK(汉子内码扩展 规范)编码标准,约3万多,超大字库8万多字,那么相差的5万多字,就属于冷僻字活不常 用字,操作系统一般不会携带这么大的字库,日常生活中3万多字可以满足大部分需求。
[0106] 如果遇到冷僻字,则根据该冷僻字的编码,直接向服务器端提取冷僻字嵌入请求, 请求数据包括:该冷僻字的唯一 UNICODE编码、该冷僻字的字型(宋体、黑体、楷体等)、字 库格式(适配当前浏览器型号和版本)等。以申请端网页内的文字《?,,无法显示为例,经 过判断比较后,发现该字符的编码在本地字库中不存在,则向服务器发出冷僻字缺字请求, 该冷僻字字符UCS-4编码为0X20000,为UNICODE第二平面冷僻字,对应的GB13000/UTF16 编码为0XD840DC00,为四字节编码,对应的GB18030-2005编码为0X91428236,即需要使用 四个字节才能表示一个字。
[0107] 这个字向服务器发出的申请信息包括该字符的编码类型、编码本身、字体类型信 息,编码信息可以是GB13000、UTF16、GB18030-2005均可,字体类型可以是宋体、黑体、楷体 等,但请求的字体类型必须与本地默认字库类型相匹配,即本地字库为黑体,则服务器也应 选择黑体。
[0108] 服务器在接收识别申请端网页发送的冷僻字缺字请求信息和任务分配,包括缺 字的字符编码类型、字符编码、字体类型、浏览器版本等,其中,所述的字符编码类型是指 GB18030、GB13000、UNICODE、IS0/IEC10646等,所述的字符编码是指对应字符编码类型的 缺字的字符编码,缺字通常以四字节形式出现,所述的字体类型是指字体的类型,如宋体、 黑体、楷体等;接受到请求信息,将该任务分配给服务器端的数据提取模块,用以提取对应 的单字编码小字库,如超大宋体、超大黑体、超大楷体,通常,这些字库同时兼容GB18030、 GB13000、UNICODE、IS0/IEC10646的最新版本,并可以随标准的扩展而同步扩展。
[0109] 本实施例中,数据提取分析客户端申请参数,确定字体类型为宋体,编码为 0X20000,浏览器为IE时,则直接根据编码找到对应的宋体单编码小字库文件20000. TTF, 返回给申请端,如果是其他浏览器,则可以返回20000.E0T、20000.W0FF、20000. SVG等其他 格式的小字库文件。当有多个冷僻字的时候,可以形成冷僻字序列组合,一起向服务器发出 请求,服务器端接收到该请求数据序列后,按照请求冷僻字的唯一 UNICODE编码、字型、字 库格式,直接返回对应的小字库文件即可。
[0110] 当客户端浏览器接收到对应的单编码小字库后,使用W3C网络字库规范@ font-face指令按照编码调用单编码小字库即可自动完美显示冷僻字字符,由于单编码字 库很小,通常在100至200字节,体积远远小于图片,因此既不会影响客户端浏览的顺畅度, 同时该冷僻字还可以被搜索引擎所检索,这是图片显示所不具备的优点。本实施例中,接受 的是"ΕΓ,,对应的小字库文件20000. E0T、20000. W0FF、20000. SVG,按照进行调用即可,如:
[0111] 〈style type = "text/css">
[0112] ?font-face {
[0113] font-family:FZJLJWJ ;
[0114] src:url (Jhttp://xiezi. foundertype. com/ffebfont/20000. eotJ);
[0115] }
[0116] . FZJLJWJ {FONT-FAMILY: ' FZJLJWJ'}
[0117] 〈/style〉
[0118] 其中,写入页面的CSS代码兼容各版本的IE浏览器。根据浏览器类型,请求TTF 格式的在线字体,页面的CSS代码为:
[0119] 〈style type = "text/css">
[0120] ?font-face {
[0121] font-family:FZJLJWJ ;
[0122] src:url C http://xiezi. foundertype. com/ffebfont/20000. ttfJ)
[0123] format ('truetype');
[0124] }
[0125] . FZJLJWJ {FONT-FAMILY: ' FZJLJWJ'}
[0126] 〈/style〉
[0127] 当客户端进行多次请求后,对于多次请求返回的小字库,进行多个单编码小字库 的合并工作,合并的时候,主要是当其他网页再有想用编码的字符请求的时候,直接调用本 地合并后的小字库缓存即可,无需再次向服务器发出重复请求。另外,本实施例中,本地字 库追加中还设有缺字索引数据追加和缺字字形专属数据追加,分别用于在本地字库中追加 缺字的索引数据和缺字的字形专属数据。首先依次读取从服务器下载的单编码小TTF字库 20000. TTF,仅读取20000. TTF中含有的H glyf轮廓信息数据即可。该字己对应的二 进制字型轮廓数据和指令数据,其数据长度为142,其冷僻字缺字字形轮廓数据二进制示意 图如图7C所示。
[0128] 图8示出了根据本发明的一个实施例的冷僻字缺字字形数据打包流程图。
[0129] 如图8所示,参考服务器端字形专属数据提取步骤,对本机已有TTF字库进行冷僻 字缺字字形数据打包的流程如下:
[0130] 步骤802,读取cmap表,读取loca表,定位glyf表;步骤804,仅提取单个缺字字 型;步骤806,传入打包数据及参数;步骤808,确定索引参数;步骤810,追加到索引数组和 数据数组;步骤812,更新偏移量;步骤814,判断是否继续传入打包数据,当判断结果为是 时,返回步骤806,否则,进入步骤816 ;步骤816,合并索引数组和数据数组;步骤818,进一 步压缩处理。具体地,还可以以下列方式实现:
[0131] 1)读取本机字库文件头,获取三个表距离该字库文件头的偏移量,即:字符编码 映射表' cmap',字形数据定位表' loca',字型轮廓数据表' glyf' ;
[0132] 2)首先在cmap表中,根据模块30里读取的缺字字符的编码0X20000,按照顺序插 入到cmap表映射表中,映射的一端是缺字字符的编码,另一端是glyf字形轮廓序号,glyf 字形轮廓序号参照loca表里最后一个序号加1,这样就完成了 cmap表的映射;以本机字库 目前主要是采用GB18030-2000约3万字的字库为例,按照顺序将在这里插入:
[0133] Seg 141:startCharCode = 0000FFE0, endCharCode = 0000FFE5,
[0134] Seg 142:startCharCode = 00020000, endCharCode = 00020005,
[0135] 即第141段后,按照升序插入0X20000的字符映射:
[0136] 141. Char 0000FFE0->Index 28663
[0137] Char 0000FFEl_>Index 28664
[0138] Char 0000FFE2->Index 28665
[0139] Char 0000FFE3->Index 28666
[0140] Char 0000FFE4->Index 28667
[0141] Char 0000FFE5->Index 28668
[0142] 142. Char 00020000->Index 28669//插入本条映射关系
[0143] 3)然后到loca表中按照顺序新增该序号,即最后一个序号,该序号对应glyf表中 存储的最后一个字形轮廓偏移量,即为新增字符对应的偏移量。并且两个相邻序号的字型 轮廓偏移量相减即为上一个字形轮廓数据段的长度。如果是最后一个,则需要额外填写加 上该字型轮廓信息长度的数据值;
[0144] 本实施例中,0X20000为当前最后一个缺字,因此,需要在最后增加模块30里读取 的该字符的字型轮廓数据长度142字节;
[0145] Idx 28668->glyf0ff 0x00FD9AAE
[0146] Idx 28669->glyf0ff 0x00FD9B3E//此为最后一个字
[0147] Ends at 0x00FD9B3E+142(0X8E) = 0XFD9BCC,表示在 0XFD9BCC 结束最后一个 glyf字型轮廓数据;
[0148] 4)通过上一步骤,loca表中确定的新增字符对应的偏移量加上glyf表头的偏移 量,即为该字形轮廓数据的实际存储开始位置,结合loca表中记录的该字形的轮廓数据的 长度,在此将模块30解包处理过的数据数组中提取的单个字符轮廓数据复制,复制长度为 模块30的解包处理过的索引数组中每个字形轮廓数据段的长度,从而完成了从服务器端 获取单编码小字库20000. TTF中含有的冷僻字?!字型轮廓数据和指令数据,追加到本地 字库中的全过程。重复执行上述多个步骤,直到插入完所有处理过的缺字字符数据。
[0149] 通过上述技术方案,可以将现有超大字库预先按照一个汉字拆分成一个小字库形 式,小字库命名就是该汉字的唯一 UNI0CDE编码,在网络分发时,仅分发所需的单个缺字字 符小字库。通过这种服务器预先进行提取拆分抽取小字库的方式当遇到例如缺字字符I, 仅需从服务器端下载约150个字节,就可完成下载的缺字字型数据与本机字库的融合,且 通过多次缺字申请,可以累加在本机字库内,而不需下载替换100M的整个大字库文件,这 就完全避免了全库字库下载过大的问题,且去掉了实时提取转换小字库的时间开销,同时 还可以被搜索引擎检索,提高了网页响应速度,大大降低了字库数据的冗余量,节省了本地 存储空间。
[0150] 以上结合附图详细说明了本发明的技术方案,通过以上技术方案,解决了网页中 的冷僻字缺字问题,降低了冷僻字的使用难度,去除了实时拆分大字库带来的时间延迟,同 时还能够减轻网络负载、提高网页响应速度和大幅降低数据的冗余量。
[0151] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种字符嵌入方法,其特征在于,包括: 根据来自浏览器的字符嵌入请求,在预设的多个小字库中获取所述字符嵌入请求所请 求的目标字符对应的目标小字库,其中,所述多个小字库由服务器中的大字库拆分而成; 将所述目标小字库中的字符嵌入所述浏览器的网页。2. 根据权利要求1所述的字符嵌入方法,其特征在于,所述多个小字库中的每个小字 库具有对应的UNICODE编码,并具有一个目标字符,所述目标字符具有一种或多种字形,以 及所述每个小字库对应的所述UNICODE编码不同。3. 根据权利要求2所述的字符嵌入方法,其特征在于,在将所述大字库拆分成所述多 个小字库之后,还包括: 将所述多个小字库的文件格式转换为多种嵌入字库格式;以及 将多种所述嵌入字库格式的所述多个小字库部署在所述服务器上,以供所述浏览器识 别所述多个小字库。4. 根据权利要求3所述的字符嵌入方法,其特征在于,所述根据来自浏览器的字符嵌 入请求,在预设的多个小字库中获取目标字符对应的目标小字库,具体包括: 获取所述字符嵌入请求中的目标字库信息,其中,所述目标字库信息包括所述目标小 字库的UNICODE编码、所述目标小字库的所述目标字符的字形、所述目标小字库的字库格 式; 根据所述目标字库信息,在预设的所述多个小字库中确定所述目标小字库。5. 根据权利要求1至4中任一项所述的字符嵌入方法,其特征在于,在所述获取目标字 符对应的目标小字库之后,还包括: 将获取的多个所述目标小字库或获取次数超过预定次数的多个所述目标小字库进行 合并,生成合并小字库,并将所述合并小字库缓存至本地。6. -种字符嵌入系统,其特征在于,包括: 目标小字库获取单元,根据来自浏览器的字符嵌入请求,在预设的多个小字库中获取 所述字符嵌入请求所请求的目标字符对应的目标小字库,其中,所述多个小字库由服务器 中的大字库拆分而成; 字符嵌入单元,将所述目标小字库中的字符嵌入所述浏览器的网页。7. 根据权利要求6所述的字符嵌入系统,其特征在于,所述多个小字库中的每个小字 库具有对应的UNICODE编码,并具有一个目标字符,所述目标字符具有一种或多种字形,以 及所述每个小字库对应的所述UNICODE编码不同。8. 根据权利要求7所述的字符嵌入系统,其特征在于,还包括: 格式转换单元,在将所述大字库拆分成所述多个小字库之后,将所述多个小字库的文 件格式转换为多种嵌入字库格式;以及 小字库部署单元,将多种所述嵌入字库格式的所述多个小字库部署在所述服务器上, 以供所述浏览器识别所述多个小字库。9. 根据权利要求8所述的字符嵌入系统,其特征在于,所述目标小字库获取单元具体 用于: 获取所述字符嵌入请求中的目标字库信息,其中,所述目标字库信息包括所述目标小 字库的UNICODE编码、所述目标小字库的所述目标字符的字形、所述目标小字库的字库格 式,以及根据所述目标字库信息,在预设的所述多个小字库中确定所述目标小字库。10. 根据权利要求6至9中任一项所述的字符嵌入系统,其特征在于,还包括: 小字库合并单元,在所述获取目标字符对应的目标小字库之后,将获取的多个所述目 标小字库或获取次数超过预定次数的多个所述目标小字库进行合并,生成合并小字库,并 将所述合并小字库缓存至本地。11. 一种浏览器,其特征在于,包括如权利要求6至10中任一项所述的字符嵌入系统。12. -种客户端,其特征在于,包括如权利要求6至10中任一项所述的字符嵌入系统。
【文档编号】G06F17/30GK106033453SQ201510116803
【公开日】2016年10月19日
【申请日】2015年3月17日
【发明人】高玉军, 夏立宁, 刘昉, 庄广钰, 王清湍
【申请人】北大方正集团有限公司, 北京北大方正电子有限公司