CN105474198A - 具有动态调色板的分层z顺序和微调颜色字体 - Google Patents

具有动态调色板的分层z顺序和微调颜色字体 Download PDF

Info

Publication number
CN105474198A
CN105474198A CN201380077381.7A CN201380077381A CN105474198A CN 105474198 A CN105474198 A CN 105474198A CN 201380077381 A CN201380077381 A CN 201380077381A CN 105474198 A CN105474198 A CN 105474198A
Authority
CN
China
Prior art keywords
font
color
palette
character code
replacement
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
Application number
CN201380077381.7A
Other languages
English (en)
Inventor
G.希奇科克
N.博尔森
T.马茨克维奇
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105474198A publication Critical patent/CN105474198A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

通常提供存在于字体文件中的一组数据结构和字体设计技术的技术,其使能可对具有很多分辨率的很多设备按比例调整且显示在很多类型的有色背景上的颜色的丰富使用。在字体中的字形可被排序以提供分层颜色数据的z排序。可在字体内提供多个调色板以处理多种情形(包括变化的背景)。此外,操作系统文本颜色选择可与字体设计者对颜色的选择结合,且在字形中的有色元素可被微调以提高在很多不同的设备上的颜色的显示。当在平台或应用上不支持颜色时,也可提供到未着色的字形的回退。

Description

具有动态调色板的分层Z顺序和微调颜色字体
背景技术
尽管有在视频和音频输出技术中的相当大的进步,使用计算设备的主要交互技术依然维持文本和图形显示输出。自从当文本输出是计算机的唯一输出时的计算的前期以来,图形(和视频)技术有很大进步。实际上,当时间过去时,在文本和图形之间的界线变得更模糊。在传统上被定义为字母数字字符的文本输出现在包括增加的种类的图形元素,例如图标、表情符号等。
文本字符(和现在的图标)可在“字体”上被分组和分类。虽然在技术上字体表示字族的特定成员,例如罗马、黑体字或斜体字,且字面表示可以是字体的族或相关集合的一致的视觉外观或风格。例如,给定字面(例如Arial)可包括罗马、黑体和斜体字体。然而,术语“字体”和“字面”的一般用法很少区分开这两者。
可缩放的字体被证明对图形元素(例如图标)是有用的,但由于字体不能够提供单独元素的z排序,添加颜色从历史角度看是有挑战性的。而且,在字体中的颜色可适用一些背景但不适用其它背景。因此,常规扩展的字体(包括图形元素的那些字体)在它们提供颜色或可缩放性方面被限制。
发明内容
这个发明内容被提供来以简化的形式介绍一系列概念,其在下面在具体实施方式中被进一步描述。这个发明内容并不打算排他地识别所主张的主题的关键特征或必要特征,也不打算作为在确定所主张的主题的范围时的帮助。
实施例涉及存在于字体文件中的一组数据结构和字体设计技术,其使能可针对具有很多分辨率的很多设备按比例调整且显示在很多类型的有色背景上的颜色的丰富使用。根据一些例子,在字体中的字形可被排序以提供分层颜色数据的z排序。可在字体内提供多个调色板以处理多种情形(包括变化的背景)。此外,可使用预留的调色板索引将操作系统文本颜色选择与字体设计者对颜色的选择结合,且在字形中的有色元素可被微调以提高在很多不同的设备上的颜色的显示。当在平台或应用上不支持颜色时,也可提供到未着色的字形的回退。
从下面的详细描述的阅读和相关附图的回顾中,这些和其它特征和优点将变得清楚。应理解,前述一般描述和下面的详细描述都是解释性的且并不限制如所主张的方面。
附图说明
图1在概念上图示基于从字符代码对字形的查找的字符的显示;
图2图示根据一些实施例的基于分层查找表和调色板的示例字符显示;
图3在概念上图示根据一些实施例的基于基本和替换字形以及每个替换字形的调色板的字符的分层形成;
图4是联网环境,其中根据实施例的系统可被实施;
图5是示例计算操作环境的方框图,其中实施例可被实施;
图6图示根据实施例的提供具有动态调色板的分层z顺序和微调颜色字体的过程的逻辑流程图。
具体实施方式
如上面简要描述的,在字体中的字形可被排序以提供分层颜色数据的z排序,且多个调色板可在字体内被提供以处理多种情形(包括变化的背景)。操作系统文本颜色选择可与字体设计者对颜色的选择结合,且在字形中的有色元素可被微调以改进在很多不同的设备上的颜色的显示。当在平台或应用上不支持颜色时,也可提供到未着色的字形的回退。
虽然在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了实施例,本领域中的技术人员将认识到,也可结合其它程序模块来实施方面。
通常,程序模块包括例程、程序、组件、数据结构和执行特定的任务或实施特定的抽象数据类型的其它类型的结构。而且,本领域中的技术人员将认识到,可使用其它计算机系统配置——包括手持设备、多处理器系统、基于微处理器的或可编程消费电子设备、小型计算机、大型计算机和可比较的计算设备——来实践实施例。也可在分布式计算环境中实践实施例,在该分布式计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备中。
实施例可被实施为计算机实施的过程(方法)、计算系统或作为制造物品,例如计算机程序产品或计算机可读介质。计算机程序产品可以是由计算机系统可读并对包括用于使计算机或计算系统执行(多个)示例过程的指令的计算机程序进行编码的计算机存储介质。计算机可读存储介质是计算机可读存储器设备。可例如经由易失性计算机存储器、非易失性计算机存储器、硬盘驱动器、闪存驱动器、软盘或光盘和可比较的物理介质中的一个或多个来实施计算机可读存储介质。
在整个这个说明书中,术语“平台”可以是用于提供具有动态调色板的分层z顺序和微调的颜色字体的软件和硬件部件的组合。平台的例子包括但不限于在多个服务器上执行的托管的服务、在单个计算设备上执行的应用和可比较的系统。术语“服务器”通常指一般在联网环境中执行一个或多个软件程序的计算设备。然而,服务器也可被实施为在一个或多个计算设备上执行的、被视为在网络上的服务器的虚拟服务器(软件程序)。下面提供关于这些技术和示例操作的更多细节。
参考图1,图100在概念上图示基于从字符代码对字形的查找的字符的显示。在图100中示出的字符和环境是用于说明目的。实施例可在采用各种计算设备和系统的各种本地、联网和类似的计算环境中被实施。
在专业印刷术中,术语“字体”从历史角度看被定义为给定的字母系统和在单个尺寸中的其相关字符。术语“字面”表示字族的特定成员,例如罗马、黑体字或斜体字。因此,给定的字面例如Arial可包括罗马、黑体或斜体字体。字体也可以指具体的磅值。然而在数字时代中,定义差别被模糊,且在一般使用中,术语“字体”通常被理解为指具有不同的尺寸和属性(例如斜体、黑体和类似物)的字符的族。更精确的使用/定义可以是“字体族”,其一般用于指只在重量、取向、宽度等而不是设计方面改变的一组相关字体。例如,Times是字体族,而Times罗马、Times斜体和Times黑体是构成Times族的个体字面。字体族一般可包括几种字体,虽然一些例如Helvetica可包括几十个字体。
计算机字体是包含一组字形、字符或符号(例如装饰标志)的电子数据文件。有三个基本类型的计算机字体文件数据格式:(1)位图字体,其包括代表在每个面和尺寸中的每个字形的图像的点或像素的矩阵;(2)轮廓字体(也被称为矢量字体),其使用贝塞尔曲线、绘制指令和数学公式来描述每个字形,这使字符轮廓可缩放到任何尺寸;(3)以及笔画字体,其使用一系列规定的线和额外的信息来定义剖面,或在具体面中的线的尺寸或形状,这些一起描述字形的外观。
位图字体在计算机代码中使用起来更快和更容易,但是不可缩放的,需要针对每个尺寸的单独字体。轮廓和笔画字体可使用单个字体并替换用于每个字形的组成部分的不同测量而被改变尺寸,但可能比起位图字体,在屏幕上渲染起来多少更复杂,因为它们涉及额外的计算机代码来向位图渲染轮廓用于显示在屏幕上或打印出来。
位图字体是将每个字形存储为像素的阵列(即位图)的字体。它较不通常地被称为光栅字体。位图字体简单地是字形的光栅图像的集合。对于字体的每个变形,有完整的一组字形图像,每组包含每个字符的图像。例如,如果字体有三个尺寸及黑体和斜体的任何组合,则需要有12个完整组的图像。
光栅图像可以只在有一定畸变的情况下以不同的尺寸显示,但快速渲染;轮廓或笔画图像格式是可改变尺寸的,但可能花费更多的时间来渲染,因为每当像素被显示时像素需要从头开始被绘制。使用字体编辑器来设计和创建字体。特别为计算机屏幕设计的字体被称为屏幕字体。字体可以是固定宽度的(即在绘图时每个字符被绘制在离它紧接着的前一字符的恒定距离处)或成比例的(每个字符具有它自己的宽度)。然而,特定的字体处理应用可影响间隔,特别是当进行对正时。
轮廓字体或矢量字体是矢量图像的集合,即定义字形的边界的一组线和曲线。轮廓字体的例子包括但不限于PostScript Type 1和Type 3字体、TrueType和OpenType。
轮廓字体的主要优点是,它们可容易通过应用数学函数到每个矢量点,按比例调整它们而不引起像素化来被转换。轮廓字体字符可按比例调整到任何尺寸且以另外方式被转换,有比位图字体更吸引人的结果,但可能需要明显更多的处理并可产生不希望有的渲染,取决于字体、渲染软件和输出尺寸。轮廓字体的缺点是,贝塞尔曲线不能被准确地渲染到光栅显示器(例如大部分计算机监视器和打印机)上,且它们的渲染可根据期望尺寸和位置来改变形状。诸如字体微调的措施可能必须用于减小这个挑战的视觉影响。
在基于笔画的字体中,字形的轮廓由给笔画的顶点和笔画的剖面来定义。基于笔画的字体优于轮廓字体的优点包括减少定义字形所需的顶点的数量,允许相同的顶点用于使用不同的笔画规则来产生具有不同的重量、字形宽度或衬线的字体,和相关尺寸节省。与编辑轮廓比较,通过笔画编辑字形可以更容易和更不易于出错。基于笔画的系统也可允许在高度或宽度上按比例调整字形而不改变基本字形的笔画厚度。
早期计算机系统的有限处理能力和存储器迫使位图字体的排他使用。在硬件中的改进允许在任意比例调整是合乎需要的情况下用轮廓或笔画字体代替位图字体,但位图字体仍然在嵌入式系统和其中速度和简单性被考虑为重要的其它地方中普遍使用。
在图100的例子中,由在屏幕上渲染文本和/或其它数据的应用提供的字符代码102可与在查找表104中的若干个字形108比较。对应于字符代码102的字形110可然后被选择并用于在计算设备的屏幕上显示(或打印)字形106。
如前面提到的,由于字体不能提供单独元素的z排序,添加颜色从历史角度看是有挑战性的。在字体中使用颜色位图不难且不需要Z排序,但不按比例调整到不同的尺寸。将颜色字形添加到轮廓或笔画字体是更有挑战性的,因为轮廓(或笔画)只规定字形的形状而未规定它的颜色。有支持颜色的矢量图形格式(例如SVG),但这些没有针对在字体中使用而被优化,例如,它们不支持微调。而且,在字体中的颜色可适用一些背景但不适用其它背景。因此,常规扩展的字体(包括图形元素的那些字体)在它们的颜色提供或可缩放性方面被限制。
图2图示根据一些实施例的基于分层查找表和调色板的示例字符显示。
使用不同的调色板显示交替的颜色的能力可用于改进图标的质量。因为在传统上字体被选择有相关颜色,需要有使那个颜色与字体设计者对颜色的意图结合的方式。在根据一些实施例的系统中,字体微调可用于动态地调节颜色出现在哪里和它在哪里不防止在小尺寸下或在低密度显示器上有色混淆的显示。
实施例提供存在于字体文件中的一组数据结构和字体设计技术,其使能可对具有很多分辨率的很多设备按比例调整且显示在很多类型的有色背景上的颜色的丰富使用。在根据一些实施例的系统中,在字体中的字形可被排序以提供分层颜色数据的z排序,多个调色板可在字体内被提供以处理多种情形(包括变化的背景)。根据其它实施例,操作系统文本颜色选择可与字体设计者对颜色的选择结合,且在字形中的有色元素可被微调以提高在很多不同的设备上的颜色的显示。此外,当在平台或应用上不支持颜色时,也可提供到未着色的字形的回退。
显示在字体中的字符的传统方法是将期望字符代码传递在字体中的查找表,该查找表将字符代码映射到字形索引,如上面结合图1讨论的那样。字形索引然后用于显示字形。字形索引在本文被称为基本字形索引。在根据实施例的系统中,如果字体在没有颜色支持的设备上被使用或由不支持颜色的应用使用,则行为与传统系统一致。如果颜色被支持,则基本字形索引可用作新表内的索引以确定是否有对特定的基本字形的颜色变化。这个表可包括与基本字形相关的替换字形的列表。可按自底向上z顺序列出这些替换字形,使得当一个在下一个的顶部上被显示时,它们可提供基本字形的表示。这些替换字形中的每个可与应用于那个字形中的每个元素的调色板索引相关。当所有字形在调色板索引被应用的情况下分层地被显示时,可示出基本字形的颜色表示。
虽然在一些实施例中查找表可用于将基本字形映射到一个或多个替换字形,在其它实施例中可实施更复杂的文本格式化过程。在一些语言(例如阿拉伯语)中,根据上下文,相同的字符可具有不同的形状(被表示为不同的字形)。甚至在英语中,字体有时定义被称为连字的字符的某些组合的特殊字形。在这样的文本格式化过程中,字符和格式化信息可被视为输入,而所产生的字形和定位信息被视为输出。字形可接着被立即渲染,发送到另一设备(例如打印机)用于渲染,或存储在文件(例如PDF或OXPS)中用于以后使用。
实施例也可用于添加颜色支持而不改变文本格式化过程,不考虑哪个文本格式化过程被使用,因为该过程将由测试格式化过程产生的基本字形视为输入并产生颜色字形作为输出。此外,实施例可与渲染或以其它方式消费字形的现有设备和文件格式交互操作。例如,颜色处理可被插在文本布局过程(其产生字形)和打印机(其渲染字形)之间,使能颜色文本的打印而没有对文本布局过程或现有打印机的任何改变。
根据一些实施例,可在单独位置上在字体中提供另一数据结构。通过在单独位置上提供数据,可使信息能够是以最小的努力“插入可更换的”。这个额外的数据结构可描述多个调色板。每个调色板可采用由较早时候提到的替换字形提供的索引并将索引映射到一组颜色值,可选地使用α值。可对很多不同的情形优化调色板,从针对亮或暗背景进行优化到基于系统范围主题改变字体的颜色,到基于文化偏好改变颜色的微妙之处。一个或多个调色板索引可被预留以指示用户或应用或系统文本颜色。此外,替换字形中的一些可参考这些预留的索引以使用户/应用/系统选择与字体设计者对颜色的选择结合。字体设计者可选择预留的颜色在总体的有色字形中被应用在哪里。
图200示出在渲染字符时的示例流。字符代码202可用于在查找表204中查找基本字形。如果颜色不被平台(应用或设备)支持,则对应的字形可用于显示字符(210),如上面讨论的那样。如果颜色被支持,则替换字形的第二查找表206可用于找到与基本字形和调色板条目相关的(多个)替换字形,该调色板条目将调色板索引与可被确定的RGBA值匹配。在替代的实施例中,调色板的第三查找表208可用于找到每个替换字形的调色板。这组字形可接着以z排序方式与所应用的队应调色板组合,使得组合的有色字形可被显示为有色字形(210)。
图3在概念上图示根据一些实施例的基于基本和替换字形以及每个替换字形的调色板的字符的分层形成。
图300示出可用于确定是否有对它的颜色变化的基本字形302。可按自底向上z顺序列出与基本字形302相关的替换字形304,使得当一个在下一个的顶部上被显示时,它们可提供基本字形的表示。每个替换字形304可与应用于那个字形中的每个元素的调色板索引306相关。调色板索引306可采用由替换字形304提供的索引并将该索引映射到一组颜色值。
如上面提到的,为了基于亮或暗背景的优化、基于系统规范主体的字体的颜色的修改、颜色的本地化(例如基于文化偏好)和可比较的目的,调色板可被优化。因为有色分层字形可最终表示复杂的图像,当将图像按比例调整到非常小的尺寸或将字形显示在低分辨率屏幕上时,颜色的复杂性可能太大而不能正确地显示。在一些实施例中,字体微调可用于简化所使用的颜色,移除一些颜色或加重其它颜色。字体微调可甚至针对某个尺寸或分辨率范围移除整个颜色层,允许有色字形的最佳显示。
字体微调是使用数学指令来调节轮廓字体的显示,使得它与光栅化网格对齐。在低屏幕分辨率下,字体微调可用于产生清楚易读的文本。为了屏幕上文本显示的目的,字体微调可表示哪些主要像素被插入以更清楚地渲染字体。为了进一步清楚,字体微调可伴随有反锯齿和/或亚像素渲染。可自动地(通过基于字符轮廓的经处理的算法)微调或手动地设置字体。
以特定的配置、字符和字体描述了在图1到3中的例子。实施例不限于这些示例配置、字符和字体。可在使用其它类型的组件、过程的配置和以类似的方式使用本文所述的原理的配置中实施具有动态调色板的分层z顺序和微调颜色字体。
图4是示例联网环境,其中实施例可被实施。可经由在如在图400中所示的一个或多个服务器410上执行的软件(例如托管的服务)来实现用于提供具有动态调色板的分层z顺序和微调颜色字体的系统。平台可通过(多个)网络412与在个体计算设备(例如桌上型计算机402、膝上型计算机404、智能电话406或平板计算机408(“客户端设备”))上的客户端应用通信。如在本文所述的应用处理字体也可以是由web服务器414提供的web应用。
在客户端设备402-408中的任一上执行的客户端应用可与在一个或多个服务器410上执行的应用通信。结合应用来执行的字体处理模块可便于如前面讨论的具有动态调色板的分层z顺序和微调颜色字体。字体处理应用可直接或通过数据库服务器416从(多个)数据暂存器418取回相关数据,并通过与客户端设备402-408相关的屏幕渲染有色的字符。
(多个)网络412可包括服务器、客户端、互联网服务提供商和通信介质的任何拓扑。根据实施例的系统可具有静态或动态拓扑。(多个)网络412可包括安全网络(例如企业网络)、不安全网络(例如无线开放网络)或互联网。(多个)网络412也可通过其它网络例如公共交换电话网络(PSTN)或蜂窝网络协调通信。此外,(多个)网络412可包括短距无线网络例如蓝牙或类似的网络。(多个)网络412提供在本文所述的节点之间的通信。作为例子而不是限制,(多个)网络412可包括无线介质例如声、RF、红外和其它无线介质。
计算设备、应用、数据源和数据分配系统的很多其它配置可用于实施提供具有动态调色板的分层z顺序和微调颜色字体的平台。此外,在图4中讨论的联网环境仅为了说明目的。实施例并不限于示例应用、模块或过程。
图5和相关的讨论意欲提供可实施实施例的适当计算环境的简要、一般的描述。参考图5,图示根据实施例的应用的示例计算操作环境(例如计算设备500)的方框图。在基本配置中,计算设备500可以是根据实施例的执行处理用于渲染的字体的应用的任何计算设备,并可包括至少一个处理单元502和系统存储器504。计算设备500也可包括在执行程序时协作的多个处理单元。根据计算设备的确切配置和类型,系统存储器504可以是易失性的(例如RAM)、非易失性的(例如ROM、闪存等)或这两者的某个组合。系统存储器504一般包括适合于控制平台的操作的操作系统505,例如来自华盛顿州雷蒙德的微软公司的WINDOWS®操作系统。系统存储器504也可包括一个或多个软件应用,例如字体处理电子表格应用522和字符输出模块524。
字体处理应用522可结合字符输出模块524提供用于提供具有动态调色板的分层z顺序和微调颜色字体的功能和能力。字体处理应用522和字符输出模块524可以是托管服务的单独应用或集成模块。在一些实施例中,字体处理功能可以是操作系统505的部分。这个基本配置在图5中由在虚线508内的那些部件图示。
计算设备500可具有额外的特征或功能。例如,计算设备500也可包括额外的数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这样的额外储存器在图5中由可移动储存器509和不可移动储存器510图示。计算机可读存储介质可包括在任何方法或技术中实施的用于存储信息例如计算机可读指令、数据结构、程序模块或其它数据的易失性和非易失性、可移动和不可移动介质。系统存储器504、可移动储存器509和不可移动储存器510都是计算机可读存储介质的例子。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光学储存器、磁带、磁盘储存器或其它磁性存储设备或可用于存储期望信息和可由计算设备500访问的任何其它介质。任何这样的计算机可读存储介质可以是计算设备500的部分。计算设备500也可具有(多个)输入设备512,例如键盘、鼠标、笔、语音输入设备、触摸输入设备和可比较的输入设备。(多个)输出设备514例如显示器、扬声器、打印机和其它类型的输出设备也可被包括。这些设备在本领域中是公知的且不需要在这里详细地被讨论。
计算设备500也可包含允许设备例如通过在分布式计算环境中的有线或无线网络、卫星链路、蜂窝链路、短距网络和可比较的机构与其它设备518通信的通信连接516。其它设备518可包括执行通信应用的(多个)计算机设备、web服务器和可比较的设备。(多个)通信连接516是通信介质的一个例子。通信介质可在其中包括计算机可读指令、数据指令、程序模块或其它数据。作为例子而不是限制,通信介质包括有线介质例如有线网络或直接有线连接,和无线介质例如声、RF、红外和其它无线介质。
示例实施例还包括方法。这些方法可以用任何数量的方式实施,包括在本文档中描述的结构。一个这样的方式是通过在这个文档中描述的类型的设备的机器操作。
图6图示根据实施例的提供具有动态调色板的分层z顺序和微调颜色字体的过程600的逻辑流程图。过程600可在能够显示文本和图形数据的任何计算设备上实施。
过程600以操作602开始,其中待显示的字符(字母数字或图形)的字符代码被接收到。当在操作604通过基本字形查找表确定对应于所接收的字符代码的基本字形时,可在操作606针对基本字形检查第二查找表以确定替换字形(指示基本字形的颜色变化)是否存在。这些字形中的每个可具有调色板索引。可通过选择哪个调色板来确定调色板索引的颜色。
在操作608,可通过将调色板索引应用于选定调色板来确定任何替换字形的颜色。调色板可以是预先选择的且至少应用于整个字符,但更经常地应用于整个字体。可接着在操作610渲染具有所应用的调色板的组合字形。
在另外的实施例中,计算机可读存储器设备可包括存储在其上的用于提供具有动态调色板的分层z顺序和微调颜色字体的指令。计算机可读存储器设备可包括执行那些指令的计算设备远程地或在本地可访问的任何物理数据存储设备。指令可包括上面讨论的行动。
包括在过程600中的操作是为了说明目的。可通过具有更少或额外的步骤的类似过程以及以不同的操作顺序使用本文所述的原理来实施提供具有动态调色板的分层z顺序和微调颜色字体。
上述说明书、例子和数据提供实施例的组成物的制造和使用的完整描述。虽然以结构特征和/或方法行动特有的语言描述了主题,应理解,在所附权利要求中的主题并不一定限于上面描述的特定的特征或行动。更确切地,上面描述的特定的特征和行动被公开为用于实施权利要求和实施例的示例形式。

Claims (10)

1.一种在计算设备上执行的用于提供具有动态调色板的分层z顺序和微调颜色字体的方法,所述方法包括:
接收字符代码;
确定对应于接收到的字符代码的基本字形;
确定颜色是否被用于基于所述接收到的字符代码来渲染字形的平台支持;
如果颜色被支持,则确定与所述基本字形相关的一个或多个替换字形;
确定用于所述替换字形的调色板;以及
通过在z排序的层中组合所述一个或多个替换字形并且应用所述调色板来渲染对应于所述字符代码的所述字形。
2.如权利要求1所述的方法,其中确定所述基本字形和所述一个或多个替换字形包括:
将所述接收到的字符代码映射到所述基本字形;以及
将所述基本字形映射到所述一个或多个替换字形。
3.如权利要求1所述的方法,还包括:
提供在字体内的多个调色板以处理多种情形,所述多种情形包括变化的背景。
4.如权利要求1所述的方法,还包括:
在所述查找表中以自底向上的z顺序列出所述替换字形,使得当被显示时,所述替换字形提供所述基本字形的表示。
5.如权利要求1所述的方法,还包括:
将所述调色板应用于所述对应的替换字形的每个元素。
6.一种可操作来提供具有动态调色板的分层z顺序和微调颜色字体的计算设备,所述计算设备包括:
存储器;
处理器,其耦合到所述存储器,所述处理器执行与字体处理应用集成的字符输出模块,所述字符输出模块配置成:
接收字符代码,其中所述字符代码指示字母数字字符和图形元素之一;
确定对应于接收到的字符代码的基本字形;
确定颜色是否被用于基于所述接收到的字符代码来渲染字形的平台支持;
如果颜色被支持,则确定与所述基本字形相关的一个或多个替换字形;
确定用于所述替换字形的调色板;以及
通过在z排序层中组合所述一个或多个替换字形并且应用所述调色板来渲染对应于所述字符代码的所述字形。
7.如权利要求6所述的计算设备,其中针对变化的背景优化所述调色板。
8.如权利要求6所述的计算设备,其中所述调色板被优化用于基于系统范围主题来改变字体的颜色。
9.一种计算机可读存储器设备,其具有存储在其上的用于具有动态调色板的提供分层z顺序和微调颜色字体的指令,所述指令包括:
接收字符代码,其中所述字符代码指示字母数字字符和图形元素之一;
确定对应于接收到的字符代码的基本字形;
确定颜色是否被用于基于所述接收到的字符代码来渲染字形的平台支持;
如果颜色被支持,则确定与所述基本字形相关的一个或多个替换字形;
确定用于所述替换字形中的每个的调色板;
通过在z排序层中组合所述一个或多个替换字形并且应用所述调色板来渲染对应于所述字符代码的所述字形;以及
采用在所组合的字形中的有色元素上的字体微调来改进在不同的设备或应用用户界面上的颜色的显示。
10.如权利要求9所述的计算机可读存储器设备,其中所述指令还包括:
采用所述字体微调来完成下列项中的一个或多个:简化所使用的颜色、移除一种或多种颜色、以及加重一种或多种颜色。
CN201380077381.7A 2013-06-11 2013-09-20 具有动态调色板的分层z顺序和微调颜色字体 Pending CN105474198A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/915225 2013-06-11
US13/915,225 US20140362104A1 (en) 2013-06-11 2013-06-11 Layered z-order and hinted color fonts with dynamic palettes
PCT/US2013/061038 WO2014200545A1 (en) 2013-06-11 2013-09-20 Layered z-order and hinted color fonts with dynamic palettes

Publications (1)

Publication Number Publication Date
CN105474198A true CN105474198A (zh) 2016-04-06

Family

ID=49326847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380077381.7A Pending CN105474198A (zh) 2013-06-11 2013-09-20 具有动态调色板的分层z顺序和微调颜色字体

Country Status (5)

Country Link
US (1) US20140362104A1 (zh)
EP (1) EP3008621A1 (zh)
KR (1) KR20160019502A (zh)
CN (1) CN105474198A (zh)
WO (1) WO2014200545A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641357A (zh) * 2021-06-01 2021-11-12 中国航空工业集团公司沈阳飞机设计研究所 一种航电座舱显示软件性能优化方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9395894B2 (en) * 2013-11-06 2016-07-19 Software Ag System and method for browser side colorizing of icon images
US10062147B1 (en) * 2014-09-16 2018-08-28 American Megatrends, Inc. Scaling a fixed font used by a firmware interface
US9881395B2 (en) * 2015-08-21 2018-01-30 Sap Se Rendering multi-part glyphs
KR101905300B1 (ko) * 2017-01-26 2018-10-05 숭실대학교산학협력단 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법
US10755030B2 (en) * 2017-06-29 2020-08-25 Salesforce.Com, Inc. Color theme maintenance for presentations
FR3091822A1 (fr) 2019-01-17 2020-07-24 Air Liquide Medical Systems Ensemble de ventilation contrôlée à valve de patient

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091505A (en) * 1998-01-30 2000-07-18 Apple Computer, Inc. Method and system for achieving enhanced glyphs in a font
CN101536037A (zh) * 2006-09-20 2009-09-16 奥多比公司 绘制和编码字形
US20100013835A1 (en) * 2008-07-21 2010-01-21 Matthew John Kuhns Method and system for typesetting with multiple-color characters using layer fonts
CN102713950A (zh) * 2009-11-23 2012-10-03 阿尔卡特朗讯 用于辅助色彩选择的方法与系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371844A (en) * 1992-03-20 1994-12-06 International Business Machines Corporation Palette manager in a graphical user interface computer system
US6057858A (en) * 1996-08-07 2000-05-02 Desrosiers; John J. Multiple media fonts
US6762770B1 (en) * 1999-10-29 2004-07-13 Apple Computer, Inc. Method and system for the representation of color and other attributes in bitmap fonts
ATE390669T1 (de) * 2004-02-27 2008-04-15 Research In Motion Ltd System und verfahren zur verarbeitung von schriftartdaten
US7289123B2 (en) * 2004-09-30 2007-10-30 Microsoft Corporation Simplifying complex characters to maintain legibility
KR100938992B1 (ko) * 2009-06-02 2010-01-28 주식회사 릭스코 애니메이션 폰트파일 구조 및 휴대용 단말기의 텍스트 출력방법
US9569865B2 (en) * 2012-12-21 2017-02-14 Monotype Imaging Inc. Supporting color fonts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091505A (en) * 1998-01-30 2000-07-18 Apple Computer, Inc. Method and system for achieving enhanced glyphs in a font
CN101536037A (zh) * 2006-09-20 2009-09-16 奥多比公司 绘制和编码字形
US20100013835A1 (en) * 2008-07-21 2010-01-21 Matthew John Kuhns Method and system for typesetting with multiple-color characters using layer fonts
CN102713950A (zh) * 2009-11-23 2012-10-03 阿尔卡特朗讯 用于辅助色彩选择的方法与系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641357A (zh) * 2021-06-01 2021-11-12 中国航空工业集团公司沈阳飞机设计研究所 一种航电座舱显示软件性能优化方法
CN113641357B (zh) * 2021-06-01 2024-05-17 中国航空工业集团公司沈阳飞机设计研究所 一种航电座舱显示软件性能优化方法

Also Published As

Publication number Publication date
US20140362104A1 (en) 2014-12-11
WO2014200545A1 (en) 2014-12-18
KR20160019502A (ko) 2016-02-19
EP3008621A1 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
US10783409B2 (en) Font replacement based on visual similarity
CN105474198A (zh) 具有动态调色板的分层z顺序和微调颜色字体
US10019415B1 (en) System and method for consistent cross-platform text layout
KR100860210B1 (ko) 폰트 선택 방법
US7292244B2 (en) System and method for automatic label placement on charts
EP0671037B1 (en) Method and system for creating, specifying, and generating parametric fonts
US6678410B1 (en) Generating a glyph
US9484006B2 (en) Manipulation of textual content data for layered presentation
US11501477B2 (en) Customizing font bounding boxes for variable fonts
US7940273B2 (en) Determination of unicode points from glyph elements
JP2015130158A (ja) クラウドベースのフォントサービスシステム
JP2009540359A (ja) リモートサブピクセル解像度の特性
US20030043151A1 (en) Method for lossy optimization and storage of font
US9245361B2 (en) Consolidating glyphs of a font
CN107729297B (zh) 可变更风格的字体生成方法及装置
US20170249292A1 (en) Conditional determination of lookups in glyph processing
US11030388B2 (en) Live text glyph modifications
US9412187B2 (en) Delayed rendering of content
US11763064B2 (en) Glyph accessibility and swash control system
Williams Font creation with FontForge
US20180293213A1 (en) Reduced Memory Footprint Font Sample Strings
King Design spaces: The limitations of variability in typeface design
Newmarch et al. Text Processing in OpenVG on the Raspberry Pi
Maloney et al. Pattern Maps and Labels
Banjanin et al. Font hinting techniques and the importance of applying these techniques for high-quality display of fonts on the output device screen

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160406

WD01 Invention patent application deemed withdrawn after publication