CN112507671B - 用于调整文本间距的方法、装置、以及可读介质 - Google Patents

用于调整文本间距的方法、装置、以及可读介质 Download PDF

Info

Publication number
CN112507671B
CN112507671B CN202011505269.7A CN202011505269A CN112507671B CN 112507671 B CN112507671 B CN 112507671B CN 202011505269 A CN202011505269 A CN 202011505269A CN 112507671 B CN112507671 B CN 112507671B
Authority
CN
China
Prior art keywords
text
line
distance value
control
distance
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.)
Active
Application number
CN202011505269.7A
Other languages
English (en)
Other versions
CN112507671A (zh
Inventor
马振涛
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011505269.7A priority Critical patent/CN112507671B/zh
Publication of CN112507671A publication Critical patent/CN112507671A/zh
Application granted granted Critical
Publication of CN112507671B publication Critical patent/CN112507671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

提供一种用于调整文本间距的方法、装置、以及存储介质,涉及计算机技术领域,具体涉及应用开发技术领域,尤其涉及用户界面技术领域。该用于调整文本间距的方法包括:获取目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距;创建文本控件,其中,文本控件中的文本与目标文本在内容上相同;根据目标文本的字体信息,获取文本控件中的文本的字体度量信息;以及根据字体度量信息,对文本控件中的文本进行调整,以及对文本控件距离位于目标文本周围的控件的间距进行调整。

Description

用于调整文本间距的方法、装置、以及可读介质
技术领域
本公开涉及计算机技术领域,具体涉及应用开发技术领域,尤其涉及一种用于调整文本间距的方法、装置以及可读介质。
背景技术
在安卓系统的开发过程中,会出现文本的显示效果与设计人员提供的文本的显示效果不一致的问题,产生该问题的一个原因在于,为了文本展示的完整性,在安卓系统的文本显示控件中为文本中的每行文字留出了一定的间距,即留白。
在相关技术中,主要通过人工方式手动调整该留白,然而该方式较费时费力,且准确率也不高。
发明内容
根据本公开的一方面,提供一种用于调整文本间距的方法,包括:获取目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距;创建文本控件,其中,文本控件中的文本与目标文本在内容上相同;根据目标文本的字体信息,获取文本控件中的文本的字体度量信息;以及根据字体度量信息,对文本控件中的文本进行调整,以及对文本控件距离位于目标文本周围的控件的间距进行调整。
根据本公开的另一方面,提供一种用于调整文本间距的装置,包括:第一获取模块,配置为获取目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距;创建模块,配置为创建文本控件,其中,文本控件中的文本与目标文本在内容上相同;第二获取模块,配置为根据目标文本的字体信息,获取文本控件中的文本的字体度量信息;以及调整模块,配置为根据字体度量信息,对文本控件中的文本进行调整,以及对文本控件距离位于目标文本周围的控件的间距进行调整。
根据本公开的另一方面,提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据本公开实施例的用于调整文本间距的方法。
根据本公开的另一方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例的用于调整文本间距的方法。
根据本公开的另一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据本公开实施例的用于调整文本间距的方法。
借助于本公开的一个或多个示例性实施例,根据目标文本的字体信息和目标文本距离位于该目标文本周围的控件的间距,对文本控件中的文本以及该文本控件距离位于目标文本周围的控件的距离进行适应性调整,能够使得调整后的文本的显示效果与目标文本的显示效果一致,提高研发效率。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统的示意图;
图2示出了根据本公开的实施例的用于调整文本间距的方法的流程图;
图3示出了根据本公开的实施例的文本的字体度量信息的示意图;
图4示出了根据本公开的实施例的文本控件距离周围的控件的间距的示意图;
图5示出了根据本公开的实施例的文本控件的留白的示意图;
图6A-图6C示出了根据本公开的实施例的对文本进行调整的结果对比的示意图;
图7示出了根据本公开的实施例的用于调整文本间距的装置的结构框图;以及
图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在安卓系统的开发过程中,会出现文本的显示效果与预设文本(例如设计人员提供的文本)的格式不一致的问题,产生该问题的其中一个原因在于,为了文本展示的完整性,在安卓系统的文本显示控件(例如TextView)中为文本中的每行文字留出了一定的间距(即留白),使得TextView的高度比预设文本的高度高出一定间距。为了解决TextView中的这些留白间距造成的用户界面的效果展示问题,一种解决方式是手动调节控件间距。然而,该方式需要反复手动调整,费时费力。另一种解决方式是在生成标注图时自动去掉留白的间距值,该方式能够一定程度的去掉留白,但由于机型繁多,且文本中字体大小不一致等问题,使得工作量较大,实用性有限。还有一种解决方式是通过修改文本的行高来去除文本中的间距,然而该方式只解决了文本内部的行间距,TextView中的文本相对于周围控件的位置仍然需要手动调整。
对此,本公开提供一种用于调整文本间距的方法,获取例如由设计人员提供的目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距,创建文本控件以在该文本控件中对文本进行编辑,其中,该文本控件中的文本与设计人员提供的目标文本的内容相同,但显示格式上可能不同。然后,根据目标文本的字体信息,获取文本控件中的文本的字体度量信息,并根据字体度量信息,对文本控件中的文本以及文本控件距离位于目标文本周围的控件的间距进行调整。由此,能够使得TextView中的文本的显示效果与设计人员提供的文本的显示效果一致,提高研发效率。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够执行本公开提供的用于调整文本间距的方法的一个或多个服务或软件应用。
在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
用户(例如设计人员)可以使用客户端设备101、102、103、104、105和/或106发送预设的目标文本,并从服务器接收文本以进行显示。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如Microsoft Windows、AppleiOS、类UNIX操作系统、Linux或类Linux操作系统(例如Google Chrome OS);或包括各种移动操作系统,例如Microsoft Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。
在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据存储库130可以驻留在各种位置。例如,由服务器120使用的数据存储库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据存储库130可以是不同的类型。在某些实施例中,由服务器120使用的数据存储库可以是数据库,例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
图2示出了根据本公开的实施例的用于调整文本间距的方法200的流程图。该方法可以由服务器(例如,图1所示的服务器120)执行。如图2所示,方法200可以包括:获取目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距(步骤201);创建文本控件(步骤202),其中,文本控件中的文本与目标文本在内容上相同;根据目标文本的字体信息,获取文本控件中的文本的字体度量信息(步骤203);以及根据字体度量信息,对文本控件中的文本以及文本控件距离位于目标文本周围的控件的间距进行调整(步骤204)。
在一些示例中,创建的文本控件可以为安卓系统的文本显示控件TextView,能够在TextView中实现文本的编辑和调整等。目标文本可以指期望显示的文本,例如由设计人员提供的满足设计要求的文本。可以理解地,在文本的内容上,创建的文本控件中的文本应当与目标文本相同。控件可以为一种图形用户界面元素,其显示的信息排列可由用户改变,控件可以例如为视窗或文本框。
字体度量FontMetrics是指对于预定字号的某种字体,在度量方面的各种属性。FontMetrics是安卓系统的字体度量,能够根据不同的机型和字体大小进行字体相关属性的计算。在一些实施例中,文本控件中的文本的字体度量信息可以包括文本的文本行的第一距离值、第二距离值、第三距离值和第四距离值。第一距离值可以表示距离该文本行的基线上方的最大距离。第二距离值表示距离该文本行的基线上方的推荐距离。第三距离值表示距离该文本行的基线下方的推荐距离。第四距离值表示距离该文本行的基线的下方的最大距离。
文本行可以指由一个或多个字符排列组成的行,字符可以包括例如,字母、数字、运算符号等。在其他的示例中,字符还可以包括表情符号等。在一些示例中,文本行的第一距离值、第二距离值、第三距离值和第四距离值可以分别为组成该文本行的字符的top、ascent、descent和bottom。文本行的基线可以指该文本行的字符的基线,字符的基线(baseline)可以指字符排列的基准线,例如可以为英文字母n,x,h等字母的下沿所在的横线。
图3示出了根据本公开的实施例的文本的字体度量信息的示意图300。如图3所示,线301可以表示文本行ABfg的基线、线302可以表示文本行ABfg的top所在的线、线303可以表示文本行ABfg的ascent所在的线,线304可以表示文本行ABfg的descent所在的线、线305可以表示文本行ABfg的bottom所在的线。线301和线302之间的距离可以为该文本行ABfg的top。线301和线303之间的距离可以为该文本行ABfg的ascent。线301和线304之间的距离可以为该文本行ABfg的descent。线301和线305之间的距离可以为该文本行ABfg的bottom。
在一些实施例中,根据字体度量信息,对文本控件中的文本进行调整包括:文本的文本行,调整该文本行的第二距离值和第三距离值,获得调整的第二距离值和调整的第三距离值;以及根据调整的第二距离值和调整的第三距离值,对该文本行的字体大小进行调整。字体大小可以理解为字体高度。如图3所示,线303和线304之间的距离大于或高于字体高度,通过调整文本行的ascent和descent,能够在文本控件内部,一定程度上减小文本行之间的间距。
在一些示例中,根据调整的第二距离值和调整的第三距离值,对该文本行的字体大小进行调整包括:以第一比例调整该文本行的第二距离值,获得调整的第二距离值;以第二比例调整该文本行的第三距离值,获取调整的第三距离值;以及根据调整的第二距离值和调整的第三距离值,对该文本行的字体大小进行调整,使得调整的第二距离值和调整的第三距离值之间的差值等于字体大小。例如,可以以一定的比例对ascent和descent进行缩放,使得调整后的ascent和descent之间的差值等于字体大小。由此,能够在一定程度上缩短文本行之间的间距,满足设计要求。
在一个示例中,对于机型为HUAWEI mate 20X 5G版的移动终端,其字体大小为42px,其字体度量信息如下表1所示:
top ascent descent bottom
调整前 -45 -44 11 12
调整后 -45 -34 8 12
表1
可以调整文本行的ascent和descent,使得调整后的ascent和descent之间的差值等于字体大小42px。例如,可以以第一比例调整ascent的值-44,得到调整的ascent(例如取整后为-34),以第二比例/>调整descent的值11,得到调整的descent(例如取整后为8),从而使得调整的ascent和调整的descent之间的差值11-(-44)=42px。可选地,还可以以第二比例调整descent的值,然后根据调整的descent的值和字体大小,确定调整的ascent的值。例如,在确定出调整的descent的值为8时,可以将调整的descent的值和字体大小之间的差值(即8-42=-34px),作为调整的ascent的值。
在另一个示例中,对于机型为HUAWEI mate 20X 5G版的移动终端,其字体大小为72px,其字体度量信息如下表2所示:
top ascent descent bottom
调整前 -77 -75 19 20
调整后 -77 -57 15 20
表2
可以调整文本行的ascent和descent,使得调整后的ascent和descent之间的差值等于字体大小72px。例如,可以以第一比例调整ascent的值-75,得到调整的ascent(例如取整后为-57),以第二比例/>调整descent的值19,得到调整的descent(例如取整后为15),从而使得调整的ascent和调整的descent之间的差值(例如15-(-57))等于字体大小72px。可选地,还可以以第二比例调整descent的值,然后根据调整的descent的值和字体大小,确定调整的ascent的值。例如,在确定出调整的descent的值为15时,可以将调整的descent的值和字体大小之间的差值(即15-72=-57px),作为调整的ascent的值。
在根据调整的ascent值和调整的descent的值对文本行的字体大小进行调整后,还可以调整文本控件与位于目标文本周围的控件的间距,以使得调整后的文本控件中的文本距离位于目标文本周围的控件的间距等于目标文本距离该位于目标文本周围的控件的间距。可以理解地,目标文本包括多个文本行时,文本控件中的文本也包括多个文本行。此时,文本控件与位于目标文本周围的控件的间距主要是由于文本的首行文本行和末行文本行距离位于目标文本周围的控件的间距。在一些示例中,位于目标文本周围的控件可以为位于目标文本周围(例如目标文本的上方,下方,以及左右位置等)的文本控件,还可以为图片,或显示该文本的电子设备的屏幕的边界等。位于目标文本周围的控件可以包括位于目标文本上方的控件,以及位于目标文本下方的控件。可选地,位于目标文本周围的控件还可以包括目标文本左方和右方的控件。
图4示出了根据本公开的实施例的目标文本与位于目标文本周围的控件的示意图400。如图4所示,文本401可以为目标文本,控件402可以为位于目标文本401下方的文本控件。410可以为文本控件401与控件402之间的间距。在图4的示例中,控件402示出为文本控件。在其他的示例中,控件402还可以为位于目标文本周围的其他控件,例如图片等,本公开对此并不限制。
在一些实施例中,在确定出目标文本包括一个以上的文本行的情况下,本公开实施例的方法还可以包括:获取文本的第一行文本行的调整的第二距离值和第一行文本行的第一距离值;以及根据第一行文本行的调整的第二距离值和第一行文本行的第一距离值,确定文本控件的第一留白。
在一些实施例中,根据第一行文本行的调整的第二距离值和第一行文本行的第一距离值,确定文本控件的第一留白可以包括:将第一行文本行的调整的第二距离值和第一行文本行的第一距离值之间的差值作为第一留白。
在一些实施例中,在确定出目标文本包括一个以上的文本行的情况下,本公开实施例的方法还可以包括:获取文本的最后一行文本行的调整的第三距离值和最后一行文本行的第四距离值;以及根据最后一行文本行的调整的第三距离值和最后一行文本行的第四距离值,确定文本控件的第二留白。
在一些实施例中,根据最后一行文本行的调整的第三距离值和最后一行文本行的第四距离值,确定文本控件的第二留白可以包括:将最后一行文本行的调整的第三距离值和最后一行文本行的第四距离值之间的差值作为第二留白。
图5示出了根据本公开的实施例的文本控件的留白的示意图500。如图5所示,线501是文本行ABfg的基线,线502是文本行ABfg的top所在的线,线503是文本行ABfg的调整的ascent所在的线,线504是文本行ABfg的调整的descent所在的线,线505是文本行ABfg的bottom所在的线。线502和线503之间的间距510可以为文本控件的第一留白,线504和线505之间的间距520可以为文本控件的第二留白。可以理解地,文本中每行文本行都具有相应的留白。如上述表1所示,对于该文本行,其调整的ascent的值为-34,top的值为-45,则可以确定第一留白为调整的ascent和top之间的差值,例如-34-(-45)=11,可以确定第二留白为调整的descent和bottom之间的差值,例如12–8=4。
在一些实施例中,在位于目标文本周围的控件包括位于目标文本控件上方的第一控件的情况下,对文本控件距离位于目标文本周围的控件的间距进行调整可以包括:根据第一留白,对文本控件距离第一控件的间距进行调整。
在一些实施例中,目标文本距离位于目标文本周围的控件的间距可以包括目标文本距离第一控件的第一间距。根据第一留白,对文本控件距离第一控件的间距进行调整可以包括:根据第一留白,对文本控件距离第一控件的间距进行调整,使得调整后的文本控件距离第一控件的间距等于第一间距。
在一些实施例中,位于目标文本周围的控件还可以包括位于文本控件下方的第二控件。对文本控件距离位于目标文本周围的控件的间距进行调整可以包括:根据第二留白,对文本控件距离第二控件的间距进行调整。
在一些实施例中,目标文本距离位于目标文本周围的控件的间距可以包括目标文本距离第二控件的第二间距。根据第二留白,对文本控件距离第二控件的间距进行调整可以包括:根据第二留白,对文本控件距离第二控件的间距进行调整,使得调整后的文本控件距离第二控件的间距等于第二间距。
在文本包括多个文本行的情况下,本公开仅考虑首行文本行和末行文本行的留白,由此可以减少计算量,提升效率。可选地,在文本仅包括单个文本行的情况下,则可以根据该单个文本行确定相应的留白。
可以理解地,为了便于阅读目标文本,上下两行文本之间需要保持一定的间距,使得文本行之间的间距大于文本中的字符的字体大小。在一些实施例中,还可以获取目标文本的文本行之间的间距,并根据该行间距,对文本控件中的文本的文本行进行调整,使得调整的文本的文本行之间的间距与目标文本的文本行之间的间距一致。由此,使得文本控件中的文本在字体间距上与目标文本一致。
图6A-图6C示出了根据本公开的实施例的对文本进行调整的结果对比示意图,其中图6A示出了目标文本的显示效果的示意图,图6B示出了文本控件中的文本的显示效果示意图,图6C示出了对文本控件中的文本进行调整后的显示效果的示意图。由此,借助于本公开示例性实施例的方法,能够使得调整后的文本的显示效果与目标文本的显示效果基本一致。
图7示出了根据本公开的实施例的用于调整文本间距的装置700的结构框图。如图7所示,该装置700包括第一获取模块701,创建模块702,第二获取模块703和调整模块704。
第一获取模块701被配置为获取目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距。创建模块702被配置为创建文本控件,其中,文本控件中的文本与目标文本在内容上相同。第二获取模块703被配置为根据目标文本的字体信息,获取文本控件中的文本的字体度量信息。调整模块704被配置为根据字体度量信息,对文本控件中的文本进行调整,以及对文本控件距离位于目标文本周围的控件的间距进行调整。
在一些示例中,第一获取模块701,创建模块702,第二获取模块703和调整模块704的操作分别对应于上面关于图2描述的方法200的步骤201-204,因此此处不再详细描述。由此,根据目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距,对文本控件中的文本以及该文本控件距离位于目标文本周围的控件的距离进行适应性调整,能够使得调整后的文本的显示效果与目标文本的显示效果一致,提高研发效率。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作的另一个组件或模块(或结合该特定模块一起执行该动作)。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器。所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据本公开实施例的用于调整文本间距的方法。
本公开示例性实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例的用于调整文本间距的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据本公开实施例的用于调整文本间距的方法。
借助于本公开示例性实施例的方案,根据目标文本的字体信息和目标文本距离位于目标文本周围的控件的间距,对文本控件中的文本以及该文本控件距离位于目标文本周围的控件的距离进行适应性调整,能够使得调整后的文本的显示效果与目标文本的显示效果一致,提高研发效率。
参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法200。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由计算单元801执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (9)

1.一种用于调整文本间距的方法,包括:
获取目标文本的字体信息和所述目标文本距离位于所述目标文本周围的控件的间距;
创建文本控件,其中,所述文本控件中的文本与所述目标文本在内容上相同;
根据所述目标文本的所述字体信息,获取所述文本控件中的所述文本的字体度量信息,其中,所述文本控件中的所述文本的所述字体度量信息包括:所述文本的文本行的第一距离值、第二距离值、第三距离值和第四距离值,
其中,所述第一距离值表示距离该文本行的基线上方的最大距离;
所述第二距离值表示距离该文本行的基线上方的推荐距离;
所述第三距离值表示距离该文本行的基线下方的推荐距离;
所述第四距离值表示距离该文本行的基线的下方的最大距离;以及
根据所述字体度量信息,对所述文本控件中的所述文本进行调整,以及对所述文本控件距离所述位于所述目标文本周围的控件的间距进行调整,包括:
确定所述文本的文本行,以第一比例调整该文本行的第二距离值,获得调整的第二距离值;
以第二比例调整该文本行的第三距离值,获取调整的第三距离值;以及
根据所述调整的第二距离值和所述调整的第三距离值,对该文本行的字体大小进行调整,使得所述调整的第二距离值和所述调整的第三距离值之间的差值等于所述字体大小;
响应于确定所述文本包括一个以上的文本行,所述方法还包括:
获取所述文本的第一行文本行的调整的第二距离值和所述第一行文本行的第一距离值;以及
根据所述第一行文本行的所述调整的第二距离值和所述第一行文本行的所述第一距离值,确定所述文本控件的第一留白,包括:
将所述第一行文本行的所述调整的第二距离值和所述第一行文本行的所述第一距离值之间的差值作为所述第一留白;
响应于确定所述文本包括一个以上行,所述方法还包括:
获取所述文本的最后一行文本行的调整的第三距离值和所述最后一行文本行的第四距离值;以及
根据所述最后一行文本行的所述调整的第三距离值和所述最后一行文本行的所述第四距离值,确定所述文本控件的第二留白,包括:
将所述最后一行文本行的所述调整的第三距离值和所述最后一行文本行的所述第四距离值之间的差值作为所述第二留白。
2.根据权利要求1所述的方法,其中,所述位于所述目标文本周围的控件包括位于所述目标文本上方的第一控件,
其中,对所述文本控件距离所述位于所述目标文本周围的控件的间距进行调整包括:
根据所述第一留白,对所述文本控件距离所述第一控件的间距进行调整。
3.根据权利要求2所述方法,其中,所述目标文本距离位于所述目标文本周围的控件的间距包括所述目标文本距离所述第一控件的第一间距,
根据所述第一留白,对所述文本控件距离所述第一控件的间距进行调整包括:
根据所述第一留白,对所述文本控件距离所述第一控件的间距进行调整,使得调整后的所述文本控件距离所述第一控件的间距等于所述第一间距。
4.根据权利要求1所述的方法,其中,所述位于所述目标文本周围的控件包括位于所述文本控件下方的第二控件,
其中,对所述文本控件距离所述位于所述目标文本周围的控件的间距进行调整包括:
根据所述第二留白,对所述文本控件距离所述第二控件的间距进行调整。
5.根据权利要求4所述的方法,其中,所述目标文本距离位于所述目标文本周围的控件的间距包括所述目标文本距离所述第二控件的第二间距,
根据所述第二留白,对所述文本控件距离所述第二控件的间距进行调整包括:
根据所述第二留白,对所述文本控件距离所述第二控件的间距进行调整,使得调整后的所述文本控件距离所述第二控件的间距等于所述第二间距。
6.根据权利要求1所述的方法,还包括:
获取所述目标文本的文本行之间的间距;
其中,根据所述字体度量信息,对所述文本控件中的所述文本进行调整包括:
根据所述目标文本的文本行之间的间距,对所述文本控件中的所述文本的文本行进行调整,使得调整的所述文本的所述文本行之间的间距与所述目标文本的所述文本行之间的间距一致。
7.一种用于调整文本间距的装置,包括:
第一获取模块,配置为获取目标文本的字体信息和所述目标文本距离位于所述目标文本周围的控件的间距;
创建模块,配置为创建文本控件,其中,所述文本控件中的文本与所述目标文本在内容上相同;
第二获取模块,配置为根据所述目标文本的所述字体信息,获取所述文本控件中的所述文本的字体度量信息,其中,所述文本控件中的所述文本的所述字体度量信息包括:所述文本的文本行的第一距离值、第二距离值、第三距离值和第四距离值,
其中,所述第一距离值表示距离该文本行的基线上方的最大距离;
所述第二距离值表示距离该文本行的基线上方的推荐距离;
所述第三距离值表示距离该文本行的基线下方的推荐距离;
所述第四距离值表示距离该文本行的基线的下方的最大距离;以及
调整模块,配置为根据所述字体度量信息,对所述文本控件中的所述文本进行调整,以及对所述文本控件距离所述位于所述目标文本周围的控件的间距进行调整,其中,所述调整模块被进一步配置为:
确定所述文本的文本行,以第一比例调整该文本行的第二距离值,获得调整的第二距离值;
以第二比例调整该文本行的第三距离值,获取调整的第三距离值;以及
根据所述调整的第二距离值和所述调整的第三距离值,对该文本行的字体大小进行调整,使得所述调整的第二距离值和所述调整的第三距离值之间的差值等于所述字体大小;
响应于确定所述文本包括一个以上的文本行,
获取所述文本的第一行文本行的调整的第二距离值和所述第一行文本行的第一距离值;以及
根据所述第一行文本行的所述调整的第二距离值和所述第一行文本行的所述第一距离值,确定所述文本控件的第一留白,包括:
将所述第一行文本行的所述调整的第二距离值和所述第一行文本行的所述第一距离值之间的差值作为所述第一留白;
响应于确定所述文本包括一个以上行,
获取所述文本的最后一行文本行的调整的第三距离值和所述最后一行文本行的第四距离值;以及
根据所述最后一行文本行的所述调整的第三距离值和所述最后一行文本行的所述第四距离值,确定所述文本控件的第二留白,包括:
将所述最后一行文本行的所述调整的第三距离值和所述最后一行文本行的所述第四距离值之间的差值作为所述第二留白。
8.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
CN202011505269.7A 2020-12-18 2020-12-18 用于调整文本间距的方法、装置、以及可读介质 Active CN112507671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011505269.7A CN112507671B (zh) 2020-12-18 2020-12-18 用于调整文本间距的方法、装置、以及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011505269.7A CN112507671B (zh) 2020-12-18 2020-12-18 用于调整文本间距的方法、装置、以及可读介质

Publications (2)

Publication Number Publication Date
CN112507671A CN112507671A (zh) 2021-03-16
CN112507671B true CN112507671B (zh) 2024-01-12

Family

ID=74922388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011505269.7A Active CN112507671B (zh) 2020-12-18 2020-12-18 用于调整文本间距的方法、装置、以及可读介质

Country Status (1)

Country Link
CN (1) CN112507671B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773182A (ja) * 1993-09-01 1995-03-17 Morisawa & Co Ltd 文字配置決定装置および文字配置決定方法並びにワークステーション
WO2014181563A1 (ja) * 2013-05-10 2014-11-13 ウイングアーク1st株式会社 文書処理装置および文書処理用プログラム
CN109657205A (zh) * 2018-10-09 2019-04-19 阿里巴巴集团控股有限公司 文本行高的调整方法及装置、电子设备
CN111797610A (zh) * 2020-07-13 2020-10-20 郑州玛源网络科技有限公司 一种基于图像处理的字体及关键句的分析方法
CN111859931A (zh) * 2020-07-27 2020-10-30 北京字节跳动网络技术有限公司 文本的提取处理方法、装置、终端和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103871392A (zh) * 2012-12-14 2014-06-18 鸿富锦精密工业(武汉)有限公司 自动调整阅读软件显示字体大小的系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773182A (ja) * 1993-09-01 1995-03-17 Morisawa & Co Ltd 文字配置決定装置および文字配置決定方法並びにワークステーション
WO2014181563A1 (ja) * 2013-05-10 2014-11-13 ウイングアーク1st株式会社 文書処理装置および文書処理用プログラム
CN109657205A (zh) * 2018-10-09 2019-04-19 阿里巴巴集团控股有限公司 文本行高的调整方法及装置、电子设备
CN111797610A (zh) * 2020-07-13 2020-10-20 郑州玛源网络科技有限公司 一种基于图像处理的字体及关键句的分析方法
CN111859931A (zh) * 2020-07-27 2020-10-30 北京字节跳动网络技术有限公司 文本的提取处理方法、装置、终端和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Dialect distance assessment method based on comparison of pitch pattern statistical models;Mahnoosh Mehrabani等;2010 IEEE International Conference on Acoustics, Speech and Signal Processing;全文 *
基于汉字笔画与结构的特征字库构造及优化;宋春晓;黄峰;靳松清;白晓东;仇宏斌;姜杰;李艺;;计算机工程与科学(第05期);全文 *
维吾尔文信息处理平台Open Type字体制作技术;阿布力米提.阿不都热依木;计算机工程与设计(第11期);全文 *
融合集群度与距离均衡优化的K-均值聚类算法;王日宏;崔兴梅;;计算机应用(第01期);全文 *

Also Published As

Publication number Publication date
CN112507671A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
EP4033444A2 (en) Method and apparatus for enhancing image quality, device, and medium
EP3869404A2 (en) Vehicle loss assessment method executed by mobile terminal, device, mobile terminal and medium
CN115147265A (zh) 虚拟形象生成方法、装置、电子设备和存储介质
CN112967356A (zh) 图像填充方法及装置、电子设备和介质
JP7309811B2 (ja) データ注釈方法、装置、電子機器および記憶媒体
CN113326403A (zh) 流程图渲染方法及装置、电子设备和介质
CN112947916A (zh) 用于实现在线画布的方法、装置、设备以及存储介质
CN112507671B (zh) 用于调整文本间距的方法、装置、以及可读介质
CN114510308B (zh) 移动终端存储应用页面的方法、装置、设备和介质
CN114913549B (zh) 图像处理方法、装置、设备及介质
CN113641929B (zh) 页面渲染的方法、装置、电子设备和计算机可读存储介质
CN115393514A (zh) 三维重建模型的训练方法、三维重建方法、装置、设备
CN114327718A (zh) 界面展示方法及装置、设备和介质
CN113436298A (zh) 一种自动生成汉字笔顺动画的方法、装置及其相关组件
CN114241092A (zh) 多图排版方法、多图排版装置及电子设备
CN113076480A (zh) 页面推荐方法、装置、电子设备及介质
CN113127058A (zh) 数据标注方法、相关装置及计算机程序产品
CN114138358A (zh) 应用程序的启动优化方法、装置、设备和存储介质
CN112861504A (zh) 文本交互方法、装置、设备、存储介质及程序产品
CN113312050B (zh) 内容显示方法、装置、设备和介质
US20210294469A1 (en) Systems and methods for intelligent layered interactive derived programmatic elements for fixed content
CN116129245A (zh) 图像反卷积方法及装置、设备和介质
CN115858891A (zh) 数据的可视化展示方法、装置、电子设备及存储介质
CN116775026A (zh) 页面生成方法、装置、电子设备和介质
CN113591972A (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
GR01 Patent grant
GR01 Patent grant