WO2011130963A1 - 一种用户界面字体渲染方法及装置 - Google Patents
一种用户界面字体渲染方法及装置 Download PDFInfo
- Publication number
- WO2011130963A1 WO2011130963A1 PCT/CN2010/075322 CN2010075322W WO2011130963A1 WO 2011130963 A1 WO2011130963 A1 WO 2011130963A1 CN 2010075322 W CN2010075322 W CN 2010075322W WO 2011130963 A1 WO2011130963 A1 WO 2011130963A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- font
- cache
- rendered
- cache table
- user interface
- Prior art date
Links
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/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Definitions
- the invention belongs to the technical field of mobile phone user interface (UI), and in particular relates to a user interface font rendering method and device.
- UI mobile phone user interface
- the mobile user interface also known as the human machine interface (MMI)
- MMI human machine interface
- UI design refers to the overall design of the human-computer interaction, operation logic and beautiful interface of the software. A good UI design not only makes the mobile phone more personal and tasteful, but also makes the operation of the mobile phone comfortable, simple and free, fully reflecting the positioning and characteristics of the mobile phone.
- Mobile phone graphical interface rendering engine Different from the general 2D or 3D graphics rendering engine, it not only requires the rendering of a more beautiful graphic interface, but also requires higher rendering efficiency and minimizes the use of system resources.
- the phone font rendering engine is part of the phone's graphical interface rendering engine and is responsible for drawing all fonts.
- mobile font rendering is often the slowest, and the efficiency is often the lowest, which makes the interface that requires a lot of font rendering very poor. Summary of the invention
- the technical problem to be solved by the present invention is to provide a highly efficient user interface font rendering method and apparatus.
- a user interface font rendering method comprising:
- the font cache table is a hash list, and each node of the hash list includes text information and a cache bitmap;
- the text information is used to determine whether the font to be rendered and the font cached in the font cache table are consistent; the cache bitmap is used to render the font.
- the method also includes: caching a font not found in the font cache table into the font cache table.
- the establishing a font cache table, and caching the fonts that need to be rendered include:
- Setting the properties of the memory including setting the background color to black, setting the font color, and the font format;
- the phone platform font drawing interface is invoked to draw the font onto the memory.
- the method further includes: if the finding of the font to be rendered fails, buffering the font to be rendered into the font cache table, and returning the font to be rendered.
- a user interface font rendering device comprising: a font cache module, a font search module, and a font rendering module;
- the font cache module stores a font cache table for buffering a font to be rendered;
- the font search module is configured to search for and return a font to be rendered in the font cache table;
- the font rendering module is configured to render the font that needs to be rendered.
- the font cache table is a hash list, and each node of the hash list includes text information and a cache bitmap;
- the text information is used to determine whether the font to be rendered and the font cached in the font cache table are consistent; the cache bitmap is used to render the font.
- the font caching module is further configured to slow down fonts that are not found in the font cache table. Saved to the font cache table.
- font cache module When the font cache module performs font caching, it is specifically used to:
- Setting the properties of the memory including setting the background color to black, setting the font color, and the font format;
- the phone platform font drawing interface is invoked to draw the font onto the memory.
- the apparatus also includes a font cache table maintenance module for maintaining the font cache table.
- a font cache table maintenance module for maintaining the font cache table.
- the invention pre-caches the fonts to be rendered by establishing a font cache table, thereby significantly improving the rendering efficiency of the user interface fonts, especially the dynamic UI (such as sliding of the user interface, dragging of icons) containing a large number of font renderings. The degree is not reduced by a large number of font renderings.
- the present invention also proposes a font supplementing scheme and a maintenance scheme of the font cache table, so that the present invention has more practical value.
- FIG. 1 is a schematic flow chart of the method of the present invention in a specific embodiment
- Figure 2 is a schematic diagram of a font cache table
- FIG. 3 is a flow chart of a cache font search in the method of the present invention.
- Figure 4 is a schematic view showing the structure of the apparatus of the present invention in a specific embodiment. detailed description
- AMC engine Adobe Mobile Client
- Arena platform a mobile phone development platform
- FIG. 1 is a schematic flowchart of a method of the present invention in a specific embodiment.
- the user interface font rendering method of the present invention specifically includes the following steps:
- step B in the font cache table to find the font to be rendered, if found, go to step C; if not found, go to step D;
- step C return the font that needs to be rendered, that is, return the corresponding cache bitmap in the font cache table, and proceed to step E;
- step D calling the mobile platform font drawing interface to save the font that is not found in the font cache table to be cached in the corresponding position in the font cache table, and returning the cache bitmap, proceeds to step E;
- the font platform of the mobile platform may be called to draw the font to be rendered, and then the font is rendered and the font is cached. Go to the font cache table.
- the font caching process of step D includes:
- Dl generates a memory associated with the font, that is, the frame buffer of the memory is the same memory as the data area of the font;
- D2 set various properties of the memory, including setting the background color to black, setting the font color, and the font format;
- step E the font rendering process is a copying process of the cache bitmap. For each pixel of the font cached bitmap, do the following: Step E1, if the RGB value of the pixel pixel is zero, then return, otherwise proceed to step 402; Step E2, calculate the corresponding pixel p of the pixel pixel in the screen frame buffer, and copy the RGB value of the pixel to the pixel p.
- the font cache table CASHER_TABLE is the data structure of the cached rendered font. It is a hashed list.
- the font cache table CASHER_TABLE consists of an index array and a cache node TextCasher. As shown in Figure 2, each cache node TextCasher consists of two parts: Text message and cache bitmap.
- the text information stores the text encoding, font name, font size, font color, and output rectangle range. It is the basis for judging whether the currently required font is consistent with the font cached in the font cache table.
- the cache bitmap stores the font of the text, and the cache bitmap is used to render the font.
- the cache node TextCasher is defined as follows:
- the font cache table CASHER_TABLE is defined as follows:
- FIG. 3 is a flow chart of cache font search, the specific steps are as follows:
- Step 101 Using the encoding of the text, the font name, the font size, and the font color, using the function ComputeHashID ( ) to calculate the hash index value id;
- Step 102 if m_tcTable[id] is equal to 0, indicating that there is no cache node TextCasher at the hash index value id, then proceeds to step 103, otherwise proceeds to step 104;
- Step 103 Add a cache node TextCasher at m-tcTable[id], and enter the step.
- Step 104 searching for the linked list pointed to by m-tcTable[id], if the cache node of the rendering font exists, returning the pointer of the cache node, proceeding to step 107; otherwise returning the pointer of the last cache node of the linked list, proceeding to step 105;
- Step 105 adding a cache node TextCasher after the pointed cache node, proceeds to step 106;
- Step 106 save the font to be rendered to the pointing cache node TextCasher, and return the pointer of the node, proceeds to step 107;
- Step 107 Render the cache bitmap in the corresponding cache node TextCasher.
- the font cache table needs to be maintained, as follows:
- Step 201 Find a font cache table, if the cache font is found, save the number of searches required to find the font in the variable temp_step, and put the value of access num to 1;
- Step 202 Calculate the average number of searches according to the following method: avg—step:
- Avg_step (avg_step*(access_num-l)+temp_step)/access_num;
- Step 203 If avg_step is greater than the threshold s, the font cache table is cleared, and access_num and avg_step are reset to zero.
- the average number of lookups can be kept below the threshold s by the above method.
- the user interface font rendering apparatus of the present invention includes a font search module, a font cache module, a font rendering module, and a font cache table maintenance module.
- the font cache module stores a font cache table, and the font cache table is used to cache fonts that need to be rendered.
- the font cache table CASHER_TABLE is the data structure of the cached rendered font,
- a hash list, font cache table CASHER_TABLE consists of an index array and a cache node TextCasher, each cache node TextCasher consists of two parts: text information and cache bitmap.
- the text information stores the text encoding, font name, font size, font color, and output rectangle range, which is the basis for judging whether the font to be rendered and the font cached in the font cache table are consistent.
- the cache bitmap stores the font of the text, and the cache bitmap is used to render the font.
- the cache font lookup module is used to find the position of the font to be rendered in the font cache table CASHER_TABLE.
- the font cache module is further configured to cache the fonts not found in the font cache table into the font cache table, and call the mobile platform font drawing interface to cache the fonts not found in the font cache table into the font cache table CASHER_TABLE.
- the specific implementation steps are the same as those in the method, and are not described here.
- the font cache module caches the font to be rendered into the font cache table by the above scheme, and returns the font to be rendered for execution by the font rendering module.
- the black RGB RGB represents three components of the computer graphics color, namely, red, green, and blue
- the font color is not black
- the function of the cache bitmap is a mask. Whether the pixel point is the font portion or the rest of the background portion by whether the RGB value of each pixel is zero or not, the present invention also uses such a cached bitmap with mask function.
- a mask bitmap called a text.
- the mask bitmap is a cache bitmap in which the saved bitmap is a text shape.
- the main function of the font rendering module is to efficiently render fonts using cached bitmaps of the corresponding fonts in the font cache table.
- the font cache table maintenance module is used to maintain the font cache table to improve the efficiency of the search and prevent the font cache table from occupying too much memory.
- the specific font cache table maintenance scheme and method The description in the description will not be repeated here.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Controls And Circuits For Display Device (AREA)
- Record Information Processing For Printing (AREA)
Abstract
本发明公开了一种用户界面字体渲染方法及装置,均可建立字体缓存表,对需要渲染的字体进行缓存;在所述字体缓存表中查找并返回需要渲染的字体;将所述查找到的需要渲染的字体渲染出来。本发明方法及装置,通过建立字体缓存表,将需要渲染的字体进行预先缓存,从而能够显著提高用户界面字体渲染效率,特别使得包含大量字体渲染的动态用户界面(如用户界面的滑动,图标的拖动)的流畅程度不会因为大量字体渲染而降低。并且本发明还提出了字体缓存表的字体补充方案和维护方案,使本发明更具有实用价值。
Description
一种用户界面字体渲染方法及装置 技术领域
本发明属于手机用户界面 (UI )技术领域, 尤其涉及一种用户界面字 体渲染方法及装置。 背景技术
手机用户界面又称作人机界面(MMI ), 它负责和用户的交互, 在必要 的时候调用其它模块的功能。 UI设计则是指对软件的人机交互、操作逻辑、 界面美观的整体设计。 好的 UI设计不仅让手机变得有个性有品味, 还让手 机的操作变得舒适、 简单、 自由, 充分体现手机的定位和特点。
手机 UI开发的核心是手机图形界面渲染引擎。 手机图形界面渲染引擎 不同于一般的二维或三维图形渲染引擎, 不仅要求能够渲染出更精美的图 形界面, 还要求渲染的效率能够更高, 对系统资源的占用尽量低。
手机字体渲染引擎是手机图形界面渲染引擎的一部分, 负责所有字体 的绘制。 在手机图形界面渲染引擎中, 手机字体渲染的速度往往是最慢的, 效率往往是最低的, 这使得需要大量字体渲染的界面流畅程度非常差。 发明内容
本发明要解决的技术问题是提供一种效率较高的用户界面字体渲染方 法及装置。
为解决上述技术问题, 本发明的技术方案是这样实现的:
一种用户界面字体渲染方法, 该方法包括:
建立字体緩存表, 对需要渲染的字体进行緩存;
在所述字体緩存表中查找并返回需要渲染的字体;
将所述查找到的需要渲染的字体渲染出来。
所述字体緩存表为哈希链表, 所述哈希链表的每个节点包括文字信息 和緩存位图;
其中, 所述文字信息用于判断所述需要渲染的字体和緩存在所述字体 緩存表中的字体是否一致; 所述緩存位图用于渲染所述字体。
该方法还包括: 将未在所述字体緩存表中查找到的字体緩存到所述字 体緩存表中。
所述建立字体緩存表, 对需要渲染的字体进行緩存包括:
生成一个与需要緩存的字体相关联的内存;
设置所述内存的属性, 包括设置背景色为黑色, 设置字体颜色以及字 体格式;
调用手机平台字体绘制接口将所述字体绘制到所述内存上。
该方法进一步包括: 若所述查找所述需要渲染的字体失败, 则将所述 需要渲染的字体緩存到所述字体緩存表中, 同时返回所述需要渲染的字体。
一种用户界面字体渲染装置, 该装置包括: 字体緩存模块、 字体查找 模块和字体渲染模块; 其中,
所述字体緩存模块, 存放有字体緩存表, 用于緩存需要渲染的字体; 所述字体查找模块, 用于在所述字体緩存表中查找并返回需要渲染的 字体;
所述字体渲染模块, 用于将所述需要渲染的字体渲染出来。
所述字体緩存表为哈希链表, 所述哈希链表的每个节点包括文字信息 和緩存位图;
其中, 所述文字信息用于判断所述需要渲染的字体和緩存在所述字体 緩存表中的字体是否一致; 所述緩存位图用于渲染所述字体。
所述字体緩存模块, 还用于将未在所述字体緩存表中查找到的字体緩
存到所述字体緩存表中。
所述字体緩存模块进行字体緩存时, 具体用于:
生成一个与需要緩存的字体相关联的内存;
设置所述内存的属性, 包括设置背景色为黑色, 设置字体颜色以及字 体格式;
调用手机平台字体绘制接口把所述字体绘制到所述内存上。
该装置还包括字体緩存表维护模块, 用于对所述字体緩存表进行维护。 本发明的有益效果为:
本发明通过建立字体緩存表, 将需要渲染的字体进行预先緩存, 从而 能够显著提高用户界面字体渲染效率, 特别使得包含大量字体渲染的动态 UI (如用户界面的滑动, 图标的拖动) 的流畅程度不会因为大量字体渲染 而降低。 并且本发明还提出了字体緩存表的字体补充方案和维护方案, 使 本发明更具有实用价值。 附图说明
图 1为一个具体实施例的本发明方法流程示意图;
图 2为字体緩存表示意图;
图 3为本发明方法中緩存字体查找流程图;
图 4为一个具体实施例的本发明装置结构示意图。 具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
为了使本发明的目的、 技术方案及优点更加清晰明白, 以下结合附图 及实施例, 对本发明做进一步的详细说明。 应当理解, 此处所描述的具体 实施方案利用 AMC引擎( Adobe Mobile Client )作为图形引擎,并且在 Arena 平台 (一种手机开发平台)上实现, 用于解释本发明, 并不用于限定本发
明。 所述 AMC引擎为 Adobe公司的手机图形引擎。
图 1 为一个具体实施例的本发明方法流程示意图, 如图所示, 本发明 用户界面字体渲染方法具体包括如下步骤:
A、 建立字体緩存表, 将需要渲染的字体即文字的形状存储在字体緩存 表中;
B、 在字体緩存表中查找需要渲染的字体, 若找到则进入步骤 C; 若未 找到, 则进入步骤 D;
C、 返回需要渲染的字体, 即返回在字体緩存表中对应的緩存位图, 进 入步骤 E;
D、调用手机平台字体绘制接口把未在字体緩存表中查找到的需要渲染 的字体保存到字体緩存表中相应位置的緩存位图中, 并返回这个緩存位图, 进入步骤 E;
E、 利用该緩存位图绘制文字, 即把需要渲染的字体渲染出来。
本发明方法在具体实现时, 若在字体緩存表中未查找到需要渲染的字 体, 也可调用手机平台字体绘制接口把需要渲染的字体绘制出来, 然后对 该字体进行渲染, 同时将该字体緩存到字体緩存表中。
其中, 步骤 D的字体緩存过程包括:
Dl、 生成一个与字体相关联的内存, 也就是让这个内存的帧緩冲区同 字体的数据区是同一块内存;
D2、 设置内存的各种属性, 包括设置背景色为黑色, 设置字体颜色以 及字体格式;
D3、 调用手机平台字体绘制接口把文字绘制到上述内存上, 也就是把 文字的字体保存在上述内存中, 实现以緩存位图来描绘字体。
步骤 E中, 字体渲染过程是一个緩存位图的拷贝过程, 对于字体的緩 存位图的每一个像素 pixel, 做如下操作:
步骤 El、 如果像素 pixel的 RGB值为零, 则返回, 否则进入步骤 402; 步骤 E2、 计算像素 pixel在屏幕帧緩冲区中对应的像素 p, 把 pixel的 RGB值拷贝到像素 p。
字体緩存表 CASHER— TABLE是緩存渲染字体的数据结构, 是一个哈 希链表, 字体緩存表 CASHER— TABLE 由索引数组和緩存节点 TextCasher 构成, 如图 2所示, 每一个緩存节点 TextCasher包括两部分: 文字信息和 緩存位图。 文字信息存放了文字的编码、 字体名称、 字体大小、 字体颜色 以及输出矩形范围, 是判断当前需要渲染的字体和緩存在字体緩存表中的 字体是否一致的依据。 緩存位图存放了文字的字体, 緩存位图用于渲染字 体。
緩存节点 TextCasher的定义如下:
typedef struct— TextCasher
{
AMTextlnfo textlnfo;
BITMAP mbp;
struct— TextCasher*next;
} TextCasher;
字体緩存表 CASHER— TABLE定义如下:
#defme HASH— TABLE— LENGTH 1000
TextCasher*m_tcTable [HASH— TABLE— LENGTH];
图 3是緩存字体查找的流程图, 具体步骤如下:
步骤 101、 利用文字的编码、 字体名称、 字体大小、 字体颜色, 利用函 数 ComputeHashID ( )计算出哈希索引值 id;
步骤 102、 如果 m— tcTable[id]等于 0, 表示哈希索引值 id处没有緩存节 点 TextCasher, 则进入步骤 103 , 否则进入步骤 104;
步骤 103、 在 m—tcTable[id]处添加一个緩存节点 TextCasher, 进入步骤
步骤 104、 查找 m— tcTable[id]指向的链表, 若需渲染字体的緩存节点存 在, 返回该緩存节点的指针, 进入步骤 107; 否则返回该链表最后一个緩存 节点的指针, 进入步骤 105 ;
步骤 105、 在指向的緩存节点之后添加一个緩存节点 TextCasher, 进入 步骤 106;
步骤 106、把需要渲染的字体保存到指向的緩存节点 TextCasher中, 并 返回该节点的指针, 进入步骤 107;
步骤 107、 把相应緩存节点 TextCasher中的緩存位图渲染出来。
为了提高查找的效率并且不让字体緩存表占据过多的内存, 需要对字 体緩存表进行维护, 具体方法如下:
定义变量: access— num, 代表查找次数; avg— step, 代表平均查找次数。 步骤 201、 查找字体緩存表, 若找到緩存字体, 则把找到字体所需的查 找次数保存在变量 temp— step中, 并且把 access num的值力口 1;
步骤 202、 按照下列方法计算平均查找次数 avg— step:
avg_step=(avg_step*(access_num-l)+temp_step)/access_num;
步骤 203、 如果 avg— step 大于阀值 s , 则清空字体緩存表, 同时 access— num和 avg— step重置为零。
通过上述方法可以让平均查找次数保持小于阀值 s。阀值 S为预先设定 的平均查找次数阀值, 可根据实际情况设定, 本实施例设定 s=3。
图 4为一个具体实施例的本发明装置结构示意图, 如图所示, 本发明 用户界面字体渲染装置包括字体查找模块、 字体緩存模块、 字体渲染模块 和字体緩存表维护模块。
其中, 字体緩存模块存放有字体緩存表, 字体緩存表用于緩存需要渲 染的字体。 字体緩存表 CASHER— TABLE是緩存渲染字体的数据结构, 是
一个哈希链表, 字体緩存表 CASHER— TABLE 由索引数组和緩存节点 TextCasher构成,每一个緩存节点 TextCasher包括两个部分: 文字信息和緩 存位图。 文字信息存放了文字的编码、 字体名称、 字体大小、 字体颜色以 及输出矩形范围, 是判断需要渲染的字体和緩存在字体緩存表中的字体是 否一致的依据。 緩存位图存放了文字的字体, 緩存位图用于渲染字体。
緩存字体查找模块用于查找需要渲染的字体在字体緩存表 CASHER— TABLE中的位置。
字体緩存模块还用于将未在字体緩存表中查找到的字体緩存到字体緩 存表中, 调用手机平台字体绘制接口把未在字体緩存表中查找到的字体緩 存到字体緩存表 CASHER— TABLE中, 具体实现步骤同方法中的描述, 在 此不再赘述。
在本实施例中, 若字体查找模块查找需要渲染的字体失败, 则字体緩 存模块将需要渲染的字体通过上述方案緩存到字体緩存表中, 同时返回需 要渲染的字体, 供字体渲染模块执行。
本实施例中由于把内存的背景色设为了黑色, 黑色的 RGB ( RGB代表 计算机图形学颜色的三个分量, 即红、 绿、 蓝)值都为零, 而字体颜色不 为黑色, 故在緩存位图中, 字体所在的像素点的 RGB值不为零, 其它部分 像素点的 RGB值都为零。 这样这个緩存位图的作用就是一个掩码, 通过每 个像素点的 RGB值是否为零判断这个像素点是字体部分还是其余背景部 分, 因此本发明也把这种具有掩码功能的緩存位图称为文字的掩码位图。 本发明中该掩码位图是指保存的位图是文字形状的緩存位图。
字体渲染模块的主要功能是利用字体緩存表中的相应字体的緩存位图 对字体进行高效的渲染。
字体緩存表维护模块用于对字体緩存表进行维护, 以提高查找的效率 并且不让字体緩存表占据过多的内存, 具体的字体緩存表维护方案同方法
中的描述, 在此不再赘述。
以上所述的具体实施例, 对本发明的目的、 技术方案和有益效果进行 了进一步详细说明, 所应注意的是, 以上所述仅为本发明的具体实施例而 已, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明 的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要求 记载的技术方案及其等同技术的范围之内, 则本发明也意图包含这些改动 和变型在内。
Claims
1、 一种用户界面字体渲染方法, 其特征在于, 该方法包括: 建立字体緩存表, 对需要渲染的字体进行緩存;
在所述字体緩存表中查找并返回需要渲染的字体;
将所述查找到的需要渲染的字体渲染出来。
2、 根据权利要求 1所述的用户界面字体渲染方法, 其特征在于: 所述字体緩存表为哈希链表, 所述哈希链表的每个节点包括文字信息 和緩存位图;
其中, 所述文字信息用于判断所述需要渲染的字体和緩存在所述字体 緩存表中的字体是否一致; 所述緩存位图用于渲染所述字体。
3、 根据权利要求 1或 2所述的用户界面字体渲染方法, 其特征在于: 该方法还包括: 将未在所述字体緩存表中查找到的字体緩存到所述字体緩 存表中。
4、 根据权利要求 3所述的用户界面字体渲染方法, 其特征在于, 所述 建立字体緩存表, 对需要渲染的字体进行緩存包括:
生成一个与需要緩存的字体相关联的内存;
设置所述内存的属性, 包括设置背景色为黑色, 设置字体颜色以及字 体格式;
调用手机平台字体绘制接口将所述字体绘制到所述内存上。
5、 根据权利要求 3所述的用户界面字体渲染方法, 其特征在于: 该方 法进一步包括: 若所述查找所述需要渲染的字体失败, 则将所述需要渲染 的字体緩存到所述字体緩存表中, 同时返回所述需要渲染的字体。
6、 一种用户界面字体渲染装置, 其特征在于, 该装置包括: 字体緩存 模块、 字体查找模块和字体渲染模块; 其中,
所述字体緩存模块, 存放有字体緩存表, 用于緩存需要渲染的字体; 所述字体查找模块, 用于在所述字体緩存表中查找并返回需要渲染的 字体;
所述字体渲染模块, 用于将所述需要渲染的字体渲染出来。
7、 根据权利要求 6所述的用户界面字体渲染装置, 其特征在于: 所述字体緩存表为哈希链表, 所述哈希链表的每个节点包括文字信息 和緩存位图;
其中, 所述文字信息用于判断所述需要渲染的字体和緩存在所述字体 緩存表中的字体是否一致; 所述緩存位图用于渲染所述字体。
8、 根据权利要求 6或 7所述的用户界面字体渲染装置, 其特征在于: 所述字体緩存模块, 还用于将未在所述字体緩存表中查找到的字体緩 存到所述字体緩存表中。
9、 根据权利要求 8所述的用户界面字体渲染装置, 其特征在于, 所述 字体緩存模块进行字体緩存时, 具体用于:
生成一个与需要緩存的字体相关联的内存;
设置所述内存的属性, 包括设置背景色为黑色, 设置字体颜色以及字 体格式;
调用手机平台字体绘制接口把所述字体绘制到所述内存上。
10、 根据权利要求 6或 7所述的用户界面字体渲染装置, 其特征在于: 该装置还包括字体緩存表维护模块, 用于对所述字体緩存表进行维护。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/521,088 US8941663B2 (en) | 2010-04-21 | 2010-07-20 | Method and device for rendering user interface font |
EP10850096.8A EP2525294A4 (en) | 2010-04-21 | 2010-07-20 | METHOD AND DEVICE FOR DISPLAYING A USER INTERFACE CHARACTER FONT |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101520096A CN101833542B (zh) | 2010-04-21 | 2010-04-21 | 一种用户界面字体渲染方法及装置 |
CN201010152009.6 | 2010-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011130963A1 true WO2011130963A1 (zh) | 2011-10-27 |
Family
ID=42717614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2010/075322 WO2011130963A1 (zh) | 2010-04-21 | 2010-07-20 | 一种用户界面字体渲染方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8941663B2 (zh) |
EP (1) | EP2525294A4 (zh) |
CN (1) | CN101833542B (zh) |
WO (1) | WO2011130963A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102074221B (zh) * | 2011-01-06 | 2012-08-22 | 深圳芯邦科技股份有限公司 | 一种字符显示方法及装置 |
US9275018B2 (en) | 2011-07-26 | 2016-03-01 | Google Inc. | Techniques for analyzing web pages to determine font subsets |
CN102509329B (zh) * | 2011-10-12 | 2013-05-29 | 盛乐信息技术(上海)有限公司 | 渲染字体的方法及系统 |
US9437020B2 (en) * | 2013-12-23 | 2016-09-06 | Red Hat, Inc. | System and method to check the correct rendering of a font |
CN103678261A (zh) * | 2013-12-26 | 2014-03-26 | 深圳市开立科技有限公司 | 一种快速显示ttf字体的方法、装置及设备 |
CN104899227A (zh) * | 2014-03-07 | 2015-09-09 | 腾讯科技(深圳)有限公司 | 一种网页文字渲染方法及装置 |
CN105224565A (zh) * | 2014-06-24 | 2016-01-06 | 广州市动景计算机科技有限公司 | 文字缓存方法及装置 |
JP5750188B1 (ja) * | 2014-07-15 | 2015-07-15 | 株式会社フジクラ | ヒートパイプ |
CN105148519B (zh) * | 2015-08-05 | 2018-09-11 | 北京乐动卓越科技有限公司 | 一种游戏程序中的文字渲染方法及系统 |
CN106569757A (zh) * | 2015-10-08 | 2017-04-19 | 青岛海信电器股份有限公司 | 一种更改图形界面文本颜色的方法和装置 |
CN108073585A (zh) * | 2016-11-08 | 2018-05-25 | 北京国双科技有限公司 | 网络字体加载方法、装置和系统 |
CN107135427B (zh) * | 2017-03-28 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种显示弹幕信息的方法和系统 |
CN107492131B (zh) * | 2017-07-01 | 2020-06-12 | 武汉斗鱼网络科技有限公司 | 用于安卓电视的倒影生成方法、存储介质、设备及系统 |
CN111221596B (zh) * | 2018-11-23 | 2024-04-09 | 北京方正手迹数字技术有限公司 | 字体渲染方法、装置及计算机可读存储介质 |
CN111221597A (zh) | 2018-11-23 | 2020-06-02 | 北京方正手迹数字技术有限公司 | 字体渲染方法、装置及计算机可读存储介质 |
CN111353114A (zh) * | 2018-12-20 | 2020-06-30 | 深圳市茁壮网络股份有限公司 | 字体显示处理方法及装置 |
CN110012338A (zh) * | 2019-04-10 | 2019-07-12 | 广州虎牙信息科技有限公司 | 一种显示弹幕数据的方法、装置、计算机设备和存储介质 |
CN111899311B (zh) * | 2019-05-06 | 2023-09-26 | 广州腾讯科技有限公司 | 元素渲染方法、装置、存储介质和计算机设备 |
CN112395529B (zh) * | 2019-08-14 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 页面加载方法、装置、设备及存储介质 |
CN111581910B (zh) * | 2020-03-27 | 2023-06-13 | 完美世界(北京)软件科技发展有限公司 | 一种渲染引擎中的数据缓存方法和装置 |
CN111767491B (zh) * | 2020-06-30 | 2024-07-26 | 杭州天谷信息科技有限公司 | 一种基于浏览器的ofd文档解析展示的方法及系统 |
CN114139496A (zh) * | 2020-12-31 | 2022-03-04 | 万翼科技有限公司 | 字体处理方法、电子设备及相关产品 |
CN116306498B (zh) * | 2023-05-16 | 2023-09-12 | 福昕鲲鹏(北京)信息科技有限公司 | 文字渲染方法及装置 |
CN118260443A (zh) * | 2024-05-31 | 2024-06-28 | 北京欣博电子科技有限公司 | 文本绘制方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751726B1 (en) * | 1999-12-15 | 2004-06-15 | Microsoft Corporation | Method and system for loading fonts by caching font-loading information |
CN1811751A (zh) * | 2005-01-28 | 2006-08-02 | 微软公司 | 字体高速缓存和元字体 |
JP2007121874A (ja) * | 2005-10-31 | 2007-05-17 | Konami Digital Entertainment:Kk | フォント処理装置、フォント処理方法、ならびに、プログラム |
CN101562005A (zh) * | 2008-04-15 | 2009-10-21 | 三菱电机株式会社 | 文字显示装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087702A1 (en) * | 2000-12-29 | 2002-07-04 | Koichi Mori | Remote contents displaying method with adaptive remote font |
US6922812B2 (en) * | 2001-07-12 | 2005-07-26 | International Business Machines Corp. | System and method for presenting text upon the display of a server that employs and X window graphical interface |
US7380059B2 (en) * | 2003-05-16 | 2008-05-27 | Pillar Data Systems, Inc. | Methods and systems of cache memory management and snapshot operations |
US7580038B2 (en) * | 2003-09-30 | 2009-08-25 | Microsoft Corporation | System and method of caching glyphs for display by a remote terminal |
KR100619053B1 (ko) * | 2003-11-10 | 2006-08-31 | 삼성전자주식회사 | 서브 타이틀을 기록한 정보저장매체 및 그 처리장치 |
US20050270290A1 (en) * | 2004-06-08 | 2005-12-08 | Yu Liu | Font display method using a font display co-processor to accelerate font display |
KR100717008B1 (ko) * | 2005-05-31 | 2007-05-10 | 삼성전자주식회사 | 부분폰트 파일 송신 및 수신하는 방법 및 장치 |
US20090122067A1 (en) * | 2007-11-13 | 2009-05-14 | Microsoft Corporation | Open fonts including human-readable fonts for compilation |
US20110043528A1 (en) * | 2009-08-24 | 2011-02-24 | Apple Inc. | Cache management for glyph display |
-
2010
- 2010-04-21 CN CN2010101520096A patent/CN101833542B/zh active Active
- 2010-07-20 EP EP10850096.8A patent/EP2525294A4/en not_active Ceased
- 2010-07-20 US US13/521,088 patent/US8941663B2/en active Active
- 2010-07-20 WO PCT/CN2010/075322 patent/WO2011130963A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751726B1 (en) * | 1999-12-15 | 2004-06-15 | Microsoft Corporation | Method and system for loading fonts by caching font-loading information |
CN1811751A (zh) * | 2005-01-28 | 2006-08-02 | 微软公司 | 字体高速缓存和元字体 |
JP2007121874A (ja) * | 2005-10-31 | 2007-05-17 | Konami Digital Entertainment:Kk | フォント処理装置、フォント処理方法、ならびに、プログラム |
CN101562005A (zh) * | 2008-04-15 | 2009-10-21 | 三菱电机株式会社 | 文字显示装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2525294A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN101833542A (zh) | 2010-09-15 |
EP2525294A1 (en) | 2012-11-21 |
CN101833542B (zh) | 2013-03-20 |
EP2525294A4 (en) | 2015-03-04 |
US8941663B2 (en) | 2015-01-27 |
US20130021361A1 (en) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011130963A1 (zh) | 一种用户界面字体渲染方法及装置 | |
US7864186B2 (en) | Device-specific content versioning | |
US20150279058A1 (en) | Page Rendering Method and Apparatus | |
US8706911B2 (en) | Power saving display information converting system and method | |
US20150348278A1 (en) | Dynamic font engine | |
US20160078656A1 (en) | Remote Font Management | |
US20120113091A1 (en) | Remote Graphics | |
US9389794B2 (en) | Managing consistent data objects | |
CN101055645B (zh) | 一种阴影实现的方法及装置 | |
US10467790B2 (en) | On-demand image spriting | |
CN105630478A (zh) | 一种实现页面切换的方法和装置 | |
US11281849B2 (en) | System and method for printable document viewer optimization | |
US20090006978A1 (en) | Adaptive artwork for bandwidth- and/or memory- limited devices | |
KR20090091854A (ko) | 모바일 웹 환경을 위한 콘텐츠 적응 시스템 및 방법 | |
US20070279418A1 (en) | Remoting sub-pixel resolved characters | |
CN107479897B (zh) | 一种在视频监控设备上使用的矢量图形界面缩放方法 | |
JP2011090663A (ja) | 画像処理装置及びプログラム | |
CN111330270B (zh) | 一种用户界面渲染的方法 | |
CN110209447A (zh) | 一种列表页数据显示方法以及列表页数据显示装置 | |
CN107248947B (zh) | 表情处理方法及装置、计算机设备及存储介质 | |
WO2013020411A1 (zh) | 即时通信终端和实时显示会话消息的方法 | |
CN111966262B (zh) | 一种图片显示方法及计算设备 | |
CN106204675A (zh) | 虚拟桌面呈现设备中的2d显示加速方法 | |
JP2004184718A (ja) | 画像処理装置および画像処理方法 | |
JP5346883B2 (ja) | 画像出力装置及び画像出力プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10850096 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010850096 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13521088 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |