CN111626037A - 字形排版方法、装置、电子设备和存储介质 - Google Patents
字形排版方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111626037A CN111626037A CN202010451111.XA CN202010451111A CN111626037A CN 111626037 A CN111626037 A CN 111626037A CN 202010451111 A CN202010451111 A CN 202010451111A CN 111626037 A CN111626037 A CN 111626037A
- Authority
- CN
- China
- Prior art keywords
- font
- independent
- fonts
- character
- typesetting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/191—Automatic line break hyphenation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/189—Automatic justification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开关于字形排版方法、装置、电子设备和存储介质,所述方法包括:获取待排版的字形集合,字形集合中包含多个待排版的独立字形;若在字形集合中检测出预定义的连接字符,则将与该连接字符具有预设关联关系的独立字形拼接为合并字形;对字形集合中未参与拼接的独立字形和合并字形进行排版。根据本公开的实施例,通过在待排版字形中添加预定义的连接字符,无需计算空白占位区域的大小或者将字形合并为图片再***空白占位区,从而简化了字形处理逻辑并减少了排版程序的代码量,一定程度上提高了排版程序的开发效率。
Description
技术领域
本公开涉及字形排版领域,尤其涉及字形排版方法、装置、电子设备和存储介质。
背景技术
电子设备需要显示的字形通常具有固定大小的显示区域,而且可能包含如英文中带连字符的复合词、数字与单位构成的价格标签等关键信息对应的多个独立字形。在显示前的排版过程中,若直接对这类关键信息所对应的多个独立字形分别进行排版,则多个独立字形可能被分别显示在不同行,从而导致关键信息被截断,使得显示效果不便于用户阅读或对信息进行理解。
为解决上述问题,在相关技术中,首先计算关键信息所对应字形的矩形区域,然后在排版过程中预留与该矩形区域大小相同的空白占位区域,最后将关键信息所对应字形生成的图片***预留的空白占位区域中完成排版,使得最终显示的关键信息不会被截断。但是,该方法不仅需要计算关键信息所对应字形的矩形区域的宽、高等参数,而且还要将各字形转换为图片再***上述空白占位区域,处理过程较为复杂,因此排版程序的代码量大,开发效率较低。
发明内容
本公开提供了字形排版方法、装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种字形排版方法,包括:
获取待排版的字形集合,所述字形集合中包含多个待排版的独立字形;
若在所述字形集合中检测出预定义的连接字符,则将与所述连接字符具有预设关联关系的独立字形拼接为合并字形;
对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版。
可选的,所述字形集合中的独立字形对应的字符包括经过分词处理得到的单个字符和/或字符串。
可选的,所述与所述连接字符具有预设关联关系的独立字形,包括:位于所述连接字符之前的至少一个相邻的独立字形,和/或位于所述连接字符之后的至少一个相邻的独立字形。
可选的,所述对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版,包括:
确定目标排版区域;
在所述目标排版区域中对未参与拼接的所述独立字形和所述合并字形依次按行排列,并在任一行中排列所述独立字形后的剩余排版区域的宽度小于所述合并字形的宽度时,将所述合并字形排列至下一行。
可选的,所述方法还包括:
在任一行中待排列的所有所述独立字形和所述合并字形的宽度之和大于所述目标排版区域的宽度时,删除至少一个所述独立字形,以使剩余的所述独立字形和所述合并字形的宽度之和不大于所述目标排版区域的宽度。
可选的,所述方法还包括:
在所述目标排版区域中添加删除提示字符,所述删除提示字符用于表明所述目标排版区域中存在被删除的独立字形。
可选的,所述独立字形对应的字符属于Unicode编码***定义的字符,所述连接字符为\u2060。
根据本公开实施例的第二方面,提出一种字形排版装置,包括:
字形集合获取模块,被配置为获取待排版的字形集合,所述字形集合中包含多个待排版的独立字形;
字形拼接模块,被配置为若在所述字形集合中检测出预定义的连接字符,则将与所述连接字符具有预设关联关系的独立字形拼接为合并字形;
字形排版模块,被配置为对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版。
可选的,所述字形集合中的独立字形对应的字符包括经过分词处理得到的单个字符和/或字符串。
可选的,所述与所述连接字符具有预设关联关系的独立字形,包括:位于所述连接字符之前的至少一个相邻的独立字形,和/或位于所述连接字符之后的至少一个相邻的独立字形。
可选的,所述字形排版模块,还被配置为:
确定目标排版区域;
在所述目标排版区域中对未参与拼接的所述独立字形和所述合并字形依次按行排列,并在任一行中排列所述独立字形后的剩余排版区域的宽度小于所述合并字形的宽度时,将所述合并字形排列至下一行。
可选的,所述装置还包括:
独立字形删除模块,被配置为在任一行中待排列的所有所述独立字形和所述合并字形的宽度之和大于所述目标排版区域的宽度时,删除至少一个所述独立字形,以使剩余的所述独立字形和所述合并字形的宽度之和不大于所述目标排版区域的宽度。
可选的,所述装置还包括:
提示字符添加模块,被配置为在所述目标排版区域中添加删除提示字符,所述删除提示字符用于表明所述目标排版区域中存在被删除的独立字形。
可选的,所述独立字形对应的字符属于Unicode编码***定义的字符,所述连接字符为\u2060。
根据本公开实施例的第三方面,提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的字形排版方法。
根据本公开实施例的第四方面,提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的字形排版方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品被配置为执行上述任一实施例所述的字形排版方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,通过在待排版字形中添加预定义的连接字符,直接将关键信息所对应字形拼接为合并字形参与正常的字形排版,从而保证了关键信息不会被截断。而且对于拼接后的合并字形,并不需要单独计算矩形区域或空白占位区域的大小,更不需要将关键信息对应的字形转换为图片并***空白占位区域,从而简化了排版过程中的字形处理逻辑,进而减少了排版程序的代码量,一定程度上提高了开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是字形排版过程中关键信息被截断的示意图;
图2是相关技术在字形排版过程中避免关键信息被截断的方法示意图;
图3是根据本公开的实施例示出的一种字形排版方法流程图;
图4是根据本公开的实施例示出的另一种字形排版方法流程图;
图5是根据本公开的实施例之一示出的一种字形排版方法效果示意图;
图6是根据本公开的实施例之二示出的一种字形排版方法效果示意图;
图7是根据本公开的实施例之三示出的一种字形排版方法效果示意图;
图8是根据本公开的实施例之四示出的一种字形排版方法效果示意图;
图9是根据本公开的实施例之五示出的一种字形排版方法效果示意图;
图10是根据本公开的实施例之六示出的一种字形排版方法效果示意图;
图11是根据本公开的实施例示出的一种字形排版装置的示意框图;
图12是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
电子设备需要显示的字形通常具有固定大小的显示区域,而且可能包含关键信息,如英文中带连字符的复合词、数字与单位构成的价格标签等,这类关键信息通常对应多个独立字形。在显示前的排版过程中,若直接对这类关键信息所对应的多个独立字形分别进行排版,则多个独立字形可能被分别显示在不同行,从而导致关键信息被截断甚至丢失。如图1中价格标签对应的字形“¥50”包括“¥”、“5”和“0”三个独立字形。而“¥”和“5”被显示在第一行,而“0”被显示在第二行,此时表示价格的整体数字“50”被分别显示在不同行,显然此时的显示效果不便于用户阅读,甚至可能造成用户认为商品价格是“5元”的误会。
相关技术采用空白占位的方式解决字形排版过程中可能出现的上述关键信息被截断的问题,图2是相关技术中避免关键信息被截断的方法示意图。首先,在排版过程中预留与关键信息所对应字形的矩形区域大小相同的空白占位区域(如图2(a)所示),然后,将关键信息所对应字形生成的图片***预留的空白占位区域中完成排版(如图2(b)所示),使得最终显示的关键信息不会被截断。但是,该方法不仅需要计算关键信息所对应字形的矩形区域的宽、高等参数,而且还要将各字形转换为图片再***上述空白占位区域,处理过程较为复杂,进而使得排版程序的代码量大,开发效率也比较低。
为解决上述技术问题,本公开实施例提供一种字形排版方法,该方法可由电子设备执行,所述电子设备可以是智能手机,平板设备,可穿戴设备,平板设备,医疗设备,健身设备,计算机,数字广播终端,消息收发设备,游戏控制台,个人数字助理等能够为对字形进行排版的电子设备。上述字形排版方法对应的字体排版程序可以是集成在操作***的中应用程序,后台运行的进程,集成在其他应用程序中的字体排版功能组件等;相应的,上述操作***可以为iOS***,安卓(Android)***,Windows***等,本公开对此并不进行限制。
图3是根据本公开的实施例示出的一种字形排版方法流程图。所述方法包括:
在步骤302中,获取待排版的字形集合,所述字形集合中包含多个待排版的独立字形。
需要说明的是,待排版的字形集合中的任一独立字形包括该字形对应的字符和该字符显示效果的描述信息。例如,上述描述信息可以为该字形对应区域内各像素点的灰度值、RGB值等参数,也可以为该字形对应的字符类型,如宋体、楷体、微软雅黑、Times NewRoman等,当然还可以包括其他相关信息,不再一一赘述。
在本实施例中,获取的待排版的字形集合中可以包含多个待排版的独立字形。作为一示例性实施例,独立字形对应的字符可以包括经过分词处理得到的单个字符和/或字符串,相应的,上述字形集合的关联信息中还可以包含各独立字形对应字符的分词信息,以便在基于分词结果进行字形排版。对字符进行分词处理后再进行排版,能够初步保证字形排版结果符合各独立字形对应字符的语义,同时扩大了连接字符对应的需要拼接的独立字形的范围。作为另一示例性实施例,独立字形对应的字符可以包括未经处理的单个字符,直接针对单个字符对应的独立字形进行排版,便于减少每行最后的无效空白区域,从而有利于充分利用排版区域。
上述字形集合中的一个或多个独立字形可以对应关键信息,其中关键信息可以涉及多种,诸如英文中带连字符的复合词、数字与单位构成的价格标签、专有名词等。
在步骤304中,若在所述字形集合中检测出预定义的连接字符,则将与所述连接字符具有预设关联关系的独立字形拼接为合并字形。
在本实施例中,检测上述待排版的字形集合中是否存在预定义的连接字符,若存在预定义的连接字符,则将与检测出的连接字符具有预设关联关系的独立字形拼接为合并字形。例如,作为一示例性实施例,上述连接字符可以为开发人员预先自定义的具有连接功能的自定义连接字符,以在检测到字形集合中的该自定义连接字符后,将与该连接字符具有预设关联关系的独立字形拼接为合并字形。由用户自定义连接字符,便于开发者根据字形编码环境及实际情况更加灵活的选择合适的字符作为连接字符,从而便于开发出更加高效的字形排版代码。
在一实施例中,上述与连接字符具有预设关联关系的独立字形,可以为位于连接字符之前的至少一个相邻的独立字形,和/或位于所述连接字符之后的至少一个相邻的独立字形。例如,作为一示例性实施例,在连接字符为Unicode编码***定义的\u2060字符的情况下,上述与连接字符具有预设关联关系的独立字形为位于该连接字符之前的一个独立字形和位于该连接字符之后的一个独立字形。比如,若字形集合中包含独立字形“商”与“品”,且二者之间包含连接字符“\u2060”,则将独立字形“商”与“品”拼接为合并字形“商品”;再比如,上述字形集合中包含分词后的独立字形“商品”与“售价”,且二者之间包含连接字符“\u2060”的情况下,将独立字形“商品”与“售价”拼接为合并字形“商品售价”。
作为另一示例性实施例,在连接字符为自定义字符的情况下,上述与连接字符具有预设关联关系的独立字形可以为位于该连接字符之前的n1个独立字形、位于该连接字符之后的n2个独立字形、位于该连接字符之前的n3个独立字形和位于该连接字符之后的n4个独立字形;当然,上述预设关联关系还可以为与连接字符间隔n5个独立字形且位于该连接字符之前的独立字形、与连接字符间隔n6个独立字形且位于该连接字符之后的独立字形等多种形式,其中,上述n1至n6均可以为预设的任意正整数,本公开对于上述预设关联关系并不进行限制。开发人员可以根据实际情况预设上述关联关系,从而使得最终生成的字形排版程序更加简洁高效。
在另一实施例中,上述待排版的字形集合中的独立字形对应的字符可以为属于Unicode编码***定义的字符,相应的,上述连接字符可以为Unicode编码***定义的\u2060字符。采用通用的Unicode编码***中预定义的原生字符\u2060作为连接字符,所生成的排版代码不仅简洁高效,而且可移植性好。
在步骤306中,对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版。
在一实施例中,可以先确定目标排版区域,然后在目标排版区域中对未参与拼接的独立字形和合并字形依次按行排列,并在任一行中排列独立字形后的剩余排版区域的宽度小于合并字形的宽度时,将该合并字形排列至下一行。通过上述拼接过程生成的合并字形作为一个整体参与排版,保证了与上述连接字符具有预设关联关系的各独立字形在排版时被排列在同一行,从而保证了其对应的关键信息不会被截断。
例如,上述目标排版区域的形状可以为矩形、正方向、圆形、椭圆形甚至不规则形状等。而且可以理解的是,上述“行”可以包括水平方向的行,也可以包括竖直方向的行,当然也可以为其他倾斜方向的行;排版区域内可以仅有一行,也可以有多行;每行高度及相邻两行之间的字形间距可以相等,也可以不相等。上述目标排版区域的形状、目标排版区域内行的方向、行数及间距等排版参数均可根据具体应用场景进行确定,本公开对此并不进行限制。
在另一实施例中,若待排列的所有独立字形和合并字形的宽度之和大于目标排版区域的宽度,则删除至少一个独立字形,以使剩余的独立字形和合并字形的宽度之和不大于目标排版区域的宽度。其中,在目标排版区域仅有一个待排版行的情况下,上述目标排版区域的宽度即为该待排版行的宽度;而在在目标排版区域有多个待排版行的情况下,上述目标排版区域的宽度可以为多个待排版行的宽度之和。对于经过拼接处理的上述自行集合中所有字形来说,其中合并字形的关键程度大于独立字形,因此在上述目标排版区域的宽度小于小于独立字形和合并字形宽度之和的情况下(表明此时所有字形不能全部正常排列),通过删除字形集合中独立字形的方式保证目标排版区域能够正常排列字形集合中剩余的独立字形和合并字形。同时因为保留了合并字形,所以而在最终显示的字形中并不会丢失合并字形对应的关键信息。例如,可以删除位于各合并字形之前的预设数目的独立字形;也可以删除与最后一个合并字形具有预设的第二关联关系的独立字形,如与最后一个合并字形相邻且位于该合并字形之前和/或之后的独立字形;还可以根据上述字形集合中各独立字形与所有字形对应的描述对象(如:商品)之间的语义关系,删除其中与描述对应语义关系小于预设阈值的独立字形等,本公开对此并不进行限制。
进一步的,可以在删除至少一个独立字形之后,在目标排版区域中添加删除提示字符,用于表明目标排版区域中存在被删除的独立字形,从而明确告知用户当前显示的字形并非全部字形,以便用户知晓或进一步查看全部字形。例如,上述删除提示字符可以添加在每个被删除的独立字形在上述目标排版区域中的对应位置处;也可以仅添加在第一个或最后一个被删除的独立字形在上述目标排版区域中的对应位置处;还可以在存在上述独立字形被删除的情况下,在上述目标排版区域的末尾添加删除提示字符。进一步的,可以为上述删除提示字符添加完整展示功能,以在用户触发上述删除提示字符时,在更新后的目标排版区域中为用户显示上述字形集合中的所有字形,以便用户获知上述字形集合中的所有字形对应的完整信息。由此可见,在排版过程中“删除”某独立字形,仅仅是在排版后不显示该独立字形,而非在相应的存储空间中删除上述独立字形。
根据本公开的实施例,通过在待排版字形中添加预定义的连接字符,将关键信息所对应字形拼接为合并字形参与正常的字形排版,从而保证了关键信息不会被截断。而且对于拼接后的合并字形,不仅不需要单独计算矩形区域或空白占位区域的大小,也不需要将关键信息对应的字形转换为图片并***空白占位区域,从而简化了排版过程中的字形处理逻辑,减少了排版程序的代码量开发量,从而一定程度上提高了开发效率。
为了便于理解,下面以连接字符为Unicode编码***定义的\u2060字符为例,结合图4-图9对本公开的技术方案进行进一步说明。图4是根据本公开的实施例示出的另一种字形排版方法流程图,参见图4:
在步骤402中,确定待处理的独立字形。
在排版之前首先确定待处理的独立字形,其中独立字形可以涉及多种,诸如英文形式的一个单词、单词中的一个字母等,中文形式的一个汉字、一个词语等,或者图像形式的emoji表情、gif图片等,本公开对独立字形的具体形式并不进行限制。实际上,此时确定出的待处理的独立字形即为待排版的字形集合中的独立字形。实际上,上述独立字形对应的对应的字符可以包括经过分词处理得到的单个字符和/或字符串,也可以包括未经分词处理的单个字符。
在步骤404中,在待处理独立字形中***预定义的连接字符。
在一实施例中,可以由开发人员按照预设的关键信息所对应多个独立字形,在上述多个独立字形的预设位置手动***预定义的连接字符。在另一实施例中,可以预先建立关键信息所对应独立字形表,然后在确定待处理的所有独立字形后,在其中匹配于上述独立字形表的多个独立字形的预设位置自动***预定义的连接字符。其中,上述独立字形表可以可以根据字形规律、文字特征、商品类型等具体情况预先建立。
例如,上述多个独立字形的预设位置可以为多个独立字形中任一相邻两独立字形的中间,如在待处理的独立字形为“铝合金折叠式电脑手机二合一支架¥50”的场景下,若确定出的关键信息对应的两个独立字形分别为“5”和“0”,则在“5”和“0”中间***“\u2060”,得到***连接字符后的字形“铝合金折叠式电脑手机二合一支架¥5\u20600”;也可以在多个独立字形之间连续***连接字符实现多次拼接,例如,若确定出关键信息对应的的三个独立字形分别为“¥”、“5”和“0”,则在“¥”、“5”和“0”中间***“\u2060”,得到***连接字符后的字形“铝合金折叠式电脑手机二合一支架¥\u20605\u20600”。上述多个独立字形的预设位置也可以为其他位置,不再赘述。
在步骤406中,确定待排版的字形集合。
在独立字形之间***连接字符后,上述所有独立字形和***的连接字符所构成的集合即为待排版的字形集合。
在步骤408中,检测待排版的字形集合中的连接字符。
在一实施例中,在排版过程中实时检测并排版,即对于即将排版的任一独立字形,检测是否存在与该独立字形对应的连接字符(亦即,该任一独立字形与该连接字符具有预设关联关系),若存在,则转入步骤410;否则,若不存在,则将该独立字形作为待排版的基本排版单元,转入步骤412参与字形排版。在针对该任一独立字形的排版结束后重新检测下一独立字形,并重复上述处理步骤,直至针对字形集合中所有独立字形的排版结束。其中,上述基本排版单元可以包括独立字形和合并字形。
在另一实施例中,先对字形集合中的所有对象进行检测,确定其中是否存在连接字符。若检测到字形集合中存在任一连接字符,则转入步骤410,然后继续检测下一连接字符;直至检测出上述字形集合中的所有连接字符并相应的添加标记或进行记录,然后转入步骤412进行字形排版。
在步骤410中,将与连接字符具有预设关联关系的独立字形拼接为合并字形。
在上述字形集合中检测出任一连接字符后,将与该连接字符具有预设关联关系的独立字形拼接为合并字形。
如前所述,上述预设关联关系可以具有多种形式,例如,仍以上述步骤404中***连接字符的两实施例为例进行说明:对于***连接字符后的字形“铝合金折叠式电脑手机二合一支架¥5\u20600”,其中关键信息对应的合并字形为“50”;对于***连接字符后的字形“铝合金折叠式电脑手机二合一支架¥\u20605\u20600”,其中关键信息对应的合并字形为“¥50”。为便于在后续排版过程中区分独立字形和合并字形,可以对拼接后所得的合并字形添加合并标记,或在拼接完成后将字形集合中的连接字符及其对应的合并字形记录在合并字形表中,从而在后续排版过程中按照上述合并标记或合并字形表确定拼接后的合并字形。
上述自行集合中未参与拼接的独立字形,可以为“铝”、“合”、“金”、“折”、“叠”、“式”、“电”、“脑”“手”、“机”、“二”、“合”“一”、“支”、“架”;在独立字形对应的字符包括经过分词处理得到的字符串的情况下,其他基本排版单元也可以为“铝合金”、“折叠式”、“电脑”“手机”、“二合一”、“支架”;当然还可以为其他形式,本公开对此并不进行限制。
在步骤412中,对独立字形和合并字形进行排版。
对于包含合并字形的字形集合,此时字形集合中的基本排版单元包括独立字形和合并字形。对独立字形和合并字形进行排版的过程,就是将任一独立字形或任一合并字形作为不可分割的整体(基本排版单元)按照各自的先后顺序参与排版的过程。
在一实施例中,可以先确定目标排版区域以及目标排版区域内的字形行的方向、行数及间距等排版参数,然后在目标排版区域中对合并字形和未参与拼接的独立字形依次按行排列,并在任一行的剩余排版区域的宽度小于合并字形的宽度时,将该合并字形排列至下一行。
参见图5,图5是根据本公开的实施例之一示出的一种字形排版方法效果示意图,其中目标排版区域为图中虚线框所示。如图5(a)所示,此时合并字形“50”的宽度大于当前目标排版区域内第一行剩余排版区域的宽度,因此将合并字形“50”排列至第二行,如图5(b)所示。
类似的,参见图6,图6是根据本公开的实施例之二示出的一种字形排版方法效果示意图,其中目标排版区域为图中虚线框所示。如图6(a)所示,此时合并字形“¥50”的宽度大于当前目标排版区域内第一行剩余排版区域的宽度,因此将合并字形“¥50”排列至第二行,如图6(b)所示。
在上述图5(b)及图6(b)所示实施例中,可以将此时第一行所有独立字形的间距等量扩大,以充分利用将合并字形“50”或“¥50”排列至第二行后第一行的剩余排版区域。
在一实施例中,还可以在字形集合中所有未参与拼接的独立字形和合并字形宽度之和大于目标排版区域的各行宽度之和的情况下,删除至少一个未参与拼接的独立字形,以使字形集合中剩余字形的宽度之和小于或等于目标排版区域的各行宽度之和。
参见图7,图7是根据本公开的实施例之三示出的一种字形排版方法效果示意图,其中目标排版区域为图中虚线框所示。如图7(a)所示,目标排版区域无法容纳字形集合的所有合并字形(“50”)和未参与拼接的独立字形,此时可以删除合并字形“50”之前且与其相邻的独立字形“架”,使目标排版区域能够容纳字形集合中剩余的字形,如图7(b)所示。当然,也可以删除其他独立字形,不再赘述。
在另一实施例中,可以在目标排版区域中添加删除提示字符,该删除提示字符用于表明目标排版区域中存在被删除的独立字形。
参见图8,图8是根据本公开的实施例之四示出的一种字形排版方法效果示意图,其中目标排版区域为图中虚线框所示。目标排版区域无法容纳字形集合的所有合并字形(“50”)和未参与拼接的独立字形,如图8(a)所示。此时可以删除合并字形“50”所在行最前面的独立字形“铝”和“合”,如图8(b)所示;或者删除合并字形“50”之前且与其相邻的独立字形“架”和“¥”,如图8(c)所示,使目标排版区域能够容纳字形集合中剩余的字形。当然,也可以删除合并字形“50”所在行中间部位的独立字形,本公开对此并不进行限制。在合并字形为“¥50”时与上述类似,不再赘述。
参见图9,图9是根据本公开的实施例之五示出的一种字形排版方法效果示意图。此时目标排版区域中仅有一行可以对字形进行排版,如图9(a)所示,而待排版的字形集合内的全部字形宽度之和大于目标排版区域的宽度,显然目标排版区域无法容纳字形集合的所有合并字形(“¥50”)和未参与拼接的独立字形。此时可以删除待排版的字形集合内前部的多个独立字形,如图9(b)所示,使目标排版区域能够容纳字形集合中剩余的字形。也可以保留字形集合中与该字形集合的描述对象相关性较强的关键独立字形(如“AA”、“铝合金”、“折叠”、“二合一”、“旋转”、“支架”),以重点展示描述对象的重要信息,如图9(c)所示。
另外,在上述删除提示字符位于合并字形之前且与合并字形相邻的情况下,也可以将上述删除提示字符与合并字形进行二次拼接。参见图10,图10是根据本公开的实施例之六示出的一种字形排版方法效果示意图,将删除提示字符“…”与合并字形“¥50”进行二次拼接得到合并字形“…¥50”,如图10(a)所示,此时可以删除合并字形“…¥50”之前且与其相邻的独立字形“支”和“架”,并替换为“…¥50”,如图10(b)所示。与前述字形排版方法的实施例相对应地,本公开还提出了字形排版装置的实施例。
图11是根据本公开的实施例示出的一种字形排版装置的示意框图。本实施例所示的字形排版装置可以适用于字形排版程序,所述字形排版程序适用于终端,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机等电子设备。
如图11所示,所述字形排版装置可以包括:
字形集合获取模块1101,被配置为获取待排版的字形集合,所述字形集合中包含多个待排版的独立字形;
字形拼接模块1102,被配置为若在所述字形集合中检测出预定义的连接字符,则将与所述连接字符具有预设关联关系的独立字形拼接为合并字形;
字形排版模块1103,被配置为对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版。
可选的,所述字形集合中的独立字形对应的字符包括经过分词处理得到的单个字符和/或字符串。
可选的,所述与所述连接字符具有预设关联关系的独立字形,包括:位于所述连接字符之前的至少一个相邻的独立字形,和/或位于所述连接字符之后的至少一个相邻的独立字形。
可选的,所述字形排版模块1103,还被配置为:
确定目标排版区域;
在所述目标排版区域中对未参与拼接的所述独立字形和所述合并字形依次按行排列,并在任一行中排列所述独立字形后的剩余排版区域的宽度小于所述合并字形的宽度时,将所述合并字形排列至下一行。
可选的,所述装置还包括:
独立字形删除模块1104,被配置为在任一行中待排列的所有所述独立字形和所述合并字形的宽度之和大于所述目标排版区域的宽度时,删除至少一个所述独立字形,以使剩余的所述独立字形和所述合并字形的宽度之和不大于所述目标排版区域的宽度。
可选的,所述装置还包括:
提示字符添加模块1105,被配置为在所述目标排版区域中添加删除提示字符,所述删除提示字符用于表明所述目标排版区域中存在被删除的独立字形。
可选的,所述独立字形对应的字符属于Unicode编码***定义的字符,所述连接字符为\u2060。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的字形排版方法。
本公开的实施例还提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的字形排版方法。
本公开的实施例还提出一种计算机程序产品,所述计算机程序产品被配置为执行上述任一实施例所述的字形排版方法。
图12是根据本公开的实施例示出的一种电子设备的示意框图。例如,电子设备1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图12,电子设备1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电源组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)的接口1212,传感器组件1214,以及通信组件1216。
处理组件1202通常控制电子设备1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1220来执行指令,以完成上述字形排版方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
存储器1204被配置为存储各种类型的数据以支持在电子设备1200的操作。这些数据的示例包括用于在电子设备1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1206为电子设备1200的各种组件提供电力。电源组件1206可以包括电源管理***,一个或多个电源,及其他与为电子设备1200生成、管理和分配电力相关联的组件。
多媒体组件1208包括在电子设备1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当电子设备1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当电子设备1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。
I/O接口1212为处理组件1202和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括一个或多个传感器,用于为电子设备1200提供各个方面的状态评估。例如,传感器组件1214可以检测到电子设备1200的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1200的显示器和小键盘,传感器组件1214还可以检测电子设备1200或电子设备1200一个组件的位置改变,用户与电子设备1200接触的存在或不存在,电子设备1200方位或加速/减速和电子设备1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1216被配置为便于电子设备1200和其他设备之间有线或无线方式的通信。电子设备1200可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述字形排版方法。
在本公开一实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由电子设备1200的处理器1220执行以完成上述字形排版方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (10)
1.一种字形排版方法,其特征在于,包括:
获取待排版的字形集合,所述字形集合中包含多个待排版的独立字形;
若在所述字形集合中检测出预定义的连接字符,则将与所述连接字符具有预设关联关系的独立字形拼接为合并字形;
对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版。
2.根据权利要求1所述的方法,其特征在于,所述字形集合中的独立字形对应的字符包括经过分词处理得到的单个字符和/或字符串。
3.根据权利要求1所述的方法,其特征在于,所述与所述连接字符具有预设关联关系的独立字形,包括:位于所述连接字符之前的至少一个相邻的独立字形,和/或位于所述连接字符之后的至少一个相邻的独立字形。
4.根据权利要求1所述的方法,其特征在于,所述对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版,包括:
确定目标排版区域;
在所述目标排版区域中对未参与拼接的所述独立字形和所述合并字形依次按行排列,并在任一行中排列所述独立字形后的剩余排版区域的宽度小于所述合并字形的宽度时,将所述合并字形排列至下一行。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在任一行中待排列的所有所述独立字形和所述合并字形的宽度之和大于所述目标排版区域的宽度时,删除至少一个所述独立字形,以使剩余的所述独立字形和所述合并字形的宽度之和不大于所述目标排版区域的宽度。
6.根据权利要求5所述的方法,其特征在于,还包括:
在所述目标排版区域中添加删除提示字符,所述删除提示字符用于表明所述目标排版区域中存在被删除的独立字形。
7.根据权利要求1所述的方法,其特征在于,所述独立字形对应的字符属于Unicode编码***定义的字符,所述连接字符为\u2060。
8.一种字形排版装置,其特征在于,包括:
字形集合获取模块,被配置为获取待排版的字形集合,所述字形集合中包含多个待排版的独立字形;
字形拼接模块,被配置为若在所述字形集合中检测出预定义的连接字符,则将与所述连接字符具有预设关联关系的独立字形拼接为合并字形;
字形排版模块,被配置为对所述字形集合中未参与拼接的所述独立字形和所述合并字形进行排版。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的字形排版方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的字形排版方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010451111.XA CN111626037A (zh) | 2020-05-25 | 2020-05-25 | 字形排版方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010451111.XA CN111626037A (zh) | 2020-05-25 | 2020-05-25 | 字形排版方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111626037A true CN111626037A (zh) | 2020-09-04 |
Family
ID=72260007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010451111.XA Pending CN111626037A (zh) | 2020-05-25 | 2020-05-25 | 字形排版方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626037A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101263450A (zh) * | 2005-09-15 | 2008-09-10 | 微软公司 | 字体字符的放大 |
CN104516866A (zh) * | 2013-09-26 | 2015-04-15 | 北大方正集团有限公司 | 文字沿线排版的方法 |
US20160274995A1 (en) * | 2015-03-18 | 2016-09-22 | New Iron Systems, Inc. | Diagnostic Tool and Method for Efficient Software Development |
CN110633437A (zh) * | 2018-05-31 | 2019-12-31 | 阿里巴巴集团控股有限公司 | 一种多行省略显示的方法及装置 |
CN111008559A (zh) * | 2019-10-31 | 2020-04-14 | 浙江数链科技有限公司 | 一种面单识别结果的排版方法、***及计算机设备 |
CN111062186A (zh) * | 2019-12-06 | 2020-04-24 | 金蝶软件(中国)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-05-25 CN CN202010451111.XA patent/CN111626037A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101263450A (zh) * | 2005-09-15 | 2008-09-10 | 微软公司 | 字体字符的放大 |
CN104516866A (zh) * | 2013-09-26 | 2015-04-15 | 北大方正集团有限公司 | 文字沿线排版的方法 |
US20160274995A1 (en) * | 2015-03-18 | 2016-09-22 | New Iron Systems, Inc. | Diagnostic Tool and Method for Efficient Software Development |
CN110633437A (zh) * | 2018-05-31 | 2019-12-31 | 阿里巴巴集团控股有限公司 | 一种多行省略显示的方法及装置 |
CN111008559A (zh) * | 2019-10-31 | 2020-04-14 | 浙江数链科技有限公司 | 一种面单识别结果的排版方法、***及计算机设备 |
CN111062186A (zh) * | 2019-12-06 | 2020-04-24 | 金蝶软件(中国)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970577B (zh) | 字幕编辑方法、装置和电子设备 | |
US10761688B2 (en) | Method and apparatus for editing object | |
US20080282153A1 (en) | Text-content features | |
CN106415527B (zh) | 消息通信方法及装置 | |
CN113099297B (zh) | 卡点视频的生成方法、装置、电子设备及存储介质 | |
CN109034242B (zh) | 图像处理算法的评分方法、装置及*** | |
CN113010698B (zh) | 多媒体的交互方法、信息交互方法、装置、设备及介质 | |
CN113536172B (zh) | 一种百科信息展示的方法、装置及计算机存储介质 | |
US11367232B2 (en) | Method and device for generating stickers | |
CN113806570A (zh) | 图像生成方法和生成装置、电子设备和存储介质 | |
CN111797262A (zh) | 诗词生成方法、装置、电子设备和存储介质 | |
CN107844494B (zh) | 词条审核的方法及终端、词条处理的方法及服务器 | |
CN108874758B (zh) | 笔记处理方法和装置、用于笔记处理的装置 | |
CN113920293A (zh) | 信息识别方法、装置、电子设备及存储介质 | |
WO2023169361A1 (zh) | 信息推荐方法、装置和电子设备 | |
CN112822394A (zh) | 显示控制方法、装置、电子设备及可读存储介质 | |
CN111832297A (zh) | 词性标注方法、装置及计算机可读存储介质 | |
CN111626037A (zh) | 字形排版方法、装置、电子设备和存储介质 | |
CN110662103B (zh) | 多媒体对象重构方法及装置、电子设备、可读存储介质 | |
EP3136258A1 (en) | Translation string and context saving in translation memory database | |
CN113630644B (zh) | 视频内容编辑器的编辑方法、装置及存储介质 | |
US10423706B2 (en) | Method and device for selecting information | |
CN114154465B (zh) | 结构图的结构重构方法、装置、电子设备及存储介质 | |
CN114020224B (zh) | 一种文本显示方法、装置、电子设备、存储介质及产品 | |
CN111880696B (zh) | 一种基于百科的数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |