用于在代码页中的多种编码的方法和系统的制作方法

文档序号:6561992阅读:273来源:国知局
专利名称:用于在代码页中的多种编码的方法和系统的制作方法
技术领域
本发明涉及打印系统领域,尤其涉及在打印系统中经常应用的用于为代码页中的代码点进行多种编码的方法和系统。
背景技术
与数据处理企业相关的打印系统通常在打印系统中包括本地化的打印机控制器。打印机控制器控制打印系统总的操作,包括例如主机接口、页描述语言解释和光栅化,和底层处理控制或与打印系统关联的打印引擎的接口特征。主机交互可以包括利用一个或多个通信介质和一个或多个通信协议耦合打印系统到一个或多个主机系统的适当的适配器。打印系统从一个或多个所附的主机计算机系统接收打印工作(通常指“原始打印工作”)。原始打印工作通常以例如PostScript、HP PCL、IBM IPDSTM(“智能打印机数据流”)等的页描述语言的形式编码。另外,原始打印工作可以编码为没有页描述格式与其关联的简单字符流(ASCII或EBCDIC)。
所有现有的打印系统利用某个转换体系结构来转换接收到的字符为打印页上的相应的图形表示或“图示符”。例如,在简单ASCII编码中,作为数据接收到的二进制值“01000001”可以表示在打印页上放置图示符或字母“A”的图像的命令。但是,在许多应用程序中,这种从接收到的二进制数据到相应的图示符的映射会更复杂、灵活和丰富。例如,在远东的打印系统应用程序中,中文、日文和韩文字符集和相应的图示符要更复杂。定义了更多的字符标号以至于编码需要至少16位二进制数据来识别需要的字符或图示符。更进一步,其它打印系统应用程序允许用户定制特定接收到的数据值到特定相应的图示符的映射,甚至定制图示符本身(例如,从主机应用程序加载到打印系统的用户定义的字符,例如定制的字体或定制的例如标志的图形)。
随着这些各种转换复杂度的增长,发展的标准化的转换体系结构通称为“Unicode”。Unicode规范对本领域普通技术人员是众所周知的并且通常可以在www.unicode.org获得。通常,所有Unicode“代码点”编码为16位二进制值。这些16位二进制值的一些区间预留为可以指示另一个16位Unicode值跟在其后的“代理”,从而提供在16位Unicode代码点值中编码多于64K个代码点的能力。
一些打印系统直接接受Unicode编码的信息来识别在打印系统的可打印介质上成像的特定图示符和图形。在这种系统中,需要很少的或者不需要转换。接收到的信息已经用打印系统控制器可以利用其来给用户呈现图示符或图像的最终形式编码。
但是,更多类打印系统和相关的打印应用程序仍然不用Unicode形式编码信息到打印系统。相反地,数据以8或16位二进制数据(例如“代码点”序列)的序列接收,然后根据当前的“代码页”转换到相应的图示符用于在可打印介质上成像。这种转换可以通过中介“字符名称”。例如,在IBM的先进功能表述(“AFPTM”-也称为先进功能打印)体系结构中,代码点通过当前代码页映射到标准化的字符名称。那个字符名称然后映射到当前定义的在可打印介质上成像的图示符。
在这种打印系统中,当打印系统使用以Unicode标准编码来编码的字体或符号库时,会出现问题。例如,当请求使用代码页体系结构(例如IBM AFPTM打印系统)的打印系统使用根据Unicode标准编码的TrueType字体时,代码页转换过程要么是麻烦的,要么是不充分的。类似地,用户定义的字符可以在打印应用程序中根据Unicode标准定义,但是使用代码页转换体系结构的传统打印系统转换这种用户定义的代码点和字符图示符时会遇到问题。
在目前已知的代码页体系结构转换打印系统(例如IBM AFPTM打印系统)中,用户定义的代码点不能很容易地转换。因此提供在由代码页体系结构允许的标准编码之外定义的在打印系统中代码点简单有效的转换就成了一个问题。

发明内容
本发明用可操作用于把接收到的代码点从第一编码转换到多种第二编码的任一种的方法和关联的系统和装置,解决了上述和其它相关的问题。
这里,一方面,提供了在打印系统的打印机控制器中可操作的方法。这个方法包括接收用第一编码编码的代码点。接收到的代码点然后使用代码页转换数据结构根据多种其它编码中的任一种转换为转换后的代码点。转换后的代码点然后用来在打印系统中的打印页上呈现一个或多个相应的图示符。
本发明的另一方面提供了在打印系统的打印机控制器中可操作的方法。这个方法包括从所附的主机系统接收接收到的代码点并且识别用来转换接收到的代码点的识别出的代码页数据结构。这个方法然后确定是否识别出的代码页数据结构指定了任何与接收到的代码点相应的Unicode标量值。响应确定出代码页数据结构指定了至少一个与接收到的代码点相应的相应Unicode标量值,这个方法然后根据识别的代码页数据结构转换接收到的代码点为一个或多个Unicode标量值。这个方法然后选择一个或多个与所述一个或多个Unicode标量值相应的图示符,并且在打印页上打印所述一个或多个选择的图示符。
本发明的另一方面提供了包括在可打印介质上打印信息的标志引擎并包括适于接收表示印在可打印介质上的图示符图像的代码点序列且适于将每个接收到的代码点从第一编码转换到多种第二编码的任一种的打印机控制器的打印系统。打印机控制器包括代码页转换数据结构,其包括多个条目,使得每个条目映射相应的以第一编码编码的代码点到多种第二编码的任一种,并且打印机控制器包括配置成使用代码页转换数据结构映射接收到的代码点到所述多种第二编码的任一种的代码点转换器。
本发明的另一方面提供了打印机控制器。打印机控制器适于从所附的主机系统接收代码点。控制器然后包括具有多个条目(每个条目都有配置成转换接收到的代码点的信息)的代码页数据结构。控制器也有耦合到代码点接收器和耦合到代码页数据结构和适于转换接收到的代码点为零或更多与接收到的代码点相应的Unicode标量值的代码点转换器。控制器还包括耦合到代码点转换器以在打印页上呈现一个或多个选择的与所述零或多个Unicode标量值相应的图示符的图示符呈现器。代码点转换器可响应确定出代码页数据结构指定至少一个相应的与所述接收到的代码点相应的Unicode标量值而操作,从而根据识别的代码页数据结构转换所述接收到的代码点为一个或多个Unicode标量值。
本发明可以包括下述其它示例实施方式。


相同的标号在所有附图中表示相同的元素。
图1是根据本发明的特征和方面增强以转换接收到的第一编码的代码点为多种第二编码中的任一种的打印系统的块图。
图2是用于转换接收到的代码点为多种第二编码中的任一种的根据本发明的特征和方面的系统的块图。
图3到4是描述根据本发明的特征和方面的用于转换接收到的第一编码的代码点为多种第二编码的任一种的示例方法的流程图。
图5是可以提供包括可以体现本发明方法和处理的程序产品的大量存储的打印机控制器的特征和方面的示范数据处理系统的块图。
具体实施例方式
图1-5和下面描述示出了本发明特定的示范实施方式,以教导本领域技术人员怎样制造和使用本发明。为了这种教导,本发明的一些传统的方面就简化或忽略了。本领域技术人员会认识到那些属于本发明范围的实施方式的变形。本领域技术人员会认识到下文描述的特征可以多种方法组合从而形成本发明的多种变形。因此,本发明不局限在下文所述的特定的实施方式,而只是由权利要求及其等效物而限定。
图1是耦合到一个或多个主机系统140以在可打印介质上打印主机系统提供的信息的示例打印系统100的块图。这样的打印系统100通常包括耦合到标志引擎104的打印机控制器102。标志引擎104在可打印介质上放置墨水或调色剂来形成表示从主机系统接收到的代码点和命令的序列的打印图像。为完成这种操作,打印机控制器102可以优选地包括用于耦合打印系统100到一个或多个主机系统140的主机接口108,并且可以包括用于耦合打印的打印机控制器102到标志引擎104的标志引擎接口110。
如上文讨论的,从主机系统接收到的信息可以包括表示例如打印在相关打印页上的字符的个别代码点序列。因此每个代码点表示与特定的代码点值相应的字符、标志或其它用户定义的图像的某些图形表示。
代码点值根据与产生传送到打印系统100的代码点序列的主机系统或应用程序关联的第一编码机制编码。但是,与代码点关联的关联字体图像或图示符可以根据与第一编码不同的一种或多种第二编码编码。例如,可以接收到以ASCII或EBCDIC代码点值编码的代码点,但是其可以由根据Unicode或其它编码标准编码的图示符和/或用户定义的图示符图像表示。例如,用户可以定义单个代码点相应于多个Unicode编码的标量值的图形组合。
为处理这样的代码点转换,打印机控制器102可以在CPU和内存106中包括被编程以实现想要的把接收到的代码点转换成相应的图示符或字体图像的操作的功能元素。本领域普通技术人员会容易地认识到在CPU和内存106中描述的元素可以作为客户设计的电路或者作为可在通常的或特殊用途的处理器上操作以提供所述功能的适当编程的指令来等效的实现。
增强的代码点转换器120可以是适于根据增强的代码页转换数据结构122转换接收到的第一编码编码的代码点为多种第二编码的任一种。除了由主机系统140或关联的应用程序提供的用户定义的增强的代码页转换数据结构外,可以在打印机控制器102中提供任何数量的预定义的增强的代码页转换数据结构122。例如,增强的代码点转换器120可以转换接收到的代码点为标准化的字符名称,用于识别在打印页上呈现的一个或多个图示符或字体图像。例如,增强的代码点转换器120可以转换接收到的代码点为表示一个或多个相应的图示符或字体图像的零或更多Unicode编码的标量值。
示例的增强的代码页转换数据结构可以包括如下的示例域代码点以第一编码编码的代码点值字符名称为相应代码点值表示标准化的字符名称的第二编码Unicode标量值的数量(N)表示相应的代码点作为零或更多Unicode标量值的第二编码N个Unicode标量值表示用于呈现相应的代码点的图示符的零或更多(N)Unicode标量值当增强的代码点转换器120转换接收到的代码点为相应的标准化的字符名称时,可以在CPU和内存106中提供字符名称映射数据结构124来提供字符名称进一步转换以转换成与图示符或字体字符图像相应的零或更多Unicode标量值。示例字符名称到Unicode标量值转换数据结构条目可以包括如下的示例域字符名称标准化字符名称Unicode标量值的数量(N)表示相应的字符名称为零或更多Unicode标量值的第二编码N个Unicode标量值表示用于呈现相应的字符名称的图示符的零或更多(N)Unicode标量值增强的代码点转换器120的进一步转换特征可以根据非Unicode编码字体126、Unicode编码字体128和用户定义的字体130(通常编码为Unicode编码字体)转换字符名称编码或Unicode编码为相应的字体字符或图示符。增强的代码点转换器120的处理可以最终导致识别由打印系统100在打印页上呈现的一个或多个图示符或字体图像。在一些错误的情况下,取决于特定页描述语言或打印机系统100的其它控制方面的需求,代码点的转换可能导致没有特定的图示符或字体图像呈现在打印页上。这种错误处理对本领域普通技术人员将是显而易见的。
因此增强的代码点转换器120可操作来将接收到的代码点从第一编码转换为一个或多个第二编码(包括例如字符名称编码和Unicode编码)。尤其,增强的代码点转换器120可操作来转换接收到的代码点为任何数量的Unicode标量值来允许对为特定相应的代码点呈现的图示符灵活的定义。
图2表示示例系统200在无论是打印系统还是是其它呈现或显示系统中最广泛的方面。代码点接收器202耦合到代码点转换器204,以便接收到的代码点从第一编码转换为一个或多个第二编码。图示符呈现元素206然后可操作以在例如打印页或电子显示的呈现介质上呈现与转换后的并接收到的代码点相应的零个或更多图示符。代码点转换器204可根据在增强代码页转换数据结构210中包含的信息操作。增强的代码页转换数据结构可以每个包括多个条目-一个条目用于一个相应的代码页的要转换的代码点。条目可以然后包括相应代码点的任何数量的第二编码以供由代码点转换器204和图示符表示元素206使用。
本领域普通技术人员根据图2最广泛的方面会容易地认识到多种系统,其中代码点转换器可以根据本发明的特征和方面执行。而且,本领域普通技术人员会认识到如图1示例的多种打印系统,其中灵活的代码点转换器可以根据本发明特征和方面执行。图1和图2因此仅想作为包括本发明特征和方面的示例系统,用于从第一接收到的编码向多种第二编码中的任一种的灵活的代码点转换。
更进一步,本领域普通技术人员会认识到如图1所示的完全可操作的打印系统中的多种其它元素,为简化和缩短本描述,图1和图2省略了大量这样的元素。
图3是根据本发明广泛的方面描述示例方法的流程图,其中接收到的代码点使用增强代码页转换数据结构从第一编码转换为多种第二编码中的任一种。元素300首先可操作用于从所附主机系统或应用程序接收以第一编码编码的代码点。元素302然后可操作用于使用增强代码页转换数据结构转换接收到的代码点为一个或多个第二编码。这样的转换数据结构,如上所述,可以包括多个条目,每个条目识别与相应的接收到的代码点关联的多种第二编码。最后,元素304可操作用于利用转换后的代码点信息在打印页或其它呈现介质上呈现零或更多相应的图示符。
图4是提供根据本发明的特征和方面用于把接收到的代码点从第一编码转换为在打印系统中会有用的一种或多种第二编码的示例方法的其它细节的流程图。元素400首先可操作来从所附主机系统或应用程序接收使用例如ASCII或EBCDIC的第一编码编码的代码点,如在IPDSTM命令中携带的那样。
本领域普通技术人员会认识到多种众所周知的用于指定与接收到的代码点关联的代码页或字体数据结构,或用于选择在接收到的代码点序列上使用的预定义的代码页或字体数据结构的技术。例如,IBM的IPDSTM命令和控制语言允许特定的代码页或其它字体数据结构信息与所有后来接收到的代码点关联。可选地,IPDSTM允许指定特定的代码页和/或字体与特定的接收到的代码点关联作为那个代码点传送的一部分。大量其它等效的技术对本领域普通技术人员是众所周知的并且与其它命令和控制语言和页描述语言是关联的。例如,PCL和Postscript关联了类似的定义特定接收到的代码点或接收到的代码点序列的编码以便转换为相应的在打印页或其它显示介质上呈现的图示符的技术。
依赖于代码点以其接收和编码的特定命令语言或页描述语言,特定代码页数据结构或其它字体映射标识可以与代码点一起接收或者可以由命令语言或页描述语言的其它命令预先指定。元素402然后确定是否接收到的代码点信息包括其它识别在转换接收到的代码点中使用的特定代码页的信息。如果是这样,元素404可操作来指定与代码点关联的信息一起接收到的识别的代码页作为用于后续转换的当前代码页。处理然后继续到元素408,如下文进一步讨论的。如果元素402确定没有特定的代码页与和代码点一起接收到的信息关联,元素406可操作来使用由其它先前接收到的命令指定或识别的当前代码页作为用于后续转换的当前代码页数据结构。
元素408然后可操作来使用由元素404或者406的操作指定的当前代码页数据结构转换接收到的代码点。元素408通常可操作来转换接收到的代码点为零或更多Unicode标量值。如上所述,代码页数据结构根据本发明特征和方面增强,以包括与数据结构相应的条目中每个代码点关联的多种第二编码。尤其,示例代码页数据结构可以包括与条目相应代码点关联的标准化字符名称指示形式的第二编码,以及与条目相应代码点关联的零或更多Unicode标量值形式的另一个第二编码。
元素410然后确定是否元素408的转换步骤导致接收到的代码点转换为一个或多个Unicode标量值。如果是这样,处理继续到元素414,如下文进一步描述。如果不是这样,换句话说,如果转换导致零个Unicode标量值,那么元素412可操作来通过首先把代码点转换为标准化字符名称和然后应用字符名称到Unicode转换数据结构的字符名称,把接收到的代码点转换为一个或多个标量值。如上所述,根据本发明特征和方面的增强的代码页数据结构可以包括从代码点的第一编码向作为标准化字母名称的第二编码转换的信息。字符名称可以根据厂商或其它命名字符的工业标准标准化。用于转换标准化字符名称为零或更多Unicode标量值的其它转换数据结构可以与打印系统关联或与用于转换标准化字符名称为零或更多Unicode标量值的特定代码页数据结构关联。处理然后继续到元素414来利用一个或多个Unicode标量值识别相应在打印系统中的可打印介质上打印的图示符或字体图像。
本发明的实施方式可以是完全硬件的实施方式、完全软件的实施方式或包含硬件和软件元素的实施方式的形式。在优选实施方式中,本发明用软件实现,其包括但不局限于固件、驻留软件、微码等。例如图5是将打印机控制器102描述为包括适于通过执行编程的指令和访问存储在计算机可读存储介质512上的数据提供其特征和方面的数据处理设备(CPU500和内存502)的块图。
而且,本发明可以采用从提供由或与计算机或任何指令执行系统结合使用的程序代码的计算机可用或计算机可读介质512访问的计算机程序产品的形式。为了本描述,计算机可用或计算机可读介质可以是任何能包含、存储、传送、传播或传输由或与指令执行系统、装置或设备结合使用的程序的装置。
介质可以是电子的、磁性的、光的、电磁的、红外线的或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态内存、磁带、可移动计算机磁盘、随机存储器(RAM)、只读存储器(ROM)、刚磁盘和光盘。光盘的当前例子包括只读光盘(CD-ROM)、读写光盘(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理系统将包括至少一个直接或通过系统总线550间接耦合到内存元素502的处理器500。内存元素可以包括在真正执行程序代码时使用的本地内存、块存储器和为减少代码执行时必须从块存储检索的次数,提供至少一些程序代码的临时存储的高速缓存。
输入/输出或I/O设备504(包括但不局限于键盘、显示器、定点设备等)能直接或通过中间I/O控制器耦合到系统。一个特定的在适于作为打印机控制器的数据处理系统中有用的I/O设备是耦合打印机控制器102到适于在纸上标志像素的打印引擎的信号和协议的打印引擎接口110。
网络适配器或其它主机系统接口108也可以耦合到系统,使数据处理系统能通过中间私有或公共网络耦合到其它数据处理系统或存储设备。调制解调器、电缆调制解调器、IBM通道连接、SCSI、光纤信道和以太网卡只是当前可得到的网络或主机接口适配器类型的少数一部分。
尽管这里描述了特定的实施方式,本发明的范围不局限于那些特定的实施方式。本发明的范围是由下文的权利要求及其等效物定义的。
权利要求
1.一种在打印系统的打印机控制器中可操作的方法,该方法包括接收以第一编码来编码的代码点;使用代码页转换数据结构,根据多种其它编码的任一种,转换接收到的代码点为转换后的代码点;并且使用转换后的代码点在打印系统中的打印页上呈现一个或多个相应的图示符。
2.如权利要求1所述的方法,其中所述转换步骤进一步包括使用代码页转换数据结构转换接收到的代码点为Unicode代码点。
3.如权利要求1所述的方法,其中所述转换步骤进一步包括转换接收到的代码点为一个或多个Unicode标量值。
4.如权利要求1所述的方法,其中所述转换步骤进一步包括使用代码页转换数据结构,映射接收到的代码点为零或更多Unicode标量值;确定所述映射接收到的代码点的步骤是否产生零个Unicode标量值;并且响应确定出所述映射接收到的代码点的步骤产生零个Unicode标量值,使用代码页转换数据结构,重新映射接收到的代码点为字符名称。
5.如权利要求4所述的方法,其中所述转换步骤进一步包括响应确定出所述映射接收到的代码点的步骤产生一个或多个Unicode标量值,识别一个或多个与所述一个或多个Unicode标量值对应的图示符用于在纸上打印。
6.如权利要求4所述的方法,其中所述转换步骤进一步包括确定所述重新映射步骤是否产生字符名称;响应确定出所述重新映射步骤产生字符名称,使用字符名称转换数据结构,转换所述字符名称为一个或多个Unicode标量值。
7.如权利要求6所述的方法,其中所述转换步骤进一步包括识别一个或多个与所述通过转换字符名称产生的一个或多个Unicode标量值对应的图示符。
8.一种在打印系统的打印机控制器中可操作的方法,该方法包括从所附的主机系统接收所接收的代码点;识别用于转换接收到的代码点的所识别的代码页数据结构;确定识别出的代码页数据结构是否指定任何的与接收到的代码点相应的Unicode标量值;响应确定出代码页数据结构指定至少一个与接收到的代码点相应的相应Unicode标量值,根据识别出的代码页数据结构转换接收到的代码点为一个或多个Unicode标量值;选择一个或多个与所述一个或多个Unicode标量值对应的图示符;并且在打印页上打印一个或多个选择的图示符。
9.如权利要求8所述的方法,进一步包括响应确定出代码页数据结构识别出没有Unicode标量值与接收到的代码点相对应,使用识别出的代码页数据结构转换接收到的代码点为字符名称;并且使用字符名称转换数据结构,进一步转换字符名称为一个或多个相应的Unicode标量值。
10.如权利要求8所述的方法,进一步包括识别用来根据与接收到的代码点一起接收到的信息转换的所识别的代码页数据结构。
11.如权利要求8所述的方法,进一步包括识别用来根据与接收到的代码点无关的信息转换的所识别的代码页数据结构。
12.一种打印系统,包括在可打印介质上打印信息的标志引擎;和适于接收表示在可打印介质上印制的图示符图像的代码点序列,和适于把每个接收到的代码点从第一编码转换为多种第二编码中的任一种的打印机控制器,其中打印机控制器进一步包括包括多个条目的代码页转换数据结构,其中每个条目映射相应的以第一编码来编码的代码点为所述多种第二编码中的任一种;及配置成使用所述代码页转换数据结构,映射接收到的代码点为所述多种第二编码的所述任一个的代码点转换器。
13.如权利要求12所述的打印系统,其中在代码页转换数据结构中定义的多种第二编码中的至少一种转换相应的代码点为零或更多Unicode标量值。
14.如权利要求13所述的打印系统,其中多种第二编码的所述至少一种转换相应的代码点为多个Unicode标量值。
15.如权利要求12所述的打印系统其中在代码页转换数据结构中定义的多种第二编码的至少一种转换相应的代码点为字符名称,并且其中打印机控制器进一步包括具有多个条目的字符名称映射数据结构,其中每个条目映射相应的字符名称为零或更多Unicode标量值。
16.一种打印机控制器,包括适于从所附主机系统接收代码点的代码点接收器;具有多个条目的代码页数据结构,每个条目具有为转换接收到的代码点而配置的信息;耦合到代码点接收器并且耦合到代码页数据结构并适于转换接收到的代码点为零或更多与接收到的代码点相应的Unicode标量值的代码点转换器;和耦合到代码点转换器用于在打印页上呈现一个或多个与所述零或更多Unicode标量值对应的选择的图示符的图示符呈现器,其中代码点转换器可响应确定出代码页数据结构指定至少一个与接收到的代码点相应的相应Unicode标量值操作,以根据识别出的代码页数据结构转换接收到的代码点为一个或多个Unicode标量值。
17.如权利要求16所述的打印机控制器其中代码点转换器可响应确定出代码页数据结构识别出没有与接收到的代码点相应的Unicode标量值进一步操作,以使用识别出的代码页数据结构转换接收到的代码点为字符名称,并且其中代码点转换器进一步可操作,以使用字符名称转换数据结构转换字符名称为一个或多个相应的Unicode标量值。
18.如权利要求16所述的打印机控制器其中代码点转换器进一步可操作,以识别在根据与接收到的代码点一起接收到的信息转换时使用的所识别的代码页数据结构。
19.如权利要求16所述的打印机控制器其中代码点转换器进一步可操作,以识别在根据与接收到的代码点无关的信息转换时使用的所识别的代码页数据结构。
全文摘要
为打印系统中的打印机控制器提供了简单、灵活地转换接收到的代码点为多种编码中的任一种的方法和系统。增强了本领域通常实行的代码页数据结构,以把接收到的代码点从第一编码转换为多种结果编码中的任一种。一方面,增强的代码页数据结构可以包括接收到的代码点到任何数量的Unicode标量值的映射。另一方面,在没有Unicode代码点可以得到时,增强的代码页可以通过存在的代码页和字符名称数据结构提供第二映射,来识别相应的在可打印介质上成像的图示符。
文档编号G06K15/02GK1971587SQ20061013614
公开日2007年5月30日 申请日期2006年10月13日 优先权日2005年11月22日
发明者长田纪子, 杰弗里·A.·英格尔曼, 戴维·E.·斯通, 长野惠子 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1