CN101341481A - 自动字体控制值确定 - Google Patents

自动字体控制值确定 Download PDF

Info

Publication number
CN101341481A
CN101341481A CNA2006800478341A CN200680047834A CN101341481A CN 101341481 A CN101341481 A CN 101341481A CN A2006800478341 A CNA2006800478341 A CN A2006800478341A CN 200680047834 A CN200680047834 A CN 200680047834A CN 101341481 A CN101341481 A CN 101341481A
Authority
CN
China
Prior art keywords
font
property distributions
filtered
font property
filter
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
CNA2006800478341A
Other languages
English (en)
Inventor
B·斯坦姆
G·希契考克
M·J·达根
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 Corp
Original Assignee
Microsoft Corp
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 Corp filed Critical Microsoft Corp
Publication of CN101341481A publication Critical patent/CN101341481A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • 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
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering

Abstract

通过渐进地过滤字体属性值的分布直至标识了阈值数量的字体控制值为止来自动化字体控制值选择。可使用这些算法上确定的字体控制值来确定字体提示指令的参数,这些值可从对字样上的字形轮廓的字体属性的测量得到。在一个实现中,渐进地过滤测得的字体属性的分布以标识满足确定的准则诸如阈值条件的分布特性。对应于满足阈值的分布中的点的字体属性值被分配为字体控制值。

Description

自动字体控制值确定
背景
许多计算系统可通过在屏幕或某种其它媒体如印刷页上显示文本来向用户演示信息。人类视觉系统的物理特性以及各种类型与质量的电子显示或打印技术在类型设计者开发可演示文本的字样时对类型设计者提出独特的挑战。
在印刷术中,字样由一组协调的字符设计组成。字样通常由字母、数字、标点符号、意符和符号(统称为字符或字形)的表组成。Arial、Times NewRoman、Verdana和Georgia是四种字样的示例。在传统上,词语“字体(font)”表示特定尺寸(通常以点为单位测量)、粗细(例如,细体、印刷体、粗体、黑体)和方向(例如,罗马体、斜体、倾斜)的全部字样。对于一种给定的字样,每一字符一般对应于单个字形,尽管一些字样的某些字符可包括多个字形。
字样可源自于一系列绘制在纸上或者在计算机绘画应用程序中创建的字形。例如,可扫描和数字化绘制的字形以呈现每一字形的轮廓表示。或者,可从不同字体格式的字样转换成另一种字样(例如,从光栅格式转换成TrueType格式的轮廓)。通过至少这些方法,给定字样的字形可由字体文件中的轮廓定义来规定。
通常,字形轮廓定义指定一系列点和/或轮廓线。简单的字形轮廓可只有一条轮廓线,而复杂的字形可以有二或多条轮廓线。而且,合成字形可通过组合二或多个较简单的字形来构造,而无可视表现形式的某些控制字符映射到无轮廓线的字形。
当字形要被呈现时,从字体文件和字体高速缓存读取字形轮廓并将其缩放至指定的字体尺寸(例如,12点)与显示分辨率(例如,72dpi即字点每英寸)。随后通过字体提示指令更改经缩放的轮廓以纠正缩放过程所引入的任何感觉到的错误,其中字体尺寸与显示分辨率的相互作用可导致舍入误差并引入对字形轮廓非故意且不希望的失真。示例性错误可非限制性地包括漏失(drop-out)(即字形中非故意的缝隙)、笔画粗细或字符高度非故意的变化等等。
在字体提示的一个方面,指令可访问控制值表(CVT)以确定要对字样一致应用的字体控制值。字体控制值可指定字样内字形的一致特性。例如,可为所选字样中的字形的垂直笔画指定一致的笔画粗细。其它示例性字体控制值可定义小写字母在基线之上的高度、字母(例如‘O’)的圆形底部可在基线之下下降的距离,小写‘i’的字点与垂直笔画顶端之间的间隔等等。字体提示指令随后可更改经缩放的字体轮廓以遵从字体控制值,从而产生给定字样的字形的一致特性。
然而,选择代表字样中大量字形的字体控制值是一个难题。例如,不同字形的原始轮廓可在字样的给定字体属性(例如,垂直笔画粗细)方面表现出某些细微的和某些不是那么细微的变化。因此,测得的字体属性在整个给定字样中可以发生显著的变化。因此,印刷工人可手动且主观地评估字体属性在字样的多个字形中的分布以选择一或多个“可接受的”字体控制值来代表字样的全部或某些重要部分。遗憾的是,字体控制值的手动确定太昂贵而且耗时。
概述
本文所述和要求保护的实现允许通过渐进地过滤字体属性值的分布直至标识了阈值数量的字体控制值为止来进行字体控制值选择的自动化。可使用这些通过算法确定的字体控制值来确定字体提示指令的参数,这些值可通过对字样上的字形轮廓的字体属性的测量来得到。在一个实现中,渐进地过滤测得的字体属性的分布以标识满足确定的准则诸如阈值条件的分布特性。对应于满足阈值的该分布中的点的字体属性值被分配为字体控制值。
在一些实现中,提供作为计算机程序产品的制品。计算机程序产品的一个实现提供计算机系统可读且编码计算机程序的计算机程序存储介质。计算机程序产品的另一实现可在包含在载波中、由计算系统使用并编码计算机程序的计算机数据信号中提供。在此还描述并叙述了其它实现。
提供本概述以简化的形式介绍下面在详细说明中进一步描述的一些概念。本概述不是要标识要求保护主题的关键特征或本质特征,也不应当用于限制要求保护主题的范围。
附图简述
图1例示字体生成系统中的示例性自动提示模块。
图2例示示例性的渐进过滤结果。
图3例示自动化字体控制值确定的示例性操作。
图4例示可在实现所述技术时使用的示例性系统。
详细描述
可缩放的轮廓字体被定义为用坐标、数学曲线和/或其它参数描述的连续形状和轮廓。基本轮廓在显示或输出(打印)单独字形时可从存储器(例如字体文件或字体高速缓存)中读取的字体定义中描述。字体定义可基于字体设计单位(或“字体单位”)的具有x与y轴的笛卡儿格网,尽管也可使用其它坐标框架。使用这样的字体单位,指定的字样中字形的基本轮廓可与所显示的字形尺寸或输出设备的分辨率无关地进行描述。
当要生成一个字形时,缩放基本轮廓至指定的尺寸且随后用于在显示器或硬拷贝输出设备上以指定的尺寸创建离散的点光栅(例如像素的位图)。如果以过分简单的方法产生这样的位图,诸如简单地关闭其中央位于经缩放的轮廓之内的每一像素或者打印机单元,则会出现许多视觉上令人分心的伪像,诸如特征未对齐以及形状的中断(称为″漏失″)。例如,如果缩放字形并以小尺寸呈现和/或呈现至低分辨率显示器,则通过像素开启/关闭表示字形将仅粗略地逼近经缩放的轮廓,因为所得到的像素太大且本质上是离散的而难以完全遵从经缩放的轮廓。
因此,可使用称为“字体提示(font hinting)”的额外处理来优化对给定尺寸与显示分辨率的字形的呈现。字体提示代码可被包括在每一单独字形的字体定义中,或者与其相关联。字体提示为光栅图象处理器(RIP)提供信息以增强字体的光栅化。例如,字体提示可用于更改或变形经缩放的轮廓以改进呈现。除了其它用途,字体提示可用于(1)保证应当等粗的笔画显现为等粗;(2)抑制不需要的过冲(例如,在非有意地将一个圆形字母如″O″缩放为显得比扁平字母如″M″高的时候);(3)对齐不同字形上应当具有相同高度的特征;(4)保持干线之间的空间开放(例如″m″的垂直笔画之间的空间应当可见);(5)强制一组平行笔画之间的间隔一致;以及(6)补偿光栅化算法中的错误,诸如引起漏失的错误。
在一个实现中,字体提示指令可分成两类:(1)按字体;以及(2)按字形。按字体指令基于关联于字样中多个字符的字体控制值更改各字形的轮廓。例如,关联于Courier New字样中大多数或全部字形的垂直笔画粗细是84字体单位。相应地,按字体指令可更改这些字形的各经缩放的轮廓的垂直笔画粗细以满足Courier New字样的指定垂直笔画粗细。如此,普通字体的字形往往以一致的特性呈现,因此所有这些字形都反映字样上相似的个性与可读性。相比之下,按字形指令针对对各个字形作出特定的更改。例如,按字形指令有可能确保以一致、可辨识的垂直笔画粗细和相反的笔画粗细(例如,字形的垂直笔画之间的“空间”)来呈现小写“m”的垂直笔画。
可使用来自控制值表(CVT)的按字体控制值(称为“字体控制值”)来确定按字体指令的参数。各个字体控制值可从对字样上字形轮廓的属性(称为“字体属性”)的测量来得到。然而,因为这些测量可在字样上显著变化,一或多个字体控制值选择是算法上从可能的字体属性测量的分布中作出的,并在字样的多个字形上应用。自动提示模块执行算法选择以获得CVT的字体控制值。
图1例示字体生成系统中的示例性自动提示模块100。将字样中的字形轮廓的表示102存储在字体库或其它数据存储中。图形框104例示示例性字形的部分:Times New Roman中大写“H”的垂直右干线106和Times New Roman的大写“B”的下部以及垂直左干线108。基于数字化的轮廓,垂直右干线106具有233字体单位的笔画粗细。相比之下,基于数字化的轮廓,垂直左干线108具有230的笔画粗细。
在(例如,由文本呈现系统的缩放模块110)缩放轮廓时,受显示分辨率影响的舍入误差可使得两个笔画粗细相差显著的量(见图形框112,其中垂直右干线114是11像素宽而垂直左干线116是10像素宽)。相应地,文本呈现系统的按字体准备模块118从控制值数据存储120(例如控制值表即CVT)提取字体控制值,用它们确定按字体指令的参数以实现更一致的呈现。在图1的示例中,垂直笔画粗细的字体控制值等于11。因此,如在图形框122中可见,按字体准备模块118已经更改了经缩放的轮廓以产生11像素宽的垂直右干线124和11像素宽的垂直左干线126。如此,相同字体的字形在以指定的尺寸与显示分辨率呈现时描绘一致的个性和可读性,而不管在缩放操作中引入的舍入误差。
在一个实现中,对于选择CVT的字体控制值,自动提示模块100从字体库读取给定字样的字形轮廓,并且生成每一字形轮廓的特定字体属性的分布(例如,见图2的分布202和204)。示例性字体属性可非限制性地包括:
■大小写平基(upper and lower flat base)--字符基线
■大写圆基(upper case round base)--圆形字符(诸如大写“O”)在平基线之下的下降量
■小写圆基(lower case round base)--圆形字符(诸如小写“o”)在平基线之下的下降量
■数字圆基(figure round base)--圆形数字(诸如数字零即“0”)在平基线之下的下降量
■x高度平(x-height flat)--平顶小写字符(诸如小写“x”)的高度
■x高度圆形交搭(x-height round overlap)--圆形小写字符(如“o”)在x高度平之上的上升量
■平帽(flat cap)--平顶大写字符(如“X”)的高度
■圆帽(round cap)--圆形大写字符(如“O”)在平帽之上的上升量
■数字平(numbers flat)--平顶数字(如“7”)的高度
■数字圆顶(numbers round top)--圆形数字(如“0”)在数字平之上的上升量
■平上升部分(flat ascender)--平顶小写字符在小写“x”之上的上升高度(诸如小写“l”)
■平下降部分(flat descender)--平底小写字符在小写基线之下的下降高度(诸如小写“p”)
■圆形下降部分(round descender)--圆形底小写字符在小写基线之下的下降高度(诸如小写“g”)
■“i”的字点与顶端之间的间隔
如果字样上的字体属性分布指示不超过CVT阈值的局部最大值的数量,则自动提示模块100将控制值表中的字体控制值设置为这些最大值。例如,给定字体属性的分布在字样上有可能限于单个值。在该情形中,将对应于该字体属性的控制值设置为该单个值。然而在大多数情形中,字体属性分布可包括延及一定范围的众多可能的字体属性。因此,自动提示模块100使用过滤技术来基于字体属性分布选择适当数量的字体控制值。
应当理解,可使用其它分布特性来选择字体控制值,包括用于离散分析或用于连续分析演算的字体属性差的局部最小值、最低的极值、最高的极值或其它统计工具诸如标准偏差点、中值、平均值等。
图2例示示例性渐进过滤结果200。分布202表示在Times New Roman字样的一组字形上34个垂直笔画粗细的分布。注意,笔画粗细(沿水平轴以字体单位标出)在从88字体单位至232字体单位的范围内变化。y轴表示给定笔画粗细的频率。相比之下,分布204表示在Courier New字样的一组字形上37个垂直笔画粗细的分布。因为CourierNew是在字样上具有几乎完全统一的笔画粗细的字样,所以垂直笔画粗细的分布几乎是单值,其测量值为约84字体单位。分布202和204两者都未被过滤,如由说明“过滤宽度=0字体单位”所示。
在一个实现中,为了选择有限数量的字体控制值,自动提示模块使用一系列过滤操作直至达到局部最大值的可接受的数量(即CVT阈值)为止。在一个实现中,使用抑制高频数据的过滤器以减少高频噪声,具体地,使用高斯模糊过滤器,尽管也构想了其它过滤器,包括箱式过滤器、sinc过滤器或其它过滤器。通过将具有过滤宽度为3字体单位的高斯模糊过滤器应用于分布202,获得经过滤的分布206。自动提示模块对过滤分布的局部最大值计数(例如,通过遍历分布并且对其中检测到的局部最大值计数)。
在图2的示例中,使用假定为二的CVT阈值。尽管经过滤的分布206与未经过滤的分布202相比有所平滑,但六个局部最大值未能满足CVT阈值条件。因此,应用更强的过滤(即9字体单位的过滤宽度)以获得经过滤的分布208。再一次,5个局部最大值未能满足CVT阈值条件。渐进过滤继续,其示例性过滤结果在下面示出:
过滤宽度=11字体单位在经过滤的分布210中有4个局部最大值
过滤宽度=19字体单位在经过滤的分布212中有3个局部最大值
过滤宽度=33字体单位在经过滤的分布214中有2个局部最大值
经过滤的分布214满足为二的CVT阈值条件。相应地,选择两个局部最大值的x值(90字体单位和193字体单位)作为与Times New Roman字样的CVT的垂直笔画粗细相关的对应字体控制值。
在替换实现中,渐进过滤可包含具有不同属性的级联过滤器,使得在级联各级处的分布展示出逐渐明显的过滤效果。
图3例示自动化字体控制值确定的示例性操作300。接收操作302诸如从字体库接收给定字样的数字化字形轮廓。自动提示器中的分布模块执行分布操作304,它根据对字形轮廓的分析生成字体属性的分布。在一个实现中,例如,分布操作304将平顶字符字形的最高点标识为“x高度平”属性并且为每一字形记录与该点对齐的y坐标。在另一个实现中,分布操作306为“x干线粗细”属性分布标识重要的垂直笔画并且测量其宽度。可用相似的方式生成其它字体属性分布。
自动提示器中的标识模块执行最大值操作306,它标识字体属性分布中的局部最大值并对其计数。在一个实现中,最大值操作306遍历轴并且检测分布上在其两侧具有较低毗邻点的点。在替换实现中,可使用用于标识具有极值属性(例如最大值,最小值等)的几何位置的任何标准演算或其它数学运算。
如果分布中局部最大值的计数数量不大于CVT阈值,则判定操作308认为CVT阈值条件得到满足,并且处理进行至设置操作312(例如,由自动提示器的设置模块执行),设置操作312将对应的每控制值设置为局部最大值的x坐标。否则,如果不满足CVT阈值条件,则由自动提示器的过滤模块执行的过滤操作310过滤分布以获得经过滤的分布,并且处理返回至最大值操作306以标识和计数经过滤的分布中的局部最大值。在每次迭代中,增加过滤强度,如参考图2例示和描述,直至满足CVT阈值条件并且在设置操作312中基于局部最大值设置字体控制值。
用于实现本发明的图4的示例性硬件和操作环境包括计算机20形式的通用计算设备,计算机20包括处理单元21、系统存储器22和将包含系统存储器在内的各种系统组件耦合至处理单元21的系统总线23。可以仅有一个处理器单元21,也可以有不止一个处理器单元21,使得计算机20的处理器包括单个中央处理单元(CPU)或者包括多个处理单元,它们统称为并行处理环境。计算机20可以是常规计算机、分布式计算机或者任何其它类型的计算机;本发明不受此限制。
系统总线23可以是任何若干类型的总线结构,包括存储器总线或存储器控制器、外围总线、交换网、点对点连接以及使用任何各种总线架构的局部总线。系统存储器还可简称为存储器,并且包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(BIOS)26被存储在ROM 24中,它包含帮助计算机20内的元件之间诸如在启动时传送信息的基本例程。计算机20还包括读写硬盘(未示出)的硬盘驱动器27,读写可移动磁盘29的磁盘驱动器28,以及读写可移动光盘31如CD ROM或其它光介质的光盘驱动器30。
硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。这些驱动器及其相关联的计算机可读介质为计算机20提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。本领域技术人员应当了解,可存储计算机能访问的数据的任何类型的计算机可读介质可在示例性操作环境中使用,诸如磁带盒、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等。
可在硬盘、磁盘29、光盘31、ROM 24或RAM 25中存储许多程序模块,包括操作系统35、一或多个应用程序36、其它程序模块37以及程序数据38。用户可通过诸如键盘40和定点设备42等输入设备将命令和信息输入到个人计算机20中。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其它输入设备常常通过耦合到系统总线的串行端口接口46连接到处理单元21,但可通过其它接口如并行端口、游戏端口或通用串行总线(USB)来连接。监示器47或其它类型的显示设备也可通过接口诸如视频适配器48连接到系统总线23。除了监示器,计算机一般包括其他外围输出设备(未示出),诸如扬声器和打印机。
计算机20可使用至一或多个远程计算机诸如远程计算机49的逻辑连接在网络化环境中运行。这些逻辑连接是通过耦合到计算机20或作为其一部分的通信设备来实现的;本发明不限于特定类型的通信设备。远程计算机49可以是另一个计算机、服务器、路由器、网络PC、客户机、对等设备或其它普通网络节点,并且一般包括许多或全部上面相对于计算机20所述的元件,尽管在图4中仅例示了存储器存储设备50。图4描绘的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的网络连接环境在办公室网络、企业级计算机网络、内联网或因特网(它们都是网络类型)中是常见的。
当在LAN网络连接的环境中使用时,计算机20通过网络接口或适配器53(它是一种类型的通信设备)连接到局域网51。当在WAN网络连接环境中使用时,计算机20一般包括调制解调器54、网络适配器、一种类型的通信设备、或者用于在广域网52上建立通信的任何其它类型的通信设备。调制解调器54可以是内置或外置的,通过串行端口接口46连接到系统总线23。在网络化环境中,相对于个人计算机20描绘的程序模块或其部分可存储在远程存储器存储设备中。要了解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链接的其它装置和通信设备。
在示例性实现中,缩放模块、自动提示模块、按字体准备模块、呈现模块、判定模块和其它模块可包含在存储在存储器404和/或存储设备408与410中并且由处理单元402处理的指令中。字体定义、字体提示指令、字体属性分布、CVT、CVT阈值、呈现的位图以及其它数据可存储在存储器404和/或存储设备408与410中。
在此描述的技术实现为一或多个系统中的逻辑操作和/或模块。逻辑操作可实现为一系列在一或多个计算机系统中执行的处理器实现的步骤,以及实现为一或多个计算机系统中的互连机器或电路模块。同样,可按照由模块执行或影响的操作提供各种组件模块的描述。所得到的实现是选择性的,取决于实现所述技术的底层系统的性能要求。因此,构成在此所述技术的实施例的逻辑操作可不同地称为操作、步骤、对象或模块。而且,应当理解,可按任何顺序执行逻辑操作,除非明确地要求或者特定顺序为权利要求语言在本质上必需。
上述描述、示例和数据提供对本发明示例性实施例的结构和用途的完整描述。尽管上面已经用某种程度的特殊性或者参考一或多个单独的实施例描述了本发明的各种实施例,但本领域的技术人员可在不脱离本发明的精神或范围的情况下对所公开的实施例作出众多更改。具体地,应当理解,所述技术可独立于个人计算机来使用。因此构想了其它实施例。包含在上述说明中并且在附图中描述的全部内容应当解释为仅说明特定实施例的例示而且不是限制性的。在不脱离所附权利要求书定义的本发明的基本元素的情况下,可在细节或结构方面作出改变。
尽管已经以专用于结构特征和/或方法学领域的语言描述了本主题,但要理解,所附权利要求书中定义的主题不必受限于上述这些特定特征或动作。相反,上述特定特征和动作是作为实现要求保护主题的示例形式来公开的。

Claims (20)

1.一种生成用于确定字体提示指令的参数的一或多个字体控制值的方法,其中所述字体控制值与字样相关联;所述方法包括:
基于对所述字样的字形的字体属性的测量,生成(304)字体属性分布(202);
渐进地过滤(310)所述字体属性分布(202)以生成经过滤的字体属性分布(212);以及
将所述一或多个字体控制值设置(312)为从所述经过滤的字体属性分布(212)得到的字体属性值。
2.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
以逐渐增强的过滤强度渐进地过滤所述字体属性分布,直至所述经过滤的字体属性分布满足确定的准则为止。
3.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
以逐渐增强的过滤强度渐进地过滤所述字体属性分布,直至所述经过滤的字体属性分布满足确定的准则为止,其中,所述确定的准则表示所述经过滤的字体属性分布中局部最大值的最大数量。
4.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
以逐渐增强的过滤强度渐进地过滤所述字体属性分布,直至所述经过滤的字体属性分布满足确定的准则为止,其中,所述确定的准则表示所述经过滤的字体属性分布中局部最小值的最大数量。
5.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
标识所述经过滤的字体属性分布中的一或多个局部最大值;以及
对所述经过滤的字体属性分布中的一或多个局部最大值的数量计数。
6.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
标识所述经过滤的字体属性分布中的一或多个局部最小值;以及
对所述经过滤的字体属性分布中一或多个局部最小值的数量计数。
7.如权利要求1所述的方法,其特征在于,所述确定的准则表示与所述字样的字体属性相关联的字体控制值的最大数量。
8.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
使用高斯模糊过滤器过滤所述字体属性分布。
9.如权利要求1所述的方法,其特征在于,所述渐进过滤的操作包括:
以第一过滤强度过滤所述字体属性分布以生成中间的经过滤的字体属性分布;以及
如果所述中间的经过滤的字体属性分布不满足所述确定的准则,以第二过滤强度过滤所述字体属性分布以生成所述经过滤的字体分布,其中,所述第二过滤强度大于所述第一过滤强度。
10.一种具有用于执行实现如权利要求1所述的计算机过程的计算机可执行指令的计算机可读介质。
11.一种生成用于确定字体提示指令的参数的一或多个字体控制值的系统,其中所述字体控制值与字样相关联;所述系统包括:
分布模块(304),基于对所述字样的字形的字体属性的测量生成字体属性分布(202);
过滤模块(310),渐进地过滤所述字体属性分布(202)以生成经过滤的字体属性分布(212);以及
控制值设置模块(312),将所述一或多个字体控制值设置为从所述经过滤的字体属性分布(212)得到的字体属性值。
12.如权利要求11所述的系统,其特征在于,所述过滤模块以逐渐增强的过滤强度渐进地过滤所述字体属性分布,直至所述经过滤的字体属性分布满足确定的准则为止。
13.如权利要求11所述的系统,其特征在于,所述过滤模块以逐渐增强的过滤强度渐进地过滤所述字体属性分布,直至所述经过滤的字体属性分布满足确定的准则为止,并且所述确定的准则表示所述经过滤的字体属性分布中局部最大值的最大数量。
14.如权利要求11所述的系统,其特征在于,所述过滤模块以逐渐增强的过滤强度渐进地过滤所述字体属性分布,直至所述经过滤的字体属性分布满足确定的准则为止,并且所述确定的准则表示所述经过滤的字体属性分布中局部最小值的最大数量。
15.如权利要求11所述的系统,其特征在于,所述过滤模块标识所述经过滤的字体属性分布中的一或多个局部最大值,并对所述经过滤的字体属性分布中的一或多个局部最大值的数量计数。
16.如权利要求11所述的系统,所述过滤模块标识所述经过滤的字体属性分布中的一或多个局部最小值,并且对于所述经过滤的字体属性分布中的一或多个局部最小值的数量计数。
17.如权利要求11所述的系统,其特征在于,所述确定的准则表示与所述字样的字体属性相关联的字体控制值的最大数量。
18.如权利要求11所述的系统,其特征在于,所述过滤模块使用高斯模糊过滤器渐进地过滤所述字体属性分布。
19.如权利要求11所述的系统,其特征在于,所述过滤模块以第一过滤强度渐进地过滤所述字体属性分布以生成中间的经过滤的字体属性分布,且如果所述中间的经过滤的字体属性分布不满足所述确定的准则,则以第二过滤强度过滤所述字体属性分布以生成所述经过滤的字体分布,其中,所述第二过滤强度大于所述第一过滤强度。
20.一种生成用于确定字体提示指令的参数的一或多个字体控制值的系统,其中所述字体控制值与字样相关联;所述系统包括:
基于对所述字样的字形的字体属性的测量而生成字体属性分布(202)的装置(304);
渐进地过滤所述字体属性分布(202)以生成经过滤的字体属性分布(212)的装置(310);以及
将所述一或多个字体控制值设置为从所述经过滤的字体属性分布(212)得到的字体属性值的装置(312)。
CNA2006800478341A 2005-12-19 2006-11-22 自动字体控制值确定 Pending CN101341481A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/312,921 US20070139412A1 (en) 2005-12-19 2005-12-19 Automatic font control value determination
US11/312,921 2005-12-19

Publications (1)

Publication Number Publication Date
CN101341481A true CN101341481A (zh) 2009-01-07

Family

ID=38172891

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800478341A Pending CN101341481A (zh) 2005-12-19 2006-11-22 自动字体控制值确定

Country Status (8)

Country Link
US (1) US20070139412A1 (zh)
EP (1) EP1963990B1 (zh)
JP (1) JP5329971B2 (zh)
KR (1) KR101357954B1 (zh)
CN (1) CN101341481A (zh)
AT (1) ATE548698T1 (zh)
BR (1) BRPI0619042A2 (zh)
WO (1) WO2007075250A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292249B2 (en) * 2004-05-28 2007-11-06 Microsoft Corporation Appropriately rendering a graphical object when a corresponding outline has excessive control points
US8253742B2 (en) * 2004-05-28 2012-08-28 Microsoft Corporation Rendering stroke pairs for graphical objects
US7256786B2 (en) * 2004-05-28 2007-08-14 Microsoft Corporation Appropriately rendering a graphical object when a corresponding outline has exact or inexact control points
US8239763B1 (en) 2009-01-07 2012-08-07 Brooks Ryan Fiesinger Method and apparatus for using active word fonts
US9319444B2 (en) 2009-06-22 2016-04-19 Monotype Imaging Inc. Font data streaming
US8615709B2 (en) 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
US9817615B2 (en) 2012-12-03 2017-11-14 Monotype Imaging Inc. Network based font management for imaging devices
WO2014100582A2 (en) 2012-12-21 2014-06-26 Monotype Imaging Inc. Supporting color fonts
US9626337B2 (en) 2013-01-09 2017-04-18 Monotype Imaging Inc. Advanced text editor
KR102178258B1 (ko) * 2013-09-27 2020-11-12 삼성전자주식회사 디스플레이 장치 및 이의 글자 효과 제공 방법
US9317777B2 (en) 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation
US9691169B2 (en) * 2014-05-29 2017-06-27 Monotype Imaging Inc. Compact font hinting
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
EP3479368A4 (en) * 2016-07-01 2019-11-20 Blodgett, Sarah K. PROCEDURE FOR LEARNING READING BY USING SPECIAL TEXT
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
US11657602B2 (en) 2017-10-30 2023-05-23 Monotype Imaging Inc. Font identification from imagery
US11687626B2 (en) * 2020-06-17 2023-06-27 Capital One Services, Llc System and method for securing a browser against font usage fingerprinting
US11720740B2 (en) * 2021-12-06 2023-08-08 Read TwoGether Ltd. Reducing interference between two texts

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03269665A (ja) * 1990-03-19 1991-12-02 Fujitsu Ltd 文字原図および文字フォント管理方式
JPH0424781A (ja) * 1990-05-15 1992-01-28 Canon Inc 文書処理装置
US5128525A (en) * 1990-07-31 1992-07-07 Xerox Corporation Convolution filtering for decoding self-clocking glyph shape codes
US5463720A (en) * 1992-09-28 1995-10-31 Granger; Edward M. Blue noise based technique for use in a halftone tile oriented screener for masking screener induced image artifacts
US5664086A (en) * 1993-04-16 1997-09-02 Adobe Systems Incorporated Method and apparatus for generating digital type font, and resulting fonts using generic font and descriptor file
US5664216A (en) * 1994-03-22 1997-09-02 Blumenau; Trevor Iconic audiovisual data editing environment
US5598520A (en) * 1994-09-26 1997-01-28 Microsoft Corporation Methods and apparatus for hinting a font for controlling stem width as font size and resolution of output device vary
US6008820A (en) * 1995-08-04 1999-12-28 Microsoft Corporation Processor for controlling the display of rendered image layers and method for controlling same
US5803629A (en) * 1997-03-14 1998-09-08 Paul H. Neville Method and apparatus for automatic, shape-based character spacing
US6249908B1 (en) * 1998-03-27 2001-06-19 Microsoft Corporation System and method for representing graphical font data and for converting the font data to font instructions
US7064757B1 (en) * 1999-05-07 2006-06-20 Apple Computer, Inc. Automatic synthesis of font tables for character layout
US6738526B1 (en) * 1999-07-30 2004-05-18 Microsoft Corporation Method and apparatus for filtering and caching data representing images
US7184046B1 (en) * 1999-09-28 2007-02-27 Monotype Imaging Inc. Method and apparatus for font storage reduction
US6714677B1 (en) * 1999-12-17 2004-03-30 Xerox Corporation Use of correlation histograms for improved glyph decoding
US6760028B1 (en) * 2000-07-21 2004-07-06 Microsoft Corporation Methods and systems for hinting fonts
US7385606B2 (en) * 2002-12-18 2008-06-10 Microsoft Corporation International font measurement system and method

Also Published As

Publication number Publication date
KR20080080547A (ko) 2008-09-04
JP2009520216A (ja) 2009-05-21
KR101357954B1 (ko) 2014-02-03
EP1963990B1 (en) 2012-03-07
JP5329971B2 (ja) 2013-10-30
EP1963990A4 (en) 2010-09-29
BRPI0619042A2 (pt) 2011-09-20
EP1963990A1 (en) 2008-09-03
ATE548698T1 (de) 2012-03-15
US20070139412A1 (en) 2007-06-21
WO2007075250A1 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
CN101341481A (zh) 自动字体控制值确定
CN101331520A (zh) 字体提示中的笔画对比
US7505040B2 (en) Composite characters font hinting
US7710422B2 (en) Font representations
US6678410B1 (en) Generating a glyph
RU2258265C2 (ru) Автоматическая оптимизация расположения ножек символов текста
US7408555B2 (en) Adjusted Stroke Rendering
JP2013061660A (ja) 低解像度ディスプレイのためのストロークベースのフォント文字を生成する方法
US5835634A (en) Bitmap comparison apparatus and method using an outline mask and differently weighted bits
JP4162670B2 (ja) シルエット化グレーフォント発生方法
US20030043151A1 (en) Method for lossy optimization and storage of font
US7602390B2 (en) Edge detection based stroke adjustment
JPH06208370A (ja) エイリアシング阻止および格子適合を結合した文字表示ラスタ化方法
US11443466B2 (en) Image forming apparatus that randomly processes outline data in association with a character code to render a character in different forms, image forming method including randomly processing outline data in association with a character code to render a character in different forms, and non-transitory computer readable recording medium that records an information processing program that realizes the image forming method including randomly processing outline data in association with a character code to render a character in different forms
US5406640A (en) Method of and apparatus for producing predominate and non-predominate color coded characters for optical character recognition
Banjanin et al. Font hinting techniques and the importance of applying these techniques for high-quality display of fonts on the output device screen
KR100923572B1 (ko) 폰트 작성 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR20090080931A (ko) 벡터 스크린 폰트 파일의 생성방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20090107