CN104281601B - 构建超大字库的方法及装置、字符显示方法及装置 - Google Patents

构建超大字库的方法及装置、字符显示方法及装置 Download PDF

Info

Publication number
CN104281601B
CN104281601B CN201310282313.6A CN201310282313A CN104281601B CN 104281601 B CN104281601 B CN 104281601B CN 201310282313 A CN201310282313 A CN 201310282313A CN 104281601 B CN104281601 B CN 104281601B
Authority
CN
China
Prior art keywords
character
font
super large
library
character library
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
Application number
CN201310282313.6A
Other languages
English (en)
Other versions
CN104281601A (zh
Inventor
夏立宁
唐英敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Original Assignee
Founder Information Industry Holdings Co Ltd
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Founder Information Industry Holdings Co Ltd, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Founder Information Industry Holdings Co Ltd
Priority to CN201310282313.6A priority Critical patent/CN104281601B/zh
Priority to KR1020167001827A priority patent/KR101780905B1/ko
Priority to JP2016522188A priority patent/JP2016533568A/ja
Priority to US14/902,957 priority patent/US10192336B2/en
Priority to PCT/CN2013/088623 priority patent/WO2015000259A1/zh
Publication of CN104281601A publication Critical patent/CN104281601A/zh
Application granted granted Critical
Publication of CN104281601B publication Critical patent/CN104281601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明属于计算机文字输入技术领域,公开了一种构建超大字库的方法及装置、以及一种字符显示方法及装置。所述字符显示方法包括:字体引擎中间件拦截系统字体引擎发送的字体调用消息,所述字体调用消息中包含所述应用程序需要显示的字符对应的字符编码及字体名称;根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据,所述超大字库为非标准格式的字库;将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。利用本发明,不仅提高了字库的容量,而且能够简单方便地识别非标准格式超大字库中的字符,提高字符检索及显示效率。

Description

构建超大字库的方法及装置、字符显示方法及装置
技术领域
本发明属于计算机文字输入技术领域,具体涉及一种构建超大字库的方法及装置、以及一种字符显示方法及装置。
背景技术
在我们通常使用的字库中,字符的个数往往比较少,一般在6千多个,所以放到一个字库文件中不会有任何问题,即使是GBK或18030编码的字库,字符数也就在两三万左右,用一个字库文件来装载和显示都是没有问题的。但有的时候需要使用的字符数可能不止这些,这些字符可能会用于一些特殊领域,这时候需要存放到字库中的字符数可能会超过6万多。由于字库格式本身数据结构的限制,在一个字库中无法存入这么多的字符,即使存入了,可能在显示的时候也会遇到问题。这样就不得不把这些字符分成两部分,分别放到两个甚至更多个字库文件中。虽然微软提供了一种叫做“字体链接”的方法,此方法可以将两个字库链接到一起,例如:字库A和字库B,它们分别存放了一部分字符,当我们选择字体的时候选中了字库A,此时如果我们输入字库B中的字符时,仍然能够通过字体链接的机制使其显示出来。这种方式虽然简单易行,但其有许多不尽人意的地方,尤其是在显示非零平面的字符(零平面的字符就是字符Unicode编码在0x0000–0xFFFF的范围内。0x10000–0x1FFFF为1平面的字符,0x20000 –0x2FFFF为2平面的字符,以此类推)时,有时候无法调用和显示。而且,随着编码字数的增加,需链接字库的数量越来越多,字符检索及显示的效率问题将越来越突出。
发明内容
本发明一方面提供一种构建超大字库的方法及装置,以解决现有技术中由于字库格式中数据结构的限制,使得字库中容纳字符数量受限的问题。
本发明另一方面提供一种字符显示方法及装置,以简单方便地识别非标准格式超大字库中的字符,提高字符检索及显示效率。
为此,本发明提供如下技术方案:
一种构建超大字库的方法,包括:
构建引导字库;
构建非标准格式的超大字库;
建立用于解释所述超大字库的字体引擎中间件。
优选地,所述引导字库只包含基本的ASCII符号。
优选地,所述非标准格式的超大字库编码的字节数为4字节。
优选地,所述非标准格式的超大字库包括:用于存储字符编码和索引对照关系的码表、用于存储索引和字符数据偏移量对照关系的位置信息表、用于存储字符轮廓数据的字形表。
一种字符显示方法,包括:
字体引擎中间件拦截系统字体引擎发送的字体调用消息,所述字体调用消息中包含所述应用程序需要显示的字符对应的字符编码及字体名称;
根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据,所述超大字库为非标准格式的字库;
将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
优选地,所述字体引擎中间件拦截系统字体引擎发送的字体调用消息包括:
所述字体引擎中间件利用钩子函数来拦截字体调用消息,并获得所述字符编码及字体名称。
优选地,所述根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据包括:
根据所述字体名称从所述超大字库中查找字体文件;
根据所述字符编码从查找到的字体文件中获取所述字符编码对应的索引值;
根据所述索引值从字符轮廓数据表中获取所述字符的轮廓数据。
一种构建超大字库的装置,包括:
引导字库构建单元,用于构建引导字库;
超大字库构建单元,用于构建非标准格式的超大字库;
中间件构建单元,用于建立用于解释所述超大字库的字体引擎中间件。
一种字符显示装置,包括:
拦截单元,用于拦截系统字体引擎发送的字体调用消息,所述字体调用消息中包含所述应用程序需要显示的字符对应的字符编码及字体名称;
轮廓数据获取单元,用于根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据,所述超大字库为非标准格式的字库;
传送单元,用于将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
优选地,所述拦截单元,具体用于利用钩子函数来拦截字体调用消息,并获得所述字符编码及字体名称。
优选地,所述轮廓数据获取单元包括:
字体文件查找子单元,用于根据所述字体名称从所述超大字库中查找字体文件;
索引值查找子单元,用于根据所述字符编码从查找到的字体文件中获取所述字符编码对应的索引值;
获取子单元,用于根据所述索引值从字符轮廓数据表中获取所述字符的轮廓数据。
本发明实施例提供的构建超大字库的方法及装置,采用非标准格式的超大字库,从而使其可以容纳更多的字符。同时,为了使系统字体引擎能够识别所述超大字库中的字符,构建相应的字体引擎中间件和引导字库。
基于上述的引导字库及字体引擎中间件,本发明实施例提供的字符显示方法及装置,由字体引擎中间件协助系统字体引擎解释超大字库,并将所需显示的字符相关信息从超大字库中提取出来并按照系统字体引擎所需的信息格式整理好,然后回传给系统字体引擎,最终由系统字体引擎将其显示到用户界面上。从而解决了现有技术通过链接调用方式效率低、不能互相调用不同字库中字符的问题。
利用本发明,不仅提高了字库的容量,而且能够简单方便地识别非标准格式超大字库中的字符,提高字符检索及显示效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例构建超大字库的方法的流程图;
图2是本发明实施例构建超大字库的装置的结构示意图;
图3是现有技术中显示字库中字符的流程图;
图4是本发明实施例字符显示方法的流程图;
图5是本发明实施例字符显示装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
由于目前操作系统中常用的TrueType字库,无法直接构建可用的超过 65535个字符的超大字库,字库格式中的数据结构决定了其无法容纳超过 65535个字符,即使在字库中存放了更多的字符,也无法通过操作系统的字体引擎来调用,甚至会被认为是无效的字库。所以,目前解决此问题的方法大多是采用字体链接的方式,通过将两个或两个以上的字库链接起来以实现显示更多字符的目的。但是此方法仍然有其不完善的地方,例如:目前的操作系统中,含有ISO/IEC10646编码字符集中CJK-ExtB区字符的字库,通过字体链接以后可以录入并显示含有CJK-Ext A区的字库的字符,反过来却不行;或者同时含有ISO/IEC10646编码字符集基本平面和二平面的两个字库通过字体链接后无法互相调用对方二平面的字符,等等。随着编码字数的增加,ISO/IEC10646 编码字符集将会有更多的平面被应用,需链接字库的数量越来越多,字符检索效率问题将越来越突出。
为此,本发明实施例提供了一种构建超大字库的方法及装置,在已有字库格式和显示方式的基础上,建立基于TrueType的可容纳更多字符的超大字库,并针对目前操作系统不支持这种非标准格式的情况,构建字体引擎中间件和引导字库。
相应地,基于这种超大字库,本发明实施例还提供了一种字符显示方法及装置,由字体引擎中间件协助系统字体引擎解释非标准格式的超大字库,并将所需显示的字符相关信息从超大字库中提取出来并按照系统字体引擎所需的信息格式整理好,然后回传给系统字体引擎,最终由系统字体引擎将其显示到用户界面上。
如图1所示,是本发明实施例构建超大字库的方法的流程图,包括以下步骤:
步骤201,构建引导字库。
与现有的标准格式的字库相比,所述引导字库可以是标准格式的字库,但其只包含基本的ASCII符号,并不包含真正的汉字字符。
步骤202,构建非标准格式的超大字库。
在组织超大字库的时候,由于字符数量很庞大,标准的字库组织格式无法容纳,所以以一种非标准的字库格式来存储。也就是说,所述超大字库是一种非标准格式的字库。具体地,可以在现有的标准格式之上做一些修改,比如:编码的字节数由2字节变成4字节,这样原来最多只能存储 0xFFFF个字符,现在则可以存储0xFFFFFFFF个字符,满足了超大字库的需求。
每个字体厂商或个人可以根据需要,将需要加入字库的字符组织成字库。由于字符数目的关系,可以不完全按照字库标准格式来组织,在解释的时候会由专用的字体引擎来进行解释。
非标准格式的超大字库主要包括:用于存储字符编码和索引对照关系的码表,用于存储索引和字符数据偏移量对照关系的位置信息表,用于存储字符轮廓数据的字形表等。相对于现有的标准字库,在超大字库中对编码和索引以及偏移量进行改进,扩大了其范围,使得超大字库能够存储更多的字符。
步骤203,建立用于解释所述超大字库的字体引擎中间件。
由于只有标准格式的字库才能直接被系统字体引擎所解释,非标准格式的字库会被系统字体引擎认为是无效字体。因此,为了能够识别所述超大字库中的字符,在本发明实施例中,建立字体引擎中间件,以使所述系统字体引擎通过调用所述字体引擎中间件,使其协助系统字体引擎解释超大字库,并将所需显示的字符相关信息从超大字库中提取出来,然后按照系统字体引擎所需的信息格式整理好,传给系统字体引擎,最终由系统字体引擎将其显示到用户界面上。
本发明实施例中所述的超大字库特别适用于需要在一个字库中存放超过6万多字符的公司和个人。
可见,利用本发明实施例的方法,可以提高现有字库的容量,方便用户对不同字符的使用需求。
相应地,本发明实施例还提供一种构建超大字库的装置,如图2所示,是该装置的一种结构示意图。
在该实施例中,所述装置200包括:引导字库构建单元201,超大字库构建单元202和中间件构建单元203。其中:
引导字库构建单元201,用于构建引导字库;
超大字库构建单元202,用于构建非标准格式的超大字库;
中间件构建单元203,用于建立用于解释所述超大字库的字体引擎中间件。
相应地,基于上述这种非标准格式的超大字库,本发明实施例还提供了一种字符显示方法。为了使本技术领域的人员更好地理解本发明实施例的方案、以及本发明实施例的方案与现有技术的区别,下面首先对现有技术中字符显示的流程进行简要说明。
如图3所示,是现有技术中显示字库中字符的流程图,包括以下步骤:
步骤301,应用程序需要显示某个字符时,将该字符对应的字符编码以及字体名称传给系统字体引擎。
步骤302,系统字体引擎根据所述字体名称查找字体文件。
步骤303,系统字体引擎根据所述字符编码在查找到的字体文件中查找所述字符。
具体根据字库文件中的编码索引对照表查找。
步骤304,如果在所述字体文件中找到所述字符,则根据对应的索引值到字符轮廓数据表中获取该字符的轮廓数据。
步骤305,系统字体引擎根据获取到的轮廓数据显示所述字符。
由于上述这种超大字库的存储范围超过了标准范围,目前操作系统不支持这种非标准格式的超大字库,为此,本发明实施例提供的字符显示方法,由系统字体引擎调用字体引擎中间件,简单方便地实现对超大字库中字符的检索及显示,并大大提高字符显示效率。
如图4所示,是本发明实施例字符显示方法的流程图,包括以下步骤:
步骤401,字体引擎中间件拦截系统字体引擎向引导字库发送的字体调用消息,所述字体调用消息中包含所述应用程序需要显示的字符对应的字符编码及字体名称。
具体地,所述字体引擎中间件可以利用WINDOWS的钩子函数来拦截字体调用消息,并获得所述字符编码及字体名称。利用钩子函数既可以截获 windows中的消息,也可以截获函数的调用,包括应用程序对函数的调用和系统对函数的调用。
步骤402,所述字体引擎中间件根据所述字符编码及字体名称从非标准格式的超大字库中获取对应所述字符的轮廓数据。
与现有的标准格式的字库相比,所述超大字库中可以容纳更多的字符编码信息及轮廓数据信息。
在具体实现时,可以在引导字库和超大字库之间建立一个一一对应的关系,将该对应关系引入字体引擎中间件中,当字体引擎中间件得知系统字体引擎要调用引导字库时,就可以根据该对应关系将系统字体引擎对引导字库的读取转向对超大字库的读取。
字体引擎中间件从超大字库中获取轮廓数据的过程与现有的系统字体引擎从引导字库中获取轮廓数据的过程类似,首先根据截获的字体名称确定需要读取的字体文件,然后根据截获的字符编码、以及所述字体文件中CMAP表(字符编码和索引对照表)来获取该字符编码所对应的索引,然后再根据该索引到LOCA表中查找该索引所对应的字符在GLFY表中的偏移量,有了这个偏移量,就可以直接在GLYF表中读取字形轮廓数据,所有字符的字形轮廓数据都存储在GLYF表中。
需要说明的是,上述CMAP表、LOCA表和GLFY表与现有技术的字库中的相应表类似,在此不再详细描述。
步骤403,将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
本发明实施例字符显示方法,利用字体引擎中间件拦截系统字体引擎向引导字库发送的字体调用消息,从而将系统字体引擎对引导字库的读取转为由字体引擎中间件对超大字库的读取,读取完毕将得到的字形轮廓数据返回给系统字体引擎,从而简单方便地实现对超大字库中字符的检索及显示,并大大提高字符显示效率。而且在应用层上看来,感觉也是系统字体引擎自己进行读取,不会影响用户体验。
相应地,本发明实施例还提供一种字符显示装置,如图5所示,是该装置的一种结构示意图。
在该实施例中,所述装置包括:
拦截单元501,用于拦截系统字体引擎发送的字体调用消息,所述字体调用消息中包含所述应用程序需要显示的字符对应的字符编码及字体名称;
轮廓数据获取单元502,用于根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据,所述超大字库为非标准格式的字库;
传送单元503,用于将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
所述超大字库与现有的标准格式的字库相比,可以容纳更多的字符编码信息及轮廓数据信息,其具体内容与标准格式的字库类似,在前面已有详细说明,在此不再赘 述。
在实际应用中,所述拦截单元501可以利用钩子函数来拦截字体调用消息,并获得所述字符编码及字体名称。
所述轮廓数据获取单元502包括:字体文件查找子单元、索引值查找子单元和获取子单元(未图示)。其中:
所述字体文件查找子单元,用于根据所述字体名称从所述超大字库中查找字体文件;
所述索引值查找子单元,用于根据所述字符编码从查找到的字体文件中获取所述字符编码对应的索引值;
所述获取子单元,用于根据所述索引值从字符轮廓数据表中获取所述字符的轮廓数据。
本发明实施例字符显示装置,通过拦截系统字体引擎向引导字库发送的字体调用消息,从而将系统字体引擎对引导字库的读取转为由字体引擎中间件对超大字库的读取,读取完毕将得到的字形轮廓数据返回给系统字体引擎,从而简单方便地实现对超大字库中字符的检索及显示,并大大提高字符显示效率。而且在应用层上看来,感觉也是系统字体引擎自己进行读取,不会影响用户体验。
需要说明的是,本发明实施例字符显示方法及装置,可以应用于各种不同应用程序,满足应用程序对字符显示的多种需求,并且效率高、速度快。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种构建超大字库的方法,其特征在于,包括:
构建引导字库;
构建非标准格式的超大字库,所述超大字库超过65535个字符,所述非标准格式的超大字库不能被系统字体引擎所解释;
建立用于解释所述超大字库的字体引擎中间件,其中,所述字体引擎中间件用于:
拦截系统字体引擎向引导字库发送的字体调用消息,所述字体调用消息中包含应用程序需要显示的字符对应的字符编码及字体名称;
根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据;以及
将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
2.根据权利要求1所述的方法,其特征在于,所述引导字库只包含基本的ASCII符号。
3.根据权利要求1或2所述的方法,其特征在于,所述非标准格式的超大字库编码的字节数为4字节。
4.根据权利要求3所述的方法,其特征在于,所述非标准格式的超大字库包括:用于存储字符编码和索引对照关系的码表、用于存储索引和字符数据偏移量对照关系的位置信息表、用于存储字符轮廓数据的字形表。
5.一种字符显示方法,其特征在于,包括:
字体引擎中间件拦截系统字体引擎发送的字体调用消息,所述字体调用消息中包含应用程序需要显示的字符对应的字符编码及字体名称;
根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据,所述超大字库为非标准格式的字库,所述超大字库超过65535个字符,所述非标准格式的超大字库不能被系统字体引擎所解释;
将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
6.根据权利要求5所述的方法,其特征在于,所述字体引擎中间件拦截系统字体引擎发送的字体调用消息包括:
所述字体引擎中间件利用钩子函数来拦截字体调用消息,并获得所述字符编码及字体名称。
7.根据权利要求5或6所述的方法,其特征在于,所述根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据包括:
根据所述字体名称从所述超大字库中查找字体文件;
根据所述字符编码从查找到的字体文件中获取所述字符编码对应的索引值;
根据所述索引值从字符轮廓数据表中获取所述字符的轮廓数据。
8.一种构建超大字库的装置,其特征在于,包括:
引导字库构建单元,用于构建引导字库;
超大字库构建单元,用于构建非标准格式的超大字库,所述超大字库超过65535个字符,所述非标准格式的超大字库不能被系统字体引擎所解释;
中间件构建单元,用于建立用于解释所述超大字库的字体引擎中间件,其中,所述字体引擎中间件用于:
拦截系统字体引擎向引导字库发送的字体调用消息,所述字体调用消息中包含应用程序需要显示的字符对应的字符编码及字体名称;
根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据;以及
将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
9.一种字符显示装置,其特征在于,包括:
拦截单元,用于拦截系统字体引擎发送的字体调用消息,所述字体调用消息中包含应用程序需要显示的字符对应的字符编码及字体名称;
轮廓数据获取单元,用于根据所述字符编码及字体名称从超大字库中获取对应所述字符的轮廓数据,所述超大字库为非标准格式的字库,所述超大字库超过65535个字符,所述非标准格式的超大字库不能被系统字体引擎所解释;
传送单元,用于将所述字符的轮廓数据返回给所述系统字体引擎,以使所述系统字体引擎根据所述字符轮廓数据显示所述字符。
10.根据权利要求9所述的装置,其特征在于,
所述拦截单元,具体用于利用钩子函数来拦截字体调用消息,并获得所述字符编码及字体名称。
11.根据权利要求9或10所述的装置,其特征在于,所述轮廓数据获取单元包括:
字体文件查找子单元,用于根据所述字体名称从所述超大字库中查找字体文件;
索引值查找子单元,用于根据所述字符编码从查找到的字体文件中获取所述字符编码对应的索引值;
获取子单元,用于根据所述索引值从字符轮廓数据表中获取所述字符的轮廓数据。
CN201310282313.6A 2013-07-05 2013-07-05 构建超大字库的方法及装置、字符显示方法及装置 Active CN104281601B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201310282313.6A CN104281601B (zh) 2013-07-05 2013-07-05 构建超大字库的方法及装置、字符显示方法及装置
KR1020167001827A KR101780905B1 (ko) 2013-07-05 2013-12-05 거대 문자 라이브러리 설정 방법 및 장치와 문자 디스플레이 방법 및 장치
JP2016522188A JP2016533568A (ja) 2013-07-05 2013-12-05 超特大文字ライブラリを確立する方法と装置および文字を表示する方法と装置
US14/902,957 US10192336B2 (en) 2013-07-05 2013-12-05 Method and apparatus for establishing ultra-large character library and method and apparatus for displaying character
PCT/CN2013/088623 WO2015000259A1 (zh) 2013-07-05 2013-12-05 构建超大字库的方法及装置、字符显示方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310282313.6A CN104281601B (zh) 2013-07-05 2013-07-05 构建超大字库的方法及装置、字符显示方法及装置

Publications (2)

Publication Number Publication Date
CN104281601A CN104281601A (zh) 2015-01-14
CN104281601B true CN104281601B (zh) 2018-09-25

Family

ID=52143062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310282313.6A Active CN104281601B (zh) 2013-07-05 2013-07-05 构建超大字库的方法及装置、字符显示方法及装置

Country Status (5)

Country Link
US (1) US10192336B2 (zh)
JP (1) JP2016533568A (zh)
KR (1) KR101780905B1 (zh)
CN (1) CN104281601B (zh)
WO (1) WO2015000259A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10577542B2 (en) * 2013-02-19 2020-03-03 Baker Hughes, A Ge Company, Llc Low viscosity metal-based hydrogen sulfide scavengers
CN106803904A (zh) * 2016-11-24 2017-06-06 德为显示科技股份有限公司 一种液晶显示器osd显示方法及系统
CN106802800A (zh) * 2016-12-30 2017-06-06 深圳芯智汇科技有限公司 图形界面的生成方法及显示设备
CN109240628A (zh) * 2018-08-05 2019-01-18 深圳市技达信息技术有限公司 计算字符、字符串等的显示宽高的方法、装置及计算机可读存储介质
CN110704396A (zh) * 2019-09-26 2020-01-17 中国人民解放军军事科学院军事医学研究院 毒物信息库的建立方法、信息检索方法、装置及电子设备
CN110826005B (zh) * 2019-11-13 2022-12-16 北大方正集团有限公司 文件生成方法、装置、电子设备及存储介质
CN113850050B (zh) * 2020-06-28 2022-09-23 荣耀终端有限公司 字符显示方法、字符显示装置及终端设备
CN116306498B (zh) * 2023-05-16 2023-09-12 福昕鲲鹏(北京)信息科技有限公司 文字渲染方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134157A (ja) * 1995-11-09 1997-05-20 Fujitsu Ltd ヒント付け方法及びフォントファイル構成方法
JP3917343B2 (ja) 2000-02-25 2007-05-23 株式会社東芝 マルチプラットフォーム環境における文字コード変換方式および文字コード変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US7900143B2 (en) * 2000-12-27 2011-03-01 Intel Corporation Large character set browser
CN101241505B (zh) * 2008-02-01 2013-08-21 张建中 一种生成、部署和运行多维地址可扩展关联标记语言的方法和装置以及系统
CN101488125B (zh) * 2008-12-04 2015-03-25 洛藏 一种藏文编码的方法及终端
CN101694603B (zh) 2009-10-20 2011-09-07 中央民族大学 基于Unicode的跨平台蒙古文显示及智能输入方法
US20130181995A1 (en) * 2010-09-21 2013-07-18 Hewlett-Packard Developement Company, L.P. Handwritten character font library
JP5736912B2 (ja) * 2011-04-01 2015-06-17 セイコーエプソン株式会社 記録制御装置、記録システム、記録制御装置の制御方法、及び、プログラム
CN102571323A (zh) * 2011-12-31 2012-07-11 深圳市永达电子股份有限公司 非标准字符库处理方法和装置以及引用该方法和装置的系统

Also Published As

Publication number Publication date
US20160180563A1 (en) 2016-06-23
KR101780905B1 (ko) 2017-09-21
US10192336B2 (en) 2019-01-29
JP2016533568A (ja) 2016-10-27
KR20160023832A (ko) 2016-03-03
CN104281601A (zh) 2015-01-14
WO2015000259A1 (zh) 2015-01-08

Similar Documents

Publication Publication Date Title
CN104281601B (zh) 构建超大字库的方法及装置、字符显示方法及装置
CN103268730B (zh) 在电子地图界面上显示关联标注点的方法和装置
CN109947770A (zh) 一种数据库查询方法、终端设备及存储介质
CN110442330A (zh) 列表组件转换方法、装置、电子设备及存储介质
CN107566090B (zh) 一种定长/变长的文本报文处理方法及装置
CN102622444A (zh) 一种xml报文处理方法和装置
CN110427586A (zh) 一种页面显示方法、装置、设备及存储介质
CN107798035A (zh) 一种数据处理方法及终端
CN110019649A (zh) 一种建立、搜索索引树的方法及装置
CN103778128A (zh) 一种列表信息的绘制方法和装置
CN108363703A (zh) 前端应用的多语言解决方法、存储介质
CN102999602A (zh) 一种数据解析方法和数据解析系统
CN113868252A (zh) 数据库模式匹配方法及装置、sql查询语句生成方法
CN103544036A (zh) 页面加载方法、终端及系统
US20020174099A1 (en) Minimal identification
CN103559243A (zh) 一种在移动设备中基于标签搜索用户的方法及系统
CN110221778A (zh) 酒店数据的处理方法、系统、存储介质以及电子设备
CN102760212B (zh) 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法
CN109241164A (zh) 一种数据处理方法、装置、服务器及存储介质
CN109800273A (zh) 一种数据处理的方法、装置、计算机存储介质及终端
CN104618490A (zh) 医疗系统中通讯终端的数据共享方法及系统
CN112698825B (zh) 编程积木块转换方法、装置、处理设备及存储介质
CN113742529A (zh) 一种多笔表格前端处理方法及装置
CN104053135B (zh) 一种实现非结构化补充数据业务的方法及装置
CN105740272B (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 5 floor

Patentee after: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee after: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 5 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: FOUNDER INFORMATION INDUSTRY HOLDINGS Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220913

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 5 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.