首页> 中国专利> 用于在热介质上绘制图像的装置、方法和计算机程序产品

用于在热介质上绘制图像的装置、方法和计算机程序产品

摘要

一种用于在热介质上绘制图像的装置包括:笔划组生成单元,被配置为对连续笔划进行分组,以生成所述连续笔划的一个或多个笔划组,其中所述连续笔划形成要被绘制的期望字符的图像;第一重叠部分移除单元,被配置为检测与相同笔划组相关联的笔划的第一组合之间的第一重叠部分,以按照所述相同笔划组中的笔划的布置顺序移除所述第一重叠部分;以及第二重叠部分移除单元,被配置为检测与多个笔划组相关联的笔划的第二组合之间的第二重叠部分,以从所述笔划组中移除所述第二重叠部分。

著录项

  • 公开/公告号CN103221220A

    专利类型发明专利

  • 公开/公告日2013-07-24

    原文格式PDF

  • 申请/专利权人 株式会社理光;

    申请/专利号CN201180055975.9

  • 发明设计人 长谷川史裕;

    申请日2011-11-18

  • 分类号B41J2/32(20060101);B23K26/00(20060101);B41M5/337(20060101);H04N1/387(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人曾贤伟;杨继平

  • 地址 日本东京都

  • 入库时间 2024-02-19 19:54:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-06

    授权

    授权

  • 2013-08-21

    实质审查的生效 IPC(主分类):B41J2/32 申请日:20111118

    实质审查的生效

  • 2013-07-24

    公开

    公开

说明书

技术领域

本公开总体涉及用于通过将激光束施加到具有针对热量的显色属性的热介质上来绘制图像的热技术。

背景技术

可重写技术由于其便捷性和对环境负担的减小而变得越来越流行,并且已经提出了可重写技术的各种模型。在这些可重写模型中,使用热量的热重写介质(TRM)已经被迅速地发布为商业产品并投入市场。

相关技术领域中的热重写技术通常采用其中通过利用热感头进行加热来在热可重写介质上进行记录的加热记录系统;但近来的热可重写技术提议可以通过施加激光束来对热可重写介质进行加热,例如如日本专利申请公开No.2004-90026(在下文中被称为“专利文献1”)所公开的那样。这样的利用激光束的热量的热可重写技术在很大程度上不同于利用热感头的热量的热可重写技术的原因在于:利用激光束的热量的热可重写技术涉及利用激光束的非接触加热。在这样的配置中,由于激光束被隔开一段距离而施加到介质上,因此可以通过施加激光束来在移动介质,例如在传输带上传送的容器上进行记录。因此,利用激光束的热可重写技术可以扩展其应用范围。需要注意的是,通过激光束来记录或形成图像是公知的现有技术,例如如日本专利申请公开No.2004-341373(在下文中被称为“专利文献2”)所公开的那样。

热可重写介质具有这样的属性:在特定的温度驱散其颜色,并且通过被加热到比驱散温度高的温度而显现其颜色。但当将过多的热量施加到热可重写介质上时,其属性可能会改变,从而显现出劣化,例如其寿命的缩短或记录内容的不完全的擦除。

例如,当将具有预定的笔划宽度(激光束的笔划)的激光束重复地应用到热可重写介质的相同区域上时,由于重叠的激光束施加,过多的热量可能会被施加到热可重写介质的该区域。这样的区域的示例包括笔划的“相交”、“弯曲”和“接近”(说明了在行进的同时的所施加的激光束的轨迹的行组分)。

图1和2是说明了通过激光束在热可重写介质上记录的字符的示例的图示。

图1说明了变形的数字“7”(对角线被增加到“7”),该变形的数字“7”包括由笔划的相交形成的重叠部分P1。通过将激光束重复地施加到仍具有利用激光束刚刚已经在热可重写介质上形成的残余热量的笔划的部分来形成笔划的重叠部分P1。因此,热可重写介质上的笔划获取具有较高温度的重叠部分P1,该较高的温度可能会不利地影响热可重写介质。

此外,图1中的笔划包括由于笔划的弯曲形成的重叠部分P2。由于因控制激光束的发射方向的镜惯性效果通过施加激光束较长时间而形成可重写介质上的笔划的弯曲,因此热可重写介质上的笔划的弯曲(即重叠部分P2)获得了较高的温度,该较高的温度可能会不利地影响热可重写介质。

图2说明了作为用于对每个汉字进行系统分类的汉字字符的组分的“字根”的示例。需要注意的是,该示例中的字根出现在汉字的左侧上,并且指示“人”的含义。在本示例中,图2中的笔划在实际上并不包括通过激光束的中心的轨迹形成的重叠部分;但由于激光束的宽度而获得了图2中的笔划的重叠部分P3。

在利用专利文献2中公开的激光束的热可重写技术中,已经尝试通过分割、驱散或缩短笔划并减小笔划的长度来去除笔划的重叠,以便防止不利地影响热可重写介质。例如,如果两个笔划具有重叠部分,则通过分割、驱散或缩短笔划中具有比其他笔划的要被移除的量小的要被移除的量的一个笔划来去除重叠部分。如果两个笔划具有相同的要被移除的量,则可以基于要被绘制的笔划的绘制顺序(要被绘制的在先或后续笔划)来确定笔划中分割、驱散或缩短的一个笔划。

当以上述方式去除包括笔划宽度的重叠部分时,可以使得相互接近的两个或更多的笔划断开连接或分段,这可能会导致绘制质量的劣化。

图3A说明了在去除重叠部分之前形成以草书样式绘制的字符“x”的笔划。图3A中的草书字符“x”由连续绘制的笔划ST1到ST7和连续绘制的笔划ST8到ST14形成。

在这种情况下,如果从由图3A中所示的连续笔划的两个组(集合)形成的草书字符“x”中去除重叠部分,则草书字符“x”可能会导致图3B中所示的断开连接的分段的笔划。也就是说,笔划ST3、ST6、ST9和ST12(图3A)中的每一个均缩短了一端,这导致笔划ST3’、ST6’、ST9’、ST12’(图3B)。笔划ST4和ST11(图3A)被驱散,并且笔划ST10和ST5(图3A)中的每一个的两端被缩短,这导致笔划ST10’和ST5’(图3B)。

这样的由于笔划的断开连接或分段造成的绘制质量的劣化不仅可能会出现在连续绘制的笔划中,而且可能会出现在日语的平假名的字符“su”的连续绘制的字符“α形”或“环形”部分的“相交”中。

发明内容

本发明实施例的一个总体目的在于提供一种方法、装置和存储程序的计算机可读介质,不会出现由于两个或更多个接近的笔划的断开连接造成图像质量劣化来在热介质上绘制图像,从而使得在实质上消除由于相关的现有技术中的限制和缺陷造成的一个或多个问题。

在一个实施例中,提供了一种用于在热介质上绘制图像的装置。所述装置包括:笔划组生成单元,被配置为对连续笔划进行分组,以生成所述连续笔划的一个或多个笔划组,其中所述连续笔划形成要被绘制的期望字符的图像;第一重叠部分移除单元,被配置为检测与相同笔划组相关联的笔划的第一组合之间的第一重叠部分,以按照所述相同笔划组中的笔划的布置顺序移除所述第一重叠部分;以及第二重叠部分移除单元,被配置为检测与多个笔划组相关联的笔划的第二组合之间的第二重叠部分,以从所述笔划组中移除所述第二重叠部分。

在另一个实施例中,提供了一种用于在热介质上绘制图像的方法。所述方法包括:对连续笔划进行分组,以生成所述连续笔划的一个或多个笔划组,其中所述连续笔划形成要被绘制的期望字符的图像;检测与相同笔划组相关联的笔划的第一组合之间的第一重叠部分,以按照所述相同笔划组中的笔划的布置顺序移除所述第一重叠部分;以及检测与多个笔划组相关联的笔划的第二组合之间的第二重叠部分,以从所述笔划组中移除所述第二重叠部分。

在另一个实施例中,提供了一种体现有用于在热介质上绘制图像的绘制控制程序的非瞬态性计算机可读记录介质,所述绘制控制程序当被处理器处理时,使得绘制装置的绘制控制单元执行绘制控制程序的指令的集合。所述指令的集合包括:对连续笔划进行分组,以生成所述连续笔划的一个或多个笔划组,其中所述连续笔划形成要被绘制的期望字符的图像;检测与相同笔划组相关联的笔划的第一组合之间的第一重叠部分,以按照所述相同笔划组中的笔划的布置顺序移除所述第一重叠部分;以及检测与多个笔划组相关联的笔划的第二组合之间的第二重叠部分,以从所述笔划组中移除所述第二重叠部分。

附图说明

结合附图并根据以下的具体实施方式,实施例的其他目的和进一步的特征将会变得更加明显,在附图中:

图1是说明了通过激光束在热可重写介质上绘制的字符的示例的图示;

图2是说明了通过激光束在热可重写介质上绘制的字符的示例的图示;

图3A和3B是说明了由笔划形成的字符和导致断开连接或分段的笔划的字符的示例的图示;

图4是说明了由笔划形成的字符和导致断开连接或分段的笔划的字符的另一个示例的图示;

图5是说明了根据实施例的热可重写介质绘制装置的配置示例的图示;

图6是说明了根据实施例的热可重写介质绘制装置的整体控制单元的配置示例的图示;

图7是说明了由用户指明的参数的数据结构的示例的图示;

图8是说明了绘制字符管理数据的结构示例的图示;

图9是说明了字体数据的结构示例的图示;

图10A和10B是说明了笔划字体数据的结构示例的图示;

图11A和11B是说明了轮廓字体数据的结构示例的图示;

图12A和12B是说明了笔划组管理数据的结构示例的图示;

图13是说明了相交序列数据的结构示例的图示;

图14是说明了标志数据等的结构示例的图示;

图15是说明了根据实施例的由热可重写介质绘制装置执行的过程的概况的流程图;

图16A和16B是说明了根据实施例的由热可重写介质绘制装置执行的过程的示例的图示;

图17是说明了根据实施例的由热可重写介质绘制装置执行的过程的示例的流程图;

图18是说明了去除笔划的重叠部分的过程的示例的流程图;

图19是说明了对笔划进行分组的过程的示例的流程图;

图20是说明了其中一个笔划的结束点匹配另一个笔划的开始点的两个笔划的角度的示例;

图21A到21C是说明了通过基于对笔划进行分组的差异角绘制字符获取的结果的示例的图示;

图22是说明了生成平行笔划以使得期望的字符为黑体字的过程的示例的流程图;

图23是说明了生成平行笔划的示例的图示;

图24是说明了去除相同的笔划组中的笔划的重叠部分的过程的示例的流程图;

图25是说明了计算笔划之间的最短距离的过程的示例的流程图;

图26A和26B是说明了彼此平行的笔划的示例的图示;

图27是说明了彼此并不平行并且在笔划之间不包括相交的笔划的示例的图示;

图28是说明了当彼此平行地布置笔划时分割笔划的过程的示例的流程图;

图29A和29B是说明了缩短和删除平行笔划的示例的图示;

图30是说明了当并非彼此平行地布置笔划时分割笔划的过程的示例的流程图;

图31A和31B是说明了彼此相交的笔划的示例的图示;

图32A和32B是说明了当笔划并非彼此平行时的过程的示例的图示;

图33是说明了将标记分配给应受到驱散的笔划的过程的示例的流程图;

图34A和34B是说明了当基于笔划的相交角度校正相交之间的距离时的示例的图示;

图35是说明了移除笔划组之间的笔划的重叠部分的过程的示例的流程图;

图36是说明了移除笔划组之间的笔划的重叠部分的过程的另一个示例的流程图;

图37A和37B是说明了被使得相互轻微接触的笔划的示例的图示;

图38A和38B是说明了选择笔划组之一作为要缩短或分割的笔划组的过程的示例的流程图;

图39A和39B是黑体字符的绘制示例;以及

图40A和40B是说明了其中已经改善了由于相关技术中的限制和缺陷导致的期望字符的显现劣化的示例的图示。

具体实施方式

在下文中,将参照附图描述优选实施例。

[配置]

图5是说明了根据实施例的热可重写介质绘制装置1的配置示例的图示。

在图5中,热可重写介质绘制装置1包括被配置为控制热可重写介质绘制装置1的整体操作的整体控制单元11和被配置为发射激光束的激光发射单元12。此外,激光发射单元12包括激光振荡器13、被配置为调整激光束的斑直径(即放大斑直径)的斑直径调整透镜14、被配置为改变激光束的发射方向的方向控制镜15、被配置为驱动方向控制镜15的方向控制马达16和被配置为将通过方向控制镜15重新定向的激光束汇聚到热可重写介质2上的焦距调整透镜17。

通常将半导体激光二极管(LD)用作激光振荡器13;但还可以使用气体激光振荡器、固态激光振荡器、和液体激光振荡器等。方向控制马达16可以是被配置为以双轴方向控制方向控制镜15的反射表面的伺服马达。方向控制马达16和方向控制镜15形成了检流计镜。

热可重写介质2可以由具有分离的染料隐色基和显影剂的薄膜构成。当以使得染料隐色基和显影剂结合的预定温度Ta对热可重写介质2进行快速冷却时,具有这样的配置的热可重写介质2可以显现颜色,并且当以使得染料隐色基和显影剂再次分离的比预定的温度Ta低的预定温度Tb对热可重写介质2进行冷却时,具有这样的配置的热可重写介质2可以驱散颜色。热可重写介质2可以是可重写的热感记录纸。在根据实施例的热可重写介质绘制装置1中,可以控制这样的热可重写介质2的劣化;但还可以控制非可重写介质的劣化。

图6是说明了整体控制单元11的配置示例的图示。具体而言,图6说明了在主要通过软件实现整体控制系统11的情况下的整体控制单元11的硬件配置。相应地,在此情况下的计算机是物理实体。在计算机针对整体单元11并非物理实体的情况下,通过针对特定功能制造的IC(例如ASIC(专用集成电路))来实现整体控制单元11。

整体控制单元11包括CPU111、存储器112、存储设备113、输入设备114、显示器115、CD/DVD驱动器116和网络设备117。诸如硬盘驱动器(HDD)之类的存储设备113包括字体数据DB1131和字符绘制程序1132,所述字体数据DB1131存储用于一系列的字符的包括笔划字体和轮廓字体的字体数据,并且所述字符绘制程序1132通过从字体数据中去除重叠部分生成用于绘制字符的绘制指令,并控制激光发射单元12(参见图5)。

CPU111从存储设备113获取字符绘制程序1132以执行字符绘制程序1132,从而基于下述的过程在热可重写介质2上绘制字符。需要注意的是,存储器112可以是诸如DRAM之类的用作工作区域的易失性存储器,而字符绘制程序1132由CPU111执行。输入设备114可以是鼠标或键盘,由用户使用所述输入装置114来输入用于控制激光发射单元12的指令。显示器115被用作基于由字符绘制程序1132提供的屏幕信息,以预定的分辨率利用预定数量的颜色显示GUI(图形用户接口)的用户接口。例如,显示器115显示用户的用于输入用户期望在热可重写介质2上进行绘制的字符的输入字段。

CD/DVD驱动器116在结构上被配置为保持或弹出CD/DVD31。当CD/DVD驱动器116被配置为在CD/DVD驱动器116保持CD/DVD31的同时从CD/DVD31获取数据或者将数据写入到CD/DVD31上时,字体数据DB1131和字符绘制程序1132被存储在准备好递送的CD/DVD31中。因此,从CD/DVD31获取字体数据DB1131和字符绘制程序1132,并且获取的字符绘制程序1132被安装在存储设备113中。CD/DVD31可以是任何种类的非易失性存储器,例如蓝光盘(注册商标)、SD卡、记忆棒(memory stick,注册商标)、多媒体卡和xD卡。

网络设备117用作用于连接到LAN或互联网的接口(例如以太网(Ethernet,注册商标)卡)。网络设备117能够根据在OSI参考模型的物理层或数据链路层中指明的协议执行过程,并且基于字符编码将绘制指令发送到激光发射单元12。可以从经由网络连接的预定的服务器下载字体数据1131和字符绘制程序1132。或者,整体控制装置11和激光发射单元12可以具有经由USB(通用串行总线)、IEEE1394、无线USB的直接物理连接或不经由网络连接的蓝牙。

期望在可重写介质2上绘制的目标字符可以被存储作为存储设备113中的列表,或者可以被经由输入设备114输入。通过诸如UNICODE或JIScode之类的字符编码系统来指明目标字符。整体控制单元11从字体数据DB中获取用于与指明的字符代码相对应的目标字符的字符字体数据,将用于目标字符的所获取的字符字体数据转换为绘制指令的集合,并且执行绘制指令的集合来控制激光发射单元12。

图7到14是由热可重写介质绘制装置1的整体控制单元11处理的数据的示例。

图7是说明了由用户指明的参数的数据结构的示例的图示。参数的数据格式包括如下项目:“字符类型”、“字符串(字符代码阵列)”、“黑体(平行笔划的数量,重叠的宽度)”、“字符间距”、“行间距”、“行向方向”、“绘制范围”、“可允许的绘制范围”和“转动”。

图8是说明了绘制字符管理数据的数据结构的示例的图示。绘制字符管理数据的数据结构包括如下项目:“序列号(绘制顺序)”、“字符代码”、“绘制位置(X-坐标、Y-坐标)”和“绘制放大率”。

图9是说明了字体数据的数据结构的示例的图示。字体数据的数据结构包括笔划字体数据和轮廓字体数据。笔划字体数据包括由中心行轨迹或单个笔划形成的字符,而轮廓字体数据包括由轮廓轨迹或中空轮廓形成的字符。在笔划字体数据中存储的每一个字符包括与“笔划字体数据”相关联的“字符代码”。同样,在笔划字体数据中存储的每一个字符包括与“轮廓字体数据”相关联的“字符代码”。

图10A是说明了笔划字体数据的数据结构的示例的图示。笔划字体数据包括列表,所述列表包括开始于表示“字符代码”的“c”的行、开始于表示“数据迁移”的“m”的行、开始于表示直线绘制的“d”的行、和开始于表示曲线绘制的b的行(在本示例中未示出)。图10B说明了与图10A中所示的笔划字体数据相对应的字符。

图11A是说明了轮廓字体数据的数据结构的示例的图示。轮廓字体数据包括列表,所述列表包括开始于表示“字符代码”的“c”的行、开始于表示“数据迁移”的“m”的行、开始于表示直线绘制的“d”的行、和开始于表示曲线绘制的b的行。图11B说明了与图11A中所示的笔划字体数据相对应的字符。

图12A是说明了笔划组管理数据的数据结构的示例的图示。笔划组管理数据包括列表,所述列表包括开始于表示“笔划组的序列号”的“GN”的行、开始于表示“与笔划组相关联的笔划的总数”的“NM”的行、和与笔划组相关联的数据。每个笔划的数据包括开始于表示笔划数的“SN”的行、开始于表示X坐标的开始点的“XS”的行、开始于表示Y坐标的开始点的“YS”的行、开始于表示X坐标的结束点的“XE”的行、和开始于表示Y坐标的结束点的“YE”的行。图12B说明了与图12A中所示的笔划组管理数据相对应的笔划组的示例。

图13是说明了与相应的笔划组相关联的相交序列数据的数据结构的示例的图示。每个相交的相交序列数据的数据结构包括如下项目:“第一笔划组号”、“第一笔划组中的笔划号”、“第二笔划组号”、“第二笔划组中的笔划号”、“相交的坐标”和“相交的角度”。

图14是说明了标志和其他数据的数据结构的示例的图示。标志和其他数据的数据结构包括如下项目:“驱散责任标记”、“标志项”、“标志消失”、“标志”、“标志和其他”以及“总移除区域”。

[操作]

图15是说明了根据实施例的由热可重写介质绘制装置执行的过程的概况的流程图。图16A说明了绘制普通字符的过程的示例,而图16B说明了绘制黑体字符的过程的示例。

在图15中,当过程开始时,获取由一个笔划或两个或更多笔划形成的要绘制的目标字符的字体行核心上的信息。图16A中的情况(i)说明了这样的在步骤S11中获取(普通)目标字符的字体行核心上的信息的过程。需要注意的是,执行与如图16A中的情况(i)中所示的过程相同的获取黑体目标字符的字体行核心的信息的过程。

回见图15,选择包括一系列的连续笔划的笔划组(步骤S12)。图16A中的情形(ii)说明了这样的在步骤S12中选择包括(普通)目标字符的笔划的笔划组的过程。需要注意的是,为黑体目标字符执行与如图16A中的情况(ii)中所示的过程相同的选择笔划组的过程。

随后,在黑体目标字符的情况下,随后生成平行笔划以增加目标字符的笔划宽度(步骤S13)。图16B中的情况(iii)说明了这样的在步骤S13中生成平行笔划以增加黑体目标字符的笔划宽度的过程。

回见图15,随后移除笔划组中的笔划的重叠部分(步骤S14)。图16和16B中的情况(iv)说明了这样的在步骤S14中移除相应的普通字符和黑体字符中的笔划组中的笔划的重叠部分的过程。在本示例中,移除日语的平假名的字符“su”的环形的重叠部分。需要注意的是,在以从上到下的方向绘制字符的环形的过程中获得重叠部分。

回见图15,随后移除笔划组之间的笔划的重叠部分(步骤S15)。图16A和16B中的情况(v)说明了这样的在步骤S15中移除相应的普通字符和黑体字符中的笔划组之间的笔划的重叠部分的过程。在本示例中,移除在目标字符的水平直线和目标字符的环形之间的相交中获得的重叠部分。需要注意的是,在从左到右绘制水平直线和从上到下绘制环形的过程中获取笔划组之间的重叠部分。

回见图15,输出了从其移除笔划组中的笔划的重叠部分和笔划组之间的笔划的重叠部分的目标字符的绘制数据(步骤S16),并且基于绘制数据执行目标字符的绘制以终结所述过程。

图17是说明了根据实施例的由热可重写介质绘制装置执行的过程的示例的流程图。

在图17中,当过程开始时,检查由用户给出的参数是否包括任何形式缺陷(步骤S101)。

随后,从由用户给出的参数中获取字符代码、字符间距和行间距,以为每个字符配置绘制位置,并且在绘制字符管理数据中设置每一个字符的计算出的绘制位置(步骤S102)。

随后,计算每一个字符的绘制放大率,并且在绘制字符管理数据中设置每一个字符的计算出的绘制放大率(步骤S103)。例如通过256*256像素的矩阵中的坐标值来定义字体。计算将该字符的原始字体尺寸放大到由用户给出的尺寸(例如,3cm宽和2.5cm高)的绘制放大率。由于笔划包括笔划宽度,因此基于比由用户给出的尺寸小一半的尺寸(在高度和宽度上)的笔划宽度来计算绘制放大率。当绘制黑体字符时,基于由用户指明的平行笔划的数量来计算绘制放大率。例如,如果平行地绘制三到九个笔划,则笔划宽度变为比原始笔划宽度大三到九倍。因此,基于具有所得到的(放大的)尺寸的一半的尺寸的笔划宽度来计算绘制放大率。

随后,根据列表中的顶部字符为每一个字符确定字符的尺寸是否超过由用户指明的绘制范围或可允许的绘制范围(≈介质的宽度)(步骤S104)。如果指明了字符的转动,则检查转动的字符的笔划是否从绘制范围或可允许的绘制范围伸出。

随后,如果字符包括伸出的笔划,则从要绘制的字符的列表中去除这样的字符(即删除该字符的绘制字符管理数据)(步骤S105)。

随后,确定是否已经对列表中的所有字符完成了上述过程(步骤S106)。如果尚未对列表中的所有字符完成该过程(步骤S106中为“否”),则为下一个字符执行确定字符是否包括伸出的笔划的过程(回到步骤S104)。

另一方面,如果已经对列表中的所有字符完成了所述过程(步骤S106中为“是”),则改变列表中的字符的绘制顺序,以增加绘制速度(步骤S107)。例如,如果以水平行取向绘制行中的字符,则绘制顺序的初始定义(缺省)包括以从左到右的方向在行中绘制字符,并且以从上到下的方式进行绘制。但由于从第一字符行的右端到第一字符行之下的第二字符行的左端存在长距离,因此利用上述绘制顺序的定义进行字符绘制会花费很长时间。因此,每隔一行由从左到右的方向至从右到左的方向改变绘制顺序。

随后,基于确定的绘制顺序为每一个字符从字体数据中获取笔划信息(S108)。也就是说,基于先前定义的绘制放大率从字体数据获取笔划的坐标。在绘制普通字符的情况下,从笔划字体获取笔划信息,并且在绘制轮廓字符的情况下,从轮廓字体获取笔划信息。

随后,移除笔划的重叠部分(步骤S109)。由于笔划的重叠部分生成热量,因此通过将笔划分割为适当的部分或者缩短一些笔划或删除一些笔划来执行该过程以不创建笔划的重叠部分。需要注意的是,笔划是行分段信息;然而,笔划包括笔划宽度。因此,不仅在笔划彼此相交的情况中,而且在笔划彼此接近的情况中,都有可能需要移除重叠部分。在下文中将描述移除重叠部分的过程的细节。

接下来,确定是否已经对列表中的所有字符完成了上述过程(步骤S110)。如果尚未对列表中的所有字符完成该过程(步骤S110中为“否”),则为下一个字符执行确定字符是否包括伸出笔划的过程(回到步骤S108)。

另一方面,如果已经对列表中的所有字符完成了该过程(步骤S110中为“是”),则执行将目标字符转换为轮廓形式的过程(步骤S111)。该过程仅在期望绘制轮廓字符的情况下才执行。

随后,基于参数转动笔划(S112)。由于通过行的坐标的结束点来定义笔划,因此可以仅基于参数来转动行的坐标的结束点。

随后,将在内部过程中使用的笔划的数据格式转换为由绘制控制器(较低的控制器)解释的绘制数据格式,从而结束该过程。

图18是说明了移除笔划的重叠部分的过程的示例的流程图(图17中的步骤S109)。

在图18中,当去除笔划的重叠部分的过程开始时,确定目标字符之一是否为实体填充的字符(步骤S201、S202)。实体填充的字符是指很难用普通笔划表示的那些字符,例如实体填充的圆形形状或实体填充的星形形状,它们是通过平行笔划来定义的。由于在字体数据中存储这样的字符的极细距处的行数据,因此可能需要移除(细化)与目标字符的笔划宽度相对应的形成字符的一些行。基于是否平行地对齐了大致所有的笔划来确定实体填充的字符。

如果目标字符被确定为实体填充的字符(步骤S202中为“是”),则将实体填充的字符临时转换为位图格式,并且随后内部扫描位图的字符以定义笔划(步骤S203)。随后终止该过程。

另一方面,如果目标字符不是实体填充的字符(步骤S202中为“否”),则集成笔划(步骤S204)。也就是说,以直线对齐字体数据中存储的笔划;但重叠的两个或更多的笔划被定义为分离的实体。因此,将重叠的行集成和定义为一条直线。

随后,改变所有笔划的存储顺序,从而彼此邻近地定位具有相同结束点的笔划,并且随后存储以改变的存储顺序重新布置的笔划(步骤S205)。

接下来,确定是否要对所存储的重新布置的笔划进行反向字符绘制(步骤S206)。如果要对所存储的重新布置的笔划进行反向字符绘制(步骤S206中为“是”),则在这里终止移除笔划的重叠部分的过程。在这种情况下,尽管存在要被移除的重叠部分,但并不绘制所存储的字符数据自身。相应地,无需后续的重叠部分移除步骤。

如果并不要对目标字符进行反向字符绘制(步骤S206中为“否”),则对所存储的重新布置的笔划进行分组(步骤S207)。执行该分组过程是因为具有公共结束点的两个或更多的笔划是连续的。因此,通过激光来绘制连续笔划而不关断激光发射。需要注意的是,该组是由一系列的连续笔划形成的笔划单元。在下文中将描述对连续笔划进行分组的过程的细节。

接下来,确定在笔划组中是否存在任何的重叠部分,并且如果在笔划组中存在重叠部分,则具有重叠部分的笔划要被分割、缩短或删除(步骤S208)。在下文中将描述分割、缩短或删除在笔划组中具有重叠部分的笔划的过程的细节。

随后,标记要被驱散的笔划组(步骤S209)。当分割、缩短或删除具有重叠部分的笔划时,可以完全驱散具有重叠部分的笔划,或者可以驱散在两个笔划之间夹住的重叠部分。因此,由于缺乏信息量,可能会严重地劣化笔划的可视性。因此,应当标记要被驱散的那些笔划,从而并不分割或缩短这样的笔划。在下文中将描述标记要被驱散的笔划的过程的细节。

随后,选择两个笔划组,并且移除所选择的笔划组之间的笔划的重叠部分(步骤S210)。在下文中将描述移除笔划组之间的笔划的重叠部分的过程的细节。

随后,扩展笔划组的结束点(步骤S211)。由于笔划组的结束点部分趋于容易地释放热量,因此实际绘制的笔划可能会短于笔划组的期望的长度。因此,通过扩展笔划组的结束点部分可以绘制期望长度的笔划组。

随后,重新布置(改变)字符中的笔划的绘制顺序(步骤S212)。通过以有效的绘制顺序绘制笔划并减小不必要的跳跃(无激光发射移动),可以缩短通过激光标记绘制字符的笔划的绘制时间。

随后,设置相交跳跃(步骤S213)。相交跳跃是指激光标记以与标记速度相同的速度跳跃。总体而言,以高于标记速度的速度执行激光标记的跳跃。由于通过为标记之间的跳跃将激光标记的跳跃速度设置为相同于激光标记的标记速度而不再需要插入等待时间,因此可以缩短绘制字符的笔划的绘制时间。之后终止该过程。

图19是说明了对笔划进行分组的过程的示例的流程图(图18中的步骤S207)。

在图19中,当对笔划进行分组的过程开始时,确定目标字符是否为黑体字符(步骤S301)。基于由用户给出的参数确定目标字符是否为黑体字符。

如果目标字符是黑体字符(步骤S301中为“是”),则为黑体字符执行以下过程(步骤S302到S307)。另一方面,如果目标字符不是黑体字符(步骤S301中为“否”),则并不为黑体字符执行以下的过程(步骤S302到S307)。

在黑体字符的过程中,初始选择两个笔划(步骤S302),并且确定所选择的两个笔划之一的结束点是否匹配另一个笔划的开始点(步骤S303)。

如果所选择的笔划之一的结束点匹配另一个笔划的开始点(步骤S303中为“是”),则确定两个笔划相对于匹配点的角度是否超过85度(步骤S304)。图20说明了一个笔划的结束点匹配另一个笔划的开始点的两个笔划的角度的示例。需要注意的是,在下文中描述“85度的角度”。

回见图19,如果所选择的两个笔划相对于匹配点的角度超过85度(步骤S304中为“否”),则将两个笔划分组为相同的笔划组(步骤S305)。

另一方面,如果所选择的笔划之一的结束点并不匹配另一个笔划的开始点(步骤S303中为“否”),或者所选择的两个笔划相对于匹配的点的角度并不超过85度(步骤S304中为“是”),则并不将所选择的两个笔划分组为相同的笔划组(并不执行步骤S305)。

随后,确定是否在步骤S303和S304中已经对上述过程检查了笔划的所有组合(步骤S306)。如果并非已经检查了笔划的所有组合(步骤S306中为“否”),则执行在步骤S302中选择两个笔划的过程(回到步骤S302)。

另一方面,如果已经对笔划的所有组合进行了检查(步骤S306中为“是”),则生成与笔划的期望的粗度相对应的平行笔划(步骤S307)。例如,如果利用三个笔划来表达黑体,则在目标笔划的每一侧处各生成两个平行笔划中的一个。在下文中将描述生成平行笔划的过程的细节。

接下来,在黑体目标字符或普通目标字符的情况下,选择笔划中的两个(步骤S308),并且确定所选择的两个笔划中的一个的结束点是否匹配另一个笔划的开始点(步骤S309)。

如果所选择的笔划中的一个的开始点匹配另一个的结束点(步骤S309中为“是”),则确定两个笔划相对于匹配点的角度是否超过135度(步骤S310)。需要注意的是,在下文中将描述“135度的角度”。

如果两个笔划相对于匹配点的角度超过135度(步骤S310中为“否”),则将两个笔划分组为相同的笔划组(步骤S311)。

另一方面,如果所选择的笔划中的一个的结束点并不匹配另一个笔划的开始点(步骤S309中为“否”),或者所选择的两个笔划相对于匹配点的角度并不超过135度(步骤S310中为“是”),则并不将所选择的两个笔划分组为相同的笔划组(并不执行步骤S311)。

随后,确定是否已经检查了笔划的所有组合(步骤S312)。如果并非已经检查了笔划的所有组合(步骤S312中为“否”),则执行在步骤S302中选择两个笔划的过程(回到步骤S308)。

另一方面,如果已经检查了笔划的所有组合(步骤S312中为“是”),则终止过程。

在上述过程中,所选择的两个笔划相对于匹配点的角度重要的原因在于可以将相对于匹配点具有锐角的所选择的两个笔划优选分组到不同的笔划组中(例如参见在图1的右手侧处所示的点P2处形成的弯曲部分的锐角)。由于因镜惯性重新定向标记方向同时通过激光束标记具有锐角的两个笔划的弯曲部分可能会花费较长时间,因此可以将激光束施加到弯曲部分较长时间,并且从而弯曲部分会过热。相应地,期望形成弯曲部分的两个笔划被分组为多个笔划组,并且可以临时关断激光束同时标记具有锐角的两个笔划的弯曲部分。

在黑体字符的情况中,期望对新生成的平行笔划进行分组。由于对平行笔划进行分组的过程中角度状况不同,因此可能需要进行两次分组。

如果并不提供角度状况,则具有锐角的两个笔划的弯曲部分可能会导致图21A中所示的示例。如果将135度的角度设置为角度状况(其相同于在后续过程中使用的角度),则具有锐角的两个笔划的弯曲部分可能会导致图21B中所示的示例。也就是说,“5”的左上部分显现出劣化。因此,在该过程中施加的85度适当角度,并且获得图21C中所示的示例作为结果。

图22是说明了生成与期望的厚度相对应的平行笔划的过程的示例的流程图(图19中的步骤S307)。

在图22中,当过程开始时,新近获取存储所需的笔划组阵列(绘制字符管理数据)(步骤S401)。

随后,校正原始笔划组编号(步骤S402)。通过经由将以“0”开始的编号增加一而获取的不同笔划编号来识别笔划组。基于由用户指明的平行笔划的编号来改变不同的笔划编号。例如,如果通过彼此平行地布置三条平行笔划来表达黑体,则当前的笔划组编号“0,1,2,3,---,n”被相应地改变为新的笔划组编号“1,4,7,10,---,3n+1”。如果通过彼此平行地布置五个平行笔划来表达黑体,则当前的笔划组编号“0,1,2,3,---,n”被相应地改变为新的笔划组编号“2,7,12,17,---,5n+2”。也就是说,当平行笔划的编号为“i”时,与相同笔划组平行生成的平行笔划组被连续存储,并且当前笔划被定位在连续平行笔划的中心。提供该过程以确定笔划中的哪一个是后续过程中的中心笔划。

随后,获取笔划组之一(步骤S403),获取所获取的笔划组中的笔划之一(步骤S404),并且计算所获取的笔划的单位法向量(步骤S405)。基于通过笔划的开始点和结束点的直线的等式来计算笔划的单位法向量。

随后,在以常规法向量方向偏移笔划宽度量的位置处生成具有与聚焦的笔划的长度相同长度的额外笔划(步骤S406)。更准确地说,偏移位置减小由用户指明的重叠宽度的量(填充重叠)。

随后,确定是否检查了聚焦的笔划组中的所有笔划(步骤S407)。如果并未检查聚焦的笔划组中的所有笔划(步骤S407中为“否”),则执行步骤S404中的获取聚焦的笔划组中的笔划之一的过程(回到步骤S404)。

如果已经检查了聚焦的笔划组中的所有笔划(步骤S407中为“是”),则基于由用户指明的笔划的数量确定是否不生成其他的平行笔划(步骤S408)。如果存在其他的要被生成的平行笔划(步骤S408中为“否”),则执行在步骤S404中获取聚焦的笔划组中的笔划之一的过程(回到步骤S404)。

另一方面,如果并不存在要被生成的其他平行笔划(步骤S408中为“是”),则将执行下一个过程。

此时,连续平行的笔划并未适当地彼此连接,内侧平行笔划的弯曲部分重叠,并且外侧平行笔划的弯曲部分断裂(断开连接),如图23的(a)中所示。因此,在后续过程中校正内侧平行笔划的该重叠部分和外侧平行笔划的该断开连接部分。

回见图22,选择与相同的笔划组相关联的相邻平行笔划(例如,图23的(a)中的上部笔划)(步骤S409),并且计算所选择的平行笔划的相交(步骤S410)。

随后,笔划被缩短或扩展以到达所计算出的相交(步骤S411)。

随后,确定是否已经检查了聚焦的笔划组中的笔划的所有组合(步骤S412)。如果并未检查聚焦的笔划组中的笔划的所有组合(步骤S412中为“否”),则执行步骤S409中的选择与相同的笔划组相关联的相邻平行笔划的过程(回到步骤S409)。

另一方面,如果已经检查了聚焦的笔划组中的笔划的所有组合(步骤S412中为“是”),则确定是否已经检查了所有的笔划组(步骤S413)。如果并未检查所有笔划组(步骤S413中为“否”),则执行步骤S403中的获取笔划组之一的过程(回到步骤S403)。

如果已经检查了所有笔划组(步骤S413中为“是”),则过程终止。

图24是说明了移除笔划组中的笔划的重叠部分的过程的示例的流程图(图18中的步骤S208)。

在图24中,当移除笔划组中的笔划的重叠部分的过程开始时,获取笔划组之一(步骤S501)。

随后,获取笔划组中的笔划中的两个笔划(步骤S502)。

随后,计算两个笔划之间的最短距离(步骤S503)。在下文中将描述计算两个笔划之间的最短距离的过程的细节。

随后,确定计算出的两个笔划之间的最短距离是否等于或小于笔划宽度(步骤S504)。

如果计算出的两个笔划之间的最短距离大于笔划宽度(步骤S504中为“否”),则两个笔划并不重叠,并且因此执行计算笔划的下一个组合之间的最短距离的过程。

另一方面,如果计算出的两个笔划之间的最短距离等于或小于笔划宽度(步骤S504中为“是”),则两个笔划重叠,并且随后确定两个笔划是否彼此平行(步骤S505)。

如果两个笔划彼此平行(步骤S505中为“是”),则要针对平行笔划分割在存储了前一个笔划之后存储的后一个笔划(步骤S506)。在下文中将描述当笔划彼此平行时分割在前一个笔划之后存储的后一个笔划的过程的细节。

如果两个笔划并不彼此平行(步骤S505中为“否”),则要针对非平行笔划分割在存储了前一个笔划之后存储的后一个笔划(步骤S507)。在下文中将描述当笔划并不彼此平行时分割在前一个笔划之后存储的后一个笔划的过程的细节。

无论笔划是否彼此平行,所存储的笔划中的后一个笔划要被分割。按照这样方式,当在一个笔划组中存在笔划的重叠部分时,可以防止笔划之间的相邻部分中的断开连接或分段。

如果笔划之间的最短距离大于笔划宽度(步骤S504中为“否”),并且在分割了笔划(步骤S506和S507)之后检查是否已经检查了聚焦的笔划组中的所有笔划(步骤S508)。如果所获得的结果指示并未检查聚焦的笔划组中的所有笔划(步骤S508中为“否”),则执行步骤S502中的获取笔划组合的过程(回到步骤S502)。

如果已经检查了聚焦的笔划组中的笔划的所有组合(步骤S502中为“是”),则确定是否已经检查了所有笔划组(步骤S509)。如果并未检查所有的笔划组(步骤S509中为“否”),则执行步骤S501中的获取笔划组之一的过程(回到步骤S501)。另一方面,如果已经检查了所有的笔划组(步骤S509中为“是”),则检查是否已经执行了分割过程(步骤S510)。

如果已经执行了分割过程(步骤S510中为“是”),则分割的笔划被分组到不同的组中(步骤S511),并且过程终止。如果并未执行分割过程(步骤S510中为“否”),则终止过程而不执行分割过程。

图25是说明了计算两个笔划之间的最短距离的过程的示例的流程图(图24中的步骤S503)。

在图25中,当计算两个笔划之间的最短距离的过程开始时,确定两个笔划的结束点之间的距离是否大于笔划宽度(步骤S601)。也就是说,确定两个笔划的结束点的x-坐标之间的距离和两个笔划的结束点的y-坐标之间的距离是否大于笔划宽度(步骤S601)。

如果计算出的两个笔划之间的最短距离明显大于笔划宽度(步骤S601中为“是”),则两个笔划并不重叠。因此,随后设置相对较长的距离(步骤S602),并且过程终止而不计算两个笔划之间的准确距离。计算两个笔划之间的最短距离的过程的目的是要确定两个笔划是否重叠。因此,当两个笔划之间的距离明显较长时,无需计算这样的距离。

另一方面,如果计算出的两个笔划之间的最短距离等于或小于笔划宽度(步骤S601中为“否”),则确定所述两个笔划是否彼此平行(步骤S603)。通过比较通过两个笔划的开始点和结束点的两条直线的相应等式的斜率来确定两个笔划是否彼此平行。

如果两个笔划彼此平行(步骤S603中为“是”),则两个笔划被转动为与x-轴方向平行(步骤S604)。

随后,确定转动的笔划是否包括重叠部分(步骤S605)。

如果转动的笔划在x-轴方向上包括重叠部分(步骤S605中为“是”),则两条直线之间的距离(即y-轴方向上的直线之间的差)对应于笔划之间的距离的最小值。因此,所获取的值被设置为两个笔划之间的距离(步骤S606),并且终止过程。这样的情况的示例如图26A中所示。

回见图25,如果转动的笔划在x-轴方向上不包括重叠部分(在步骤S605中为“否”),则两个笔划的结束点之间的距离的最小值对应于两个笔划之间的距离的最小值。因此,计算两个笔划的结束点之间的距离的最小值,并且设置两个笔划的结束点之间的计算出的最小值(步骤S607),并且过程终止。这样的情况的示例如图26B中所示。

回见图25,如果两个笔划并非彼此平行(步骤S603中为“否”),则计算两个笔划的相交,并且确定在两个笔划中是否存在相交(步骤S608)。

如果在两个笔划中存在相交(步骤S608中为“是”),则将“0”设置为两个笔划之间的距离(步骤S609),并且过程终止。

如果在两个笔划中不存在相交(步骤S608中为“否”),则计算两个笔划的结束点之间的最小距离α(步骤S610)。

随后,从与另一个笔划垂直的一个笔划的特定结束点降低垂直线,并且计算在另一个笔划处的垂直线的底部的坐标(步骤S611)。

随后,确定在笔划中是否存在垂直线的底部(步骤S612)。

如果垂直线的底部存在于另一个笔划中(步骤S612中为“是”),则计算垂直线的底部和特定结束点之间的距离β(步骤S613)。图27说明了两个笔划之间的距离α和距离β的示例。

回见图25,如果垂直线的底部并不存在于笔划中(步骤S612中为“否”),则不执行过程。

随后,确定是否已经检查了所有的结束点(步骤S614)。如果并未检查所有的结束点(步骤S614中为“否”),则执行步骤S611中的计算垂直线的底部的过程(回到步骤S611)。

另一方面,如果已经检查了所有的结束点(步骤S614中为“是”),则最小值α和β被设置到笔划之间的相应距离(步骤S615),并且过程结束。

图28是说明了当笔划彼此平行时分割笔划的过程的示例的流程图(图24中的步骤S506)。

在图28中,在分割笔划组中的笔划的过程开始时,两个笔划被转动为与x-轴平行(步骤S701)。更具体而言,执行以下过程。

初始地,计算到x-轴的相应的转动角。如果到x-轴的转动角的相应的sin和cos被定义为“sint”和“cost”,则笔划的直线等式为“ax+by+c=0”,到x-轴的转动角“sint”和“cost”根据以下等式获取。

sint=-a/sqrt(a*a+b*b)

cost=b/sqrt(a*a+b*b)

相应的笔划被以相反方向转动为与x-轴平行。如果笔划的结束点的坐标值被定义为“xs,ys”,则转动的笔划的结束点的坐标值被定义为“xs0,ys0”,并且通过以下等式来计算坐标值(xs0,ys0)。

xs0=cost*xs+sint*ys

ys0=-sint*xs+cost*ys

随后,确定是否可以缩短笔划之一以将两个笔划的结束点之间的距离调整为等于笔划宽度(步骤S702)。更具体而言,执行以下过程。

初始地,计算笔划之间的最短距离。如果转动的两个笔划的结束点的x-坐标重叠,则获取的最短距离可以是平行笔划之间的距离。如果转动的两个笔划的结束点的x-坐标并不重叠,则笔划的结束点之间的获取的距离中的最短距离可以是笔划之间的最短距离。需要注意的是,由于每一个笔划具有两个结束点,因此在笔划的结束点之间总共具有四个距离。

如果所获取的最短距离小于笔划宽度t,则检查x-轴方向上的转动的两个笔划的重叠的结束点。如果两个笔划并不重叠,则确定可以缩短笔划之一。另一方面,如果两个笔划完全重叠,则可以确定删除笔划中较短的那个笔划。

如果可以缩短笔划之一(步骤S702中为“是”),则执行缩短笔划之一的过程(步骤S703)。也就是说,如果笔划之一被在x-轴方向上偏移并且足够长来即使在被缩短后也如图29A中所示保持,则执行缩短笔划之一的过程。计算具有从另一个笔划的结束点的距离t的要被分割的一个笔划上的特定点,并且计算出的点被确定作为分割前一个笔划的前一个笔划的新的结束点。

回见图28,另一方面,如果不可以缩短笔划之一(步骤S702中为“否”),则删除笔划中的较短一个笔划(步骤S704)。也就是说,在图29B所示的示例的情形中,由于不重叠较长的笔划造成较短的笔划将不存在,因此删除笔划中较短的一个笔划。

回见图28,计算已经删除的笔划的长度,并且存储计算出的笔划的长度(步骤S705)。

随后,基于上述的“sint”和“cost”以反向方向转动所得到的笔划,从而所得到的笔划被置于原始方向(步骤S706),并且之后的过程终止。

图30是说明了当笔划并非彼此平行时的分割笔划的过程的示例的流程图(图24中的步骤S507)。当计算用于分割笔划的笔划的结束点时,笔划的角度可能需要考虑,如图31B中所示。如果两个笔划以图31A中所示的直角相交,则可以通过笔划宽度来简单地分割笔划。然而,如果两个笔划如图31B中所示斜相交,则可能需要考虑笔划的角度来计算要被分割的笔划的结束点。

需要注意的是,如图31A和31B和图32A和32B中所示,两个笔划被称为笔划#0和笔划#1,并且笔划#0基于笔划#1被分割或缩短(即用作参考笔划)。

在图30中,当过程开始时,获取从笔划#1的相应距离是笔划宽度t的笔划#0上的点B0的坐标和点A0的坐标(步骤S801)。更具体而言,执行以下的过程。

(要被分割的)笔划#0的直线的等式被表示为“a0x+b0y+c0=0”,笔划#1(参考)的直线的等式被表示为“a1x+b1y+c1=0”,并且笔划宽度是“t”。此外,包括从笔划#1的距离t的笔划#0上的特定点被定义为点P(xp,yp)。

由于P是笔划#0上的点,因此可以得到以下的等式(1)。

a0xp+b0yp+c0=0……………(1)

由于从A0到笔划#1的中心线上的垂直线的底部的长度(距离)是“t”,则可以基于点/线距离公式来获得以下的等式(2)。

(a1xp+b1yp+c12=t2(a12+b12)……………(2)

当上述的等式(1)和(2)以联立等式进行求解时,发现笔划#0和#1并不平行。

也就是说,通过公式“a1b0-a0b1≠0”来表达结果。

>xp=±b0ta12+b12+b1c0-b0c1a1b0-a0b1,>>yp=±a0ta12+b12-a1c0+a0c1a1b0-a0b1>(相同顺序的重号)……………(3)

相应地,得到上述等式(3);等式中的一个是A0的等式,并且另一个是B0的等式。

随后,计算从与笔划#1垂直的点A0和B0绘制的垂直线的底部A1和B1(步骤S802)。图32A说明了这样的情况的示例。在图32A中,通过直线来说明笔划#0和#1,并且通过虚线来说明笔划宽度的限制。

更具体而言,执行以下的过程。

垂直线的底部被确定为Q(xq,yq)。

如果垂直线的等式被表示为“a2x+b2y+c2=0”,则垂直线以直角与笔划#1相交。因此,利用以下公式(4)来替换垂直线的等式“a2x+b2y+c2=0”。

-b1x+a1y+c2=0……………(4)

由于上述等式(4)说明了通过点A0和B0的垂直线,因此得到了等式“-b1xp+a1yp+c2=0”。因此,计算C2,并且等式(4)被替换为以下等式(5)。

-b1x+a1y+b1xp-a1yp=0……………(5)

由于垂直线与笔划#1的相交对应于垂直线的底部,因此垂直线的底部的坐标(xq,yq)可以通过计算如下等式中所示的笔划#1的联立等式和等式(5)中的(x,y)来得到。

>a1b1-b1a1xy+c1b1xp-a1yp=00>

因此,通过计算如下的等式(6)来获得垂直线的底部。

>xqyq=-1a12+b12a1-b1b1a1c1b1xp-a1yp....(6)>

回见图30,确定垂直线的底部A1是否在笔划#1的范围中(步骤S803)。将笔划#1的结束点的坐标定义为(x1s,y1s)和(x1e,y1e),并且坐标(xq,yq)位于笔划#1的结束点的坐标的范围中。

如果垂直线的底部A1位于笔划#1的范围中(步骤S803中为“是”),点A0将被确定为分割的笔划#0的新的结束点(步骤S804)。

如果垂直线的底部A1并不位于笔划#1的范围中(步骤803中为“否”),则点A0并不适合作为分割的笔划#0的新的结束点。这是因为分割的笔划#0变为过短。因此,计算从笔划#1的结束点获取距离t(笔划宽度)的笔划#0上的点A3(步骤S805)。更具体而言,执行以下的过程。

笔划#1的结束点的坐标被确定作为H(xh,yh)。点A3的坐标被确定为(xr,yr)。

由于点A3存在于要被分割的笔划#0上,因此得到以下的等式(7)。

a0xr+b0yr+c0=0……………(7)

此外,由于点A3和坐标H(xh,yh)之间的距离是t,因此得到以下的等式(8)。

(xr-xh2+(yr-yh2=t2……………(8)

当以上述的等式(7)和(8)作为联立等式求解时,计算点A3的坐标(xr,yr)。

此外,确定以下的等式:

ca=a02+b02

cb=-b02xh+a0b0yh+a0c0

cc=b02(xh2-t2)+(b0yh+c02

此外,确定以下的等式。

>cd=cb2-cacc>

在上述情况中,如果b0≠0,则得到以下等式。

>xr=-cb±cdca>

通过应用计算出的xr来计算以下等式。

>yr=-a0xr+c0b0>

如果b0≠0,a0≠0。相应地,得到以下的等式。

>xr=-c0a0,>>yr=yh+t2-(xh+c0a0)2>

因此,将点A3(即计算出的坐标(xr,yr))确定作为分割的笔划#0的新的结束点(步骤S806)。图32B说明了这种情况的一个示例。

回见图30,以与A侧相同的方式计算与B侧对应的分割的笔划#0中的新的结束点(步骤S807),并且计算删除的笔划的笔划长度(步骤S808),并且终止分割笔划的过程。

图33是说明了对要被驱散的笔划进行标记的过程的示例的流程图(图18中的步骤S209)。

在图33中,当过程开始时,笔划组之一被选择作为笔划组#0(步骤S901),并且笔划组中的另一个被随后选择作为笔划组#1(步骤S902)。随后,从笔划组#0选择笔划之一,并且从笔划组#1选择笔划中的另一个(步骤S903)。之后,确定是否存在所选择的两个笔划的相交(步骤S904)。

如果存在两个笔划的相交(步骤S904中为“是”),则通过将两个笔划的相交的坐标和相交的角度与笔划组#0相关联,两个笔划相交的坐标和相交的角度被存储在相交阵列(相交阵列数据)中(步骤S905和S906)。如果不存在两个笔划的相交(在步骤S904中为“否”),则不执行过程。

随后,确定是否已经检查了笔划的所有组合(步骤S907)。如果并非已经检查了笔划的所有组合(步骤S907中为“否”),则执行在步骤S903中选择两个笔划的组合的过程(回到步骤S903)。

如果已经检查了笔划的所有组合(步骤S907中为“是”),则确定是否已经与笔划组#1相同地检查了所有的笔划组(步骤S908)。如果并非已经检查了所有的笔划组(步骤S907中为“否”),则执行在步骤S902中选择笔划组中的另一个作为笔划#1的过程(回到步骤S902)。

另一方面,如果已经像笔划组#1那样检查了所有的笔划组(步骤S908中为“是”),则按照与笔划组#1的开始点最近的顺序对获取的笔划组#0的相交的坐标组进行分类(步骤S909)。

随后,计算相邻的相交之间的距离(步骤S910)。

随后,聚焦于相邻相交之间的一个间隔,确定相邻相交之间出现的笔划#1(步骤S911)。图34A说明了在笔划#0上的相邻相交A和B之间的中点处出现的笔划#1和笔划#0的相交C的示例。在该示例中,当聚焦于相邻相交A和C之间的间隔时,笔划#1向左下方向倾斜。因此,确定笔划#1并不存在于相邻相交C和B之间,而是存在于所聚焦的相邻相交A和C之间。

回见图33,如果笔划#1存在于聚焦的相邻相交A和C之间(步骤S911中为“是”),则通过调整两个笔划#0和#1的相交的角度来校正聚焦的相邻相交A和C之间的距离(步骤S912)。在图34A所示的示例中,与笔划#1的相交C和与另一个笔划的相交A之间的距离等于与笔划#1的相交C和与笔划#0上的另一个笔划的相交B之间的距离。但笔划中的每一个笔划具有笔划宽度,相交C和A之间的实际距离d1(A侧距离)小于相交C和B之间的实际距离d2(B侧距离),如图34B中所示。如果相交A和C之间的实际距离d1是0,则相交A和C之间的间隔处存在的笔划要被驱散。因此,重要的是通过调整笔划#0和#1的相交的角度来校正实际距离d1。如果计算出的相邻相交之间的距离是A侧距离,则通过调整相交的角度来校正A侧距离。具体而言,通过从相邻相交之间的原始距离中减去距离d3来校正所述A侧距离,并且因此如果相交的角度是θ并且笔划宽度是T,则通过以下等式来计算距离d3。

d3=t/2sinθ

回见图33,如果笔划#1并不存在于聚焦的相邻相交之间(步骤S911中为“否”),则从聚焦的相邻相交之间的距离减去笔划宽度的一半,即t/2(步骤S913)。对在图34B中所示的聚焦的相邻相交C和B之间的实际距离d2执行该过程。

回见图33,确定校正的距离是否等于或小于笔划宽度(步骤S914)。

如果聚焦的相邻相交之间的校正的距离等于或小于笔划宽度(步骤S914中为“是”),并且在两个相交处分割笔划#0,则不在聚焦的相邻相交之间绘制笔划。相应地,确定笔划#0要被驱散,并且因此笔划组#0被标记作为要被驱散的笔划组(步骤S915)。另一方面,如果聚焦的相邻相交之间的校正的距离大于笔划宽度(步骤S914中为“否”),则不标记笔划组#0。

随后,确定是否与笔划组#0相同地检查了所有的笔划组(步骤S916)。如果并未与笔划组#0相同地检查了所有的笔划组(步骤S916中为“否”),则执行步骤S901中的选择笔划组之一作为笔划组#0的过程(回到步骤S901)。另一方面,如果已经与笔划组#0相同地检查了所有的笔划组(步骤S916中为“是”),则终止标记要被驱散的笔划的过程。

图35和36是说明了移除笔划组之间的笔划的重叠部分的过程的示例的流程图(图18中的步骤S210)。

在图35中,当移除笔划组之间的笔划的重叠部分的过程开始时,选择笔划组之一作为笔划组#0,并且选择笔划组中的另一个作为笔划组#1(步骤S1001和S1002)。

随后,从笔划组#0中选择笔划之一,并且从笔划组#1中选择笔划中的另一个笔划(步骤S1003)。

随后,确定所选择的两个笔划是否包括重叠部分(步骤S1004)。

如果在两个笔划之间存在重叠部分(步骤S1004中为“是”),则基于笔划之一要被缩短或分割的假设计算删除的笔划长度和剩余的笔划长度(步骤S1005)。该过程类似于图24中所示的流程图。

回见图35,另一方面,如果在两个笔划之间不存在重叠部分(步骤S1004中为“否”),则并不执行计算删除的笔划长度和剩余的笔划长度的过程(步骤S1005)。

随后,确定是否检查了与笔划组#0和#1相关联的所有笔划(步骤S1006)。如果并非已经检查了与笔划组#0和#1相关联的所有笔划(步骤S1006中为“否”),则执行在步骤S1003中从笔划组#0中选择笔划之一和从笔划组#1中选择另一个笔划的过程(回到步骤S1003)。

如果确定已经检查了与笔划组#0和#1相关联的所有笔划(步骤S1006中为“是”),则计算当缩短或分割笔划组之一时的总移除面积(步骤S1007)。可以通过将删除的笔划长度乘以笔划宽度来获得总的移除面积。

随后,如果笔划之一要被缩短或分割,当聚焦的笔划组完全驱散时,“2”被设置在“标志项”中,当缩短聚焦的笔划组的前后部分时,“1”被设置在“标志项”中,并且当聚焦的笔划组要经历其他过程时,“0”被设置在“标志项”中(步骤S1008)。

随后,确定两个笔划组(笔划组#0和#1)是否彼此重叠(步骤S1009)。

如果两个笔划组并非彼此重叠(步骤S1009中为“否”),跳过(省略)以下的过程(步骤S1010到S1015)。

如果两个笔划组彼此重叠(步骤S1009中为“是”),则要被缩短或分割的笔划组之一的相交和通过标记要被驱散的笔划获得的相交序列匹配(图33中的过程)(步骤S1010)。

随后,如果要被缩短或分割的笔划组之一的相交和要被驱散的笔划的相交序列匹配,则“1”被设置在“标志消失”中(步骤S1011)。

随后,如果要被驱散的笔划已经被分割,则“1”被设置在“标志”中(步骤S1012)。

随后,如果笔划组与要被驱散的另一个笔划组重叠,则“1”被设置在“其他标志”中(步骤S1013)。基于在如图33中所示的过程中提供的要驱散的标记,确定另一个笔划组是否要被驱散。

回见图35,选择要缩短或分割的笔划组中的哪一个(步骤S1014)。在下文中将描述选择要缩短或分割的笔划组中的哪一个的过程的细节。

随后,基于预先计算出的数据来缩短或分割笔划组中的选择的一个(步骤S1015)。

随后,确定是否已经检查了与笔划组#0不同的所有的笔划组(步骤S1016)。如果并非已经检查了与笔划组#0不同的所有的笔划组(步骤S1016中为“否”),则执行在步骤S1002中选择笔划之一作为笔划组#1的过程(返回到步骤S1002)。

如果已经检查了与笔划组#0不同的所有的笔划组(步骤S1016中为“是”),则确定是否已经与笔划组#0相同地检查了所有的笔划组(步骤S1017)。如果并非已经与笔划#0相同地检查了所有的笔划组(步骤S1017中为“否”),则执行步骤S1001中选择笔划组之一的过程(返回到步骤S1001)。

另一方面,如果确定已经与笔划组#0相同地检查了所有的笔划组(步骤S1017中为“是”),则执行确定在选择的笔划之间是否存在重叠部分和缩短笔划组中的所选择的一个笔划组的过程。也就是说,如果分割与另一个笔划轻微接触的笔划,则笔划的结束点和另一个笔划的结束点之间的距离可能会小于笔划宽度。在这样的情况中,重叠部分可能会保持在两个笔划组之间,并且因此两个笔划组被进一步地检查为要被缩短。例如,当通过分割下部的笔划组来移除图37A中所示的上部和下部的笔划组之间的重叠部分时,在如图37B中所示的下部的笔划组的分割的笔划之间形成新的重叠部分。在这种情况下,可能需要缩短下部的笔划组的分割的笔划。

在图36中,从在步骤S1014中选择的要缩短或分割的笔划组中选择笔划之一作为笔划#0(步骤S1018),并且同样从在步骤S1014中选择的要缩短或分割的笔划组中选择笔划之一作为笔划#1(步骤S1019)。

随后,确定是否连续地形成了笔划#0和#1的选择的组合(步骤S1020)。如果并未连续地形成笔划#0和#1的选择的组合(步骤S1020中为“否”),则进一步确定笔划#0和#1的结束点之间的距离是否小于笔划宽度(步骤S1021)。

另一方面,如果笔划#0和#1的结束点之间的距离小于笔划宽度(步骤S1021中为“是”),则缩短笔划#1(步骤S1022)。

如果连续地形成笔划#0和#1的所选择的组合(步骤S1020中为“是”),并且笔划#0和#1的结束点之间的距离并不小于笔划宽度(步骤S1021中为“否”),则并不执行缩短笔划#1的过程(步骤S1022)。

随后,确定是否已经检查了选择作为笔划#1的所有笔划(步骤S1023)。如果并非已经检查了选择作为笔划#1的所有笔划(步骤S1023中为“否”),则执行步骤S1019中从被选择作为笔划#1的要缩短或分割的笔划组中选择笔划之一的过程(回到步骤S1019)。

如果已经检查了被选择作为笔划#1的所有笔划(步骤S1023中为“是”),则确定是否已经检查了选择作为笔划#0的所有笔划(步骤S1024)。如果并非已经检查了被选择作为笔划#0的所有笔划(步骤S1024中为“否”),则执行步骤S1018中的从选择作为笔划#0中的要被缩短或分割的笔划组中选择笔划之一的过程(回到步骤S1018)。

另一方面,如果已经检查了被选择作为笔划#0的所有笔划(步骤S1024中为“是”),则终止过程。

图38A和38B是说明了选择笔划组之一作为要被缩短或分割的笔划组的过程的示例的流程图(图35中的步骤S1014)。

在图38A和38B中,当选择要被缩短或分割的笔划组之一的过程开始时,确定笔划组#0中的所有笔划是否已经完全驱散(步骤S1101)。如果基于标志“项”确定笔划组#0中的所有笔划已经驱散并且在笔划组#0中并未剩余笔划(步骤S1101中为“是”),则分割或缩短笔划组#1的笔划(步骤S1117)。

与之形成对比的是,如果基于标志“项”确定笔划组#0具有剩余笔划(步骤S1102中为“是”),则分割或缩短笔划组#0中的笔划(步骤S1116)。

如果笔划组#0的末端要被缩短(步骤S1103中为“是”),则缩短笔划组#0(S1116)。在这种情况下执行缩短笔划组#0的过程,这是因为与分割笔划组#0相比,缩短笔划组#0可以更小地不利影响要被绘制的期望字符的外观。

另一方面,如果笔划组#1的末端要被缩短(步骤S1104中为“是”),则笔划组#1要被缩短(步骤S1117)。

如果要被绘制的期望的字符是黑体(步骤S1105中为“是”),并且笔划组#0更接近于中心笔划(步骤S1106中为“是”),则笔划组#1被分割或缩短(步骤S1117)。选择在这种情况下缩短或分割笔划组#1,这是因为与缩短或分割笔划组#0相比,保持笔划更接近于中心笔划可以给出要被绘制的期望字符的更好的外观。图39A和39B说明了期望的黑体字符的绘制示例,其中图39A是并不需要保持笔划更接近于中心笔划的绘制示例,而图39B是需要笔划保持更接近于中心笔划的绘制示例。

回见图38A和38B,如果笔划组#1与笔划组#0相比更接近于中心笔划,则缩短或分割笔划组#0(步骤S1116)。

随后,如果基于标志“消失”确定笔划组#0要被部分驱散(在步骤S1108中为“是”),则分割或缩短笔划组#1(步骤S1117)。

另一方面,如果基于标志“消失”确定笔划组#1要被部分驱散(步骤S1109中为“是”),则缩短笔划组#0(步骤S1116)。

如果基于标志“消失”确定笔划组#0和笔划组#1均要被部分驱散(步骤S1110中为“是”),则确定是否已经分割了笔划组#0或笔划组#1,这可能已经导致笔划组#0或#1的部分驱散。这对应于相邻笔划(其中之一已经在其相交处被分割)之间的距离小于特定笔划组中的笔划宽度的情况。在这种情况中,如果相邻笔划中的另一个笔划也在其相交处被分割,则两个相邻笔划的相交之间夹住的笔划要被驱散。

因此,如果已经分割了笔划组#0(步骤S1111中为“是”),则分割或缩短笔划组#1(S1117)。

另一方面,如果已经分割了笔划组#1(步骤S1112中为“是”),则分割或缩短笔划组#0(步骤S1116)。

随后,如果基于标志“其他”确定笔划组#0单独与另一个笔划相交,从而由笔划组#0相交的笔划要被部分驱散(步骤S1113中为“是”),则笔划组#1被确定为要被分割的笔划组(步骤S1117)。将笔划组#1确定作为要被分割的笔划组,这是因为笔划组#0可以具有足够的长度以供在未来被分割或缩短,从而不允许由笔划组#0相交的另一个笔划被驱散。

另一方面,如果基于标志“其他”确定由笔划组#1相交的另一个笔划要被部分驱散(步骤S1114中为“是”),则缩短或分割笔划组#0(步骤S1116)。

随后,比较笔划组#0和#1的相应移除区域。如果笔划组#0的移除区域小于笔划组#1的移除区域(步骤S1115中为“是”),则分割或缩短笔划组#0(步骤S1116)。

另一方面,如果笔划组#1的移除区域小于笔划组#0的移除区域(步骤S1115中为“否”),则分割或缩短笔划组#1(步骤S1117)。

图40A和40B是说明了其中已经改善了由于现有技术的限制和缺陷造成的期望的字符的劣化和断开连接。也就是说,在如图3B所示的相关技术中,两个或更多个相互接近的笔划可以被分段,这可能会导致绘制质量的劣化。然而,根据上述的实施例,每个笔划组地移除形成期望的字符的笔划之间的重叠部分。相应地,并未使得笔划的相互接近的部分断开连接,这可以防止期望的字符的显现被劣化。

此外,根据上述实施例,在相同的笔划组中的笔划之间呈现重叠部分,例如字符“α”。在这种情况中,以与按照相同的笔划组中的笔划和随后另一个笔划组中的笔划的布置顺序移除笔划中的重叠部分的方式类似的方式移除期望字符形成的字符的重叠部分。相应地,并未使得在一个笔划组中的笔划的相互接近的部分断开连接,这可以防止期望字符的显现被劣化。

根据上述实施例,即使如果两个或更多的相互接近(逼近)的笔划形成字符,由于使得形成字符的两个或更多的接近的笔划断开连接,因此用于在热可重写介质上绘制图像的方法、装置和存储程序的计算机可读介质也能够在热可重写介质上绘制图像而不使得图像质量劣化。相应地,可以防止字符的绘制质量的劣化。

[综述]

如上所述,根据上述实施例,即使如果两个或更多的相互接近(逼近)的笔划形成字符,由于使得形成字符的两个或更多的接近的笔划断开连接,因此也能够在热可重写介质上绘制由两个或更多的笔划形成的图像而不使得图像质量劣化。相应地,可以防止字符的绘制质量的劣化。

上述的优势仅仅是通过实施例提供的优选示例总的一些示例,并且因此所述优势并不受限于实施例中所述的那些。

出于说明的目的在上文中已经描述了本发明的实施例。本发明并不受限于这些实施例,而是可以进行各种各样的修改和变更而不偏离本发明的范围。本发明不应被解释为被限制到说明书中的描述和附图中所示的实施例。

本申请基于向日本特许厅在2010年11月24日提交的日本在先申请No.2010-261771和在2011年3月3日提交的日本在先申请No.2011-046861,它们的全部内容通过引用方式并入到本文中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号