一种字符更新方法及装置的制造方法_2

文档序号:9249230阅读:来源:国知局
个字符数据的数据块,拆解为单个的字符数据的步骤具体包括:
[0038]AU、解析字库中包括多个字符数据的数据块;该步骤中,通过字符解析工具解析数据块,这里的解析主要是识别数据块中的字符的Unicode。
[0039]A12、在当前解析的数据为字符的Unicode时,提取所述字符的Unicode对应的字符数据。该步骤中,由于glyf数据块是按照字符的Unicode、字符数据这种排列结构进行存储的,因此当解析的数据为字符的Unicode时,直接提取该字符的Unicode后面的字符数据。例如,在glyf数据块中存储有3个字符数据,这3个字符数据对应的字符的Unicode,假设字符的Unicode分别为A、B、C,字符数据分别为X、Y、Z,该glyf存储的结构为:A:X ;B:Y;C:Z,则在解析到“A”时,提取该“A”后面的字符数据“X”;解析到“B”时,提取该“B”后面的字符数据“Y” ;解析到“C”时,提取该“C”后面的字符数据“Z”。
[0040]进一步地,服务器将存储有单个字符数据的的多个文件配置在该服务器的文件下载服务器中,以便客户端从该文件下载服务器中下载存储了字符数据的文件。例如,假设已将glyf数据块中存储的3个字符数据X、Y、Z拆解为单个的字符数据,每个字符数据单独存储在一个文件中,文件的文件名采用存储的字符数据对应的字符的Unicode命名,假设X、Y、Z对应的字符的Unicode为A、B、C,则将字符数据分别单独存储在文件中后,得到文件A、文件B、文件C,最后将得到的文件A、文件B、文件C配置在服务器的文件下载服务器中。
[0041]步骤S12,查找文件名与所述字符的Unicode相同的文件,所述文件用于存储单个字符数据,所述单个字符数据通过将字库存储的字符数据拆解为单个的字符数据得到。
[0042]该步骤中,由于文件是以字符的Unicode命名的,因此在接收到客户端发送的字符更新请求时,可根据该字符更新请求携带的字符的Unicode查找服务器是否存在文件名与该字符的Unicode相同的文件。例如,假设服务器将拆解字符数据得到的文件配置在服务器的文件下载服务器中,则服务器在文件下载服务器查找文件名与客户端发送的字符的Unicode相同的文件。
[0043]作为一优选实施例,若服务器没有查找到文件名与字符的Unicode相同的文件时,则将客户端请求的字符的相关信息添加到服务器中,例如,将字符的Unicode及对应的字符数据添加到glyf中,以便服务器后续将存入的新的字符数据进行拆解,并以文件的格式进行保存。
[0044]进一步地,在服务器对后续存入的新的字符数据进行拆解,并以文件的格式进行保存后,将得到的文件配置在服务器的文件下载服务器中指定的路径。例如,假设服务器将第一次拆解字符数据得到的文件存入文件下载服务器中的“已有字符文件夹”,将第二次及后续拆解字符数据得到的文件存入文件下载服务器中的“更新字符文件夹”中,这样,当客户端再次请求更新字符时,服务器可先在“更新字符文件夹”查找,极大加快查找速度。当然,为了保证“更新字符文件夹”存储的文件为近期更新的文件,则保存在该“更新字符文件夹,,中一段时间后的文件移到“已有字符文件夹”中。其中,“已有字符文件夹”和“更新字符文件夹”可以其他名字进行命名,此处不作限定。
[0045]步骤S13,将查找到的文件发送给客户端,以使所述客户端根据接收的文件中的字符数据更新对应的字符。
[0046]该步骤中,将查找到的文件名与接收的字符的Unicode相同的文件发送给客户端,以便客户端接收服务器发送的文件后更新对应的字符。
[0047]本实施例中,服务器接收到客户端发送的字符更新请求后,查找文件名与字符的Unicode相同的文件,并将查找到的文件发送给客户端,以使客户端根据接收的文件执行相应的字符更新操作。由于服务器只向客户端发送指定的字符组成的文件,不发送客户端本身已有的字符和指定的字符组成的字符包,而指定的字符组成的文件占用的内存很小,因此能够快速响应客户端的请求,且缩短客户端的下载时间。
[0048]实施例二:
[0049]图2示出了本发明第二实施例提供的另一种字符更新方法的流程图,在本实施例中,在客户端预置有一个字符包,该字符包内集成了常用的字符,当客户端接收到新的字符,而该字符不存在预置的字符包内时,客户端将向服务器发送字符更新请求,以便从服务器获取指定的字符后,对其自身已有的字符包进行更新,详述如下:
[0050]步骤S21,获取自定义字符。
[0051]自定义字符:在移动应用或者游戏的开发过程中,为了实现跨平台和显示系统不具备的字体样式,通常会用到自定义的游戏引擎和自定义字符,即发布包内包含了字体库和字体解析引擎。我们把这种集成在包内的可以自己定义的字符称为自定义字符。该步骤中,用户在客户端安装的移动应用或游戏中输入自定义字符后,该客户端获取用户输入的自定义字符以及该自定义字符对应的字符的Unicode。该自定义字符可以为任意的字符。
[0052]作为本发明一优选实施例,在所述获取自定义字符的步骤之后,包括下述步骤:
[0053]判断字符存在字段中是否标识接收的字符已存在预置的字符包中,若是,判定预置的字符包中存在与接收的字符相同的字符,若否,判定预置的字符包中不存在与接收的字符相同的字符;所述字符存在字段设置在字符包中。
[0054]该步骤的字符包内配置了一个字符存在字段,用于描述字符是否存在于该字符包内。例如,在字符存在字段中,采用字符的Unicode表示字符,采用“ I ”或“是”或其他符号表示字符包内存在该字符的Unicode对应的字符,采用“O”或空格或其他符号表示字符包内不存在该字符的Unicode对应的字符。
[0055]步骤S22,在预置的字符包中不存在与获取的自定义字符相同的字符时,发送字符更新请求至服务器,以使所述服务器根据字符的Unicode查找文件名与字符的Unicode相同的文件,所述字符更新请求携带有字符的Unicode,所述文件用于存储单个字符数据,所述单个字符数据通过将字库存储的字符数据拆解为单个的字符数据得到。
[0056]该步骤的预置的字符包内集成了常用的字符,为移动应用或游戏发布出去时预置的,并和安装在客户端的移动应用或游戏配置在客户端上。当客户端判断出获取的自定义字符与预置的字符包集成的所有字符都不相同时,向服务器发送字符更新请求,以使服务器查找存储有相应字符的文件。其中,字符更新请求是通过HTTP协议发送的。
[0057]步骤S23,接收服务器发送的文件,并根据接收的文件中的字符数据更新对应的字符。
[0058]该步骤中,服务器将已拆成独立的文件的字符对应的文件发送给客户端,客户端将接收的文件存储的字符数据添加到预置的字符包内,实现字符的更新。
[0059]进一步地,在所述接收服务器发送的文件,并根据接收的文件中的字符数据更新对应的字符的步骤之后,包括下述步骤:
[0060]读入字符显示引擎,显示接收的字符。
[0061]该步骤的字符显示引擎具备解析字符的描述信息,并呈现解析结果的功能通常为Freetype渲染引擎。在该步骤中,客户端接收到服务器发送的文件后,读入字符显示引擎,字符显示引擎读取并解析字符的描述信息,并根据解析结果显示相应的字符。
[0062]本实施例中,客户端获取自定义字符后,判断预置的字符包中是否存在与获取的自定义字符相同的
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1