CN104965834B - 字体显示方法和装置 - Google Patents
字体显示方法和装置 Download PDFInfo
- Publication number
- CN104965834B CN104965834B CN201410295115.8A CN201410295115A CN104965834B CN 104965834 B CN104965834 B CN 104965834B CN 201410295115 A CN201410295115 A CN 201410295115A CN 104965834 B CN104965834 B CN 104965834B
- Authority
- CN
- China
- Prior art keywords
- word
- font data
- input
- character font
- font
- 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
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种字体显示方法和装置,所述方法包括:获取输入的文字和选择的字体名称;判断本地是否存储有与所述字体名称对应的字体数据;若是,则从本地获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;否则,从服务器获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体。采用本方法,节约了网络资源,也节省了终端本地的存储空间。此外,还提供另一种字体显示方法及装置。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种字体显示方法和装置。
背景技术
传统技术中,要在终端上显示某种字体,特别是要在诸如平板电脑、智能手机等移动终端上显示一些个性化的字体,往往需要将整个字库下载到终端中,该字库包含所有预先设定好的字体数据。然而,一个标准的字库往往都包含几十甚至上百种的字体所对应的字体数据,将整个字库下载下来不仅会耗费额外的网络资源,也会占用较多的存储空间。
发明内容
基于此,有必要针对上述问题,提供一种能节约网络资源和节省终端本地存储空间的字体显示方法和装置。
一种字体显示方法,所述方法包括:
获取输入的文字和选择的字体名称;
判断本地是否存储有与所述字体名称对应的字体数据;
若是,则从本地获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;
否则,从服务器获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体。
一种字体显示装置,所述装置包括:
第一获取模块,用于获取输入的文字和选择的字体名称;
第一判断模块,用于判断本地是否存储有与所述字体名称对应的字体数据;
第一字体显示模块,用于若本地存储有与所述字体名称对应的字体数据,则从本地获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;若本地没有存储与所述字体名称对应的字体数据,则从服务器获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体。
上述字体显示方法和装置,在本地存储有与选择的字体名称对应的字体数据时,则直接从本地获取所需的字体数据,不再向服务器下载整个字库,而且,当本地不存在所需的字体数据时,也只从服务器获取与字体名称对应的字体数据,而非将整个字库下载下来。这样,既不会耗费过多的网络资源,也能节省终端本地的存储空间。
一种字体显示方法,所述方法包括:
获取输入的文字;
获取所述输入的文字对应的编码;
判断本地是否存储有与所述输入的文字对应的编码对应的字体数据;
若是,则从本地获取与所述编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体;
否则,从服务器获取与所述输入的文字对应的编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体。
一种字体显示装置,所述装置包括:
第二获取模块,用于获取输入的文字,获取所述输入的文字对应的编码;
第二判断模块,用于判断本地是否存储有与所述输入的文字对应的编码对应的字体数据;
第二文字显示模块,用于若本地存储有与所述输入的文字对应的编码对应的字体数据,则从本地获取与所述编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体;若本地没有存储与所述输入的文字对应的编码对应的字体数据,则从服务器获取与所述输入的文字对应的编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体。
上述字体显示方法和装置,根据输入的文字对应的编码来获取字体数据,当本地存在所需的字体数据时,则不再向服务器下载整个字库,而且,当本地不存在所需的字体数据时,只从服务器获取对应的字体数据,而非将整个字库下载下来。因此,节约了网络资源,也节省了终端本地的存储空间。
附图说明
图1为一个实施例中字体显示方法的流程图;
图2为另一个实施例中字体显示方法的流程图;
图3为再一个实施例中字体显示方法的流程图;
图4为又一个实施例中字体显示方法的流程图;
图5为一个实施例中字体显示装置的结构示意图;
图6为另一个实施例中字体显示装置的结构示意图;
图7为另一个实施例中的字体显示装置的结构示意图;
图8为另一个实施例中的字体显示装置的结构示意图;
图9为再一个实施例中字体显示装置的结构示意图;
图10为又一个实施例中字体显示装置的结构示意图;
图11为又一个实施例中的字体显示装置的结构示意图;
图12为又一个实施例中字体显示装置的结构示意图;
图13为实现本发明实施例的终端的硬件架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1所示,提供了一种字体显示方法,该方法以应用于各种可输入文字的终端上进行举例说明,该终端包括但不限于个人计算机、笔记本电脑、个人数字助理、平板电脑、智能手机等,该方法包括:
步骤102,获取输入的文字和选择的字体名称。
字体名称可用于标识不同的字体,比如,传统的宋体、楷体等字体可用字体名称加以区分。本实施例中,在获取到输入的文字之前或者之后,可获取用户通过字体列表所选择的字体名称,该字体列表为字体名称所形成的列表,可预先存储在终端本地,或者获取到输入的文字之前或者之后从服务器获取得到。
步骤104,判断本地是否存储有与字体名称对应的字体数据,若是,则进入步骤106,否则进入步骤108。
字体数据,也可称之为字形数据,是用来描述字体轮廓的贝塞尔曲线数据。每个字体数据与一个字体名称相对应,用来唯一标识对应的字体。本实施例中,终端本地所存储的与字体名称对应的字体数据包括从终端输入的自定义字体对应的字体数据和从服务器下载并存储在终端本地的字体数据。这些字体数据包括但不限于如宋体、楷体等常规字体、预先服务器设置或者用户输入设置的如“卡通字体”等个性化字体等。
步骤106,从本地获取与字体名称对应的字体数据,根据字体数据将文字显示为对应的字体。
如果本地查询到与选择的字体名称对应的字体数据,则可直接从本地读取该字体数据,根据字体数据将文字显示为对应的字体。
步骤108,从服务器获取与字体名称对应的字体数据,根据字体数据将文字显示为对应的字体。
本实施例中,如果本地查询不到与选择的字体名称对应的字体数据,则可向服务器查询,从服务器下载与选择的字体名称对应的字体数据到终端本地,然后根据字体数据将输入的文字显示为对应的字体。
由于当本地存在所需的字体数据时,则不再向服务器下载整个字库,而且,当本地不存在所需的字体数据时,只从服务器获取与字体名称对应的字体数据,而非将整个字库下载下来。这样,既不会耗费过多的网络资源,也能节省终端本地的存储空间。
可以理解,从服务器下载到与选择的字体名称对应的字体数据后,可将该字体数据对应字体名称存储在终端本地。在下次选择相同的字体名称时,则可直接从终端本地获取到该字体数据,不需要再耗费网络资源进行下载。
在一个实施例中,也可以在获取输入的文字后,获取输入的文字对应的编码,该编码为Unicode编码。根据文字对应的编码在本地查询是否有与该编码对应的字体数据,如果有,则直接从本地获取与该编码对应的字体数据,如果没有,则可根据编码从服务器获取对应的字体数据,然后根据获取到的字体数据将文字显示为对应的字体。
Unicode编码是一个用来编码字符的字符集,文字的Unicode编码可以唯一标识文字。如果在本地能够查询到与输入的文字的Unicode编码对应的字体数据,则表明之前输入过相同的文字并使用了该字体数据,可直接将输入的文字自动的显示为之前使用过的字体。本实施例通过文字的Unicode编码查找之间使用过的字体数据,自动将输入的文字显示为相应的字体,为一些常用字体的输入提供了便利。
在一个实施例中,该方法还包括:若从服务器获取不到与字体名称对应的字体数据,则获取用户输入的手写字,根据手写字生成对应的字体数据,根据生成的字体数据将文字显示为对应的字体。
具体的,如图2所示,在一个实施例中,字体显示方法包括:
步骤202,获取输入的文字和选择的字体名称。
步骤204,判断本地是否存储有与字体名称对应的字体数据,若是,则进入步骤206,否则进入步骤208。
步骤206,从本地获取与字体名称对应的字体数据,根据获取的字体数据将文字显示为对应的字体。
步骤208,判断服务器是否存储有与字体名称对应的字体数据,若是,则进入步骤210,否则进入步骤212。
步骤210,从服务器获取与字体名称对应的字体数据,根据获取的字体数据将输入的文字显示为对应的字体。
步骤212,获取用户输入的手写字,根据输入的手写字生成对应的字体数据,将生成的字体数据将文字显示为对应的字体。
具体的,可通过输入设备如触屏或手写板等获取用户输入的手写字的书写轨迹,通过贝塞尔曲线算法,得到该手写轨迹边界上的关键点,包括起点、多个控制点和终点,使用二次贝塞尔曲线来连接这些关键点,从而将手写字转化为贝塞尔曲线,该贝塞尔曲线数据即为该手写字对应的字体数据。
本实施例中,当服务器和终端本地都没有与选择的字体名称对应的字体数据时,可根据用户输入的手写字来生成对应的字体数据,用户输入的手写字对应的字体可称之为自定义字体,这样,可以将输入的文字显示为各种用户所需的自定义字体。
进一步的,在一个实施例中,在根据输入的手写字生成对应的字体数据的步骤之后,还包括:获取输入的手写字对应的字体名称;将生成的字体数据对应字体名称存储在本地以及发送至服务器进行存储。
本实施例中,用户设置的自定义字体可能不止一个,为了区分不同的自定义字体,可提供界面供用户输入手写字对应的字体名称。例如,可将用户输入的一个手写字对应的字体名称设置为“手写1”,可将用户输入的另一个手写字对应的字体名称设置为“手写2”,等等。进一步的,将生成的字体数据对应字体名称存储在终端本地以及发送至服务器进行存储。
本实施例中,将生成的字体数据对应字体名称存储在终端本地,这样,下一次选择同样的字体名称时,可直接从终端本地获取对应的字体数据,无需再输入手写字,为显示字体提供了便利。而将生成的字体数据对应字体名称发送到服务器进行存储,能够有效节省终端本地的存储空间,且再下次选择同样的字体名称时,可直接从服务器获取对应的字体数据,不仅丰富了服务器上存储的字体数据,而且为下次使用同样的字体提供了便利。
在一个实施例中,在根据输入的手写字生成对应的字体数据的步骤之后,还包括:获取文字对应的编码;将生成的字体数据对应编码存储在本地以及发送至服务器进行存储。
本实施例中,文字对应的编码即文字的Unicode编码,文字的Unicode编码用于唯一标识一个文字。将输入的手写字对应的字体数据对应文字的Unicode编码存储在终端本地,这样,下一次输入相同的文字时即可直接根据文字的Unicode编码查询到终端本地的字体数据,为使用字体提供了便利。将输入的手写字对应的字体数据对应文字的Unicode编码发送到服务器进行存储,这样,不仅丰富了服务器上存储的字体数据,且在下次输入相同的文字时可直接从服务器获取到之前使用过的字体数据,为使用字体提供了便利。
在一个实施例中,该方法还包括:获取输入的文字;获取输入的文字对应的编码;判断本地是否存储有与输入的文字对应的编码对应的字体数据;则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体;从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
本实施例中,由于之前将文字对应的编码对应根据手写字生成的字体数据存储在终端本地或者发送到服务器进行存储。这样,在终端本地或者服务器可能存储了与文字的Unicode编码对应的字体数据,这些字体数据包括根据用户输入的手写字生成的字体数据以及一些默认的常规字体的字体数据。若在终端本地能查询到输入的文字的Unicode编码对应的字体数据,表明之前通过终端输入过该文字且使用过字体数据,则从本地直接获取与该Unicode编码对应的字体数据,根据该字体数据将输入的文字显示为对应的字体。如果终端本地没有输入的文字的Unicode编码对应的字体数据,则可从服务器去获取。
本实施例中,对于重复输入的文字,可直接获取之前使用过的字体数据,进而将输入的文字显示为相应字体,为使用字体提供了便利。且由于当本地没有相应的字体数据时,还可以从服务器下载与输入的文字的Unicode编码对应的字体数据,相对于传统的只能将整个字库下载到终端本地的方式,既节约了网络流量,又能节省终端的存储空间。
在一个实施例中,如图3所示,提供了一种字体显示方法,包括:
步骤302,获取输入的文字。
步骤304,获取输入的文字对应的编码。
步骤306,判断本地是否存储有与输入的文字对应的编码对应的字体数据,若是,则进入步骤308,否则进入步骤310。
步骤308,从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
步骤310,从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
在获取输入的文字后,获取输入的文字对应的编码,该编码为Unicode编码。本实施例中,终端本地所存储的与Unicode编码对应的字体数据包括从终端输入的自定义字体对应的字体数据和从服务器下载并存储在终端本地的字体数据。如果在本地查询到有与获取到的Unicode编码对应的字体数据,则直接从本地读取该字体数据,根据字体数据,将输入的文字显示为对应的字体。否则,进入服务器进行查询,从服务器下载与获取到的Unicode编码对应的字体数据到终端本地,然后根据字体数据将输入的文字显示为对应的字体。
本实施例中,可以根据文字对应的编码获取对应的字体数据,由于当本地存在所需的字体数据时,则不再向服务器下载整个字库,而且,当本地不存在所需的字体数据时,只从服务器获取与文字的Unicode编码对应的字体数据,而非将整个字库下载下来。因此,节约了网络资源,也节省了终端本地的存储空间。
可以理解,从服务器下载到与获取的文字的Unicode编码对应的字体数据后,可将该字体数据对应文字的Unicode编码存储在终端本地。在下次获取到相同的文字的Unicode编码时,则可直接从终端本地获取到该字体数据,不需要再耗费网络资源进行下载。
在一个实施例中,上述方法还包括:若从服务器获取不到与输入的文字对应的编码对应的字体数据,则获取用户输入的手写字,根据手写字生成对应的字体数据,根据生成的字体数据将文字显示为对应的字体。
具体的,如图4所示,在一个实施例中,字体显示方法包括:
步骤402,获取输入的文字。
步骤404,获取输入的文字对应的编码。
步骤406,判断本地是否存储有与输入的文字对应的编码对应的字体数据,若是,则进入步骤408,否则进入步骤410。
步骤408,从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
步骤410,判断服务器是否存储有与输入的文字对应的编码对应的字体数据,若是,则进入步骤412,否则进入步骤414。
步骤412,从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
步骤414,获取用户输入的手写字,根据手写字生成对应的字体数据,根据生成的字体数据将文字显示为对应的字体。
具体的,将用户输入的手写字转化为贝塞尔曲线,该贝塞尔曲线数据即为该手写字对应的字体数据。
本实施例中,当终端本地和服务器都没有与获取到的文字的Unicode编码对应的字体数据时,可根据用户输入的手写字来生成对应的自定义的字体数据,这样,可以将输入的文字显示为各种用户所需的字体。
进一步的,在一个实施例中,在根据输入的手写字生成对应的字体数据的步骤之后,还包括:获取文字对应的编码;将生成的字体数据对应编码存储在本地以及发送至服务器进行存储。
本实施例中,根据手写字生成对应的字体数据之后,获取该文字对应的编码即文字的Unicode编码,将生成的字体数据对应文字的Unicode编码存储在终端本地,这样,下一次输入相同的文字时即可直接根据文字的Unicode编码查询到终端本地的字体数据,为使用字体提供了便利。将输入的手写字对应的字体数据对应文字的Unicode编码发送到服务器进行存储,这样,不仅丰富了服务器上存储的字体数据,且在下次输入相同的文字时可直接从服务器获取到之前使用过的字体数据,为使用字体提供了便利。
在一个实施例中,在根据手写字生成对应的字体数据的步骤之后,还包括:获取文字对应的编码和输入的手写字对应的字体名称;将生成的字体数据对应编码和字体名称存储在本地以及发送至服务器进行存储。
本实施例中,为用户输入的手写字设置不同的自定义字体名称。将生成的字体数据对应文字Unicode编码和字体名称存储在终端本地,这样,下一次输入相同的文字时即可直接根据文字的Unicode编码和字体名称查询到终端本地的字体数据,可直接从终端本地获取对应的字体数据,无需再输入手写字,为显示字体提供了便利。而将生成的字体数据对应文字的Unicode编码和字体名称发送到服务器进行存储,能够有效节省终端本地的存储空间,且再下次选择同样的字体名称时,可直接从服务器获取对应的字体数据,不仅丰富了服务器上存储的字体数据,而且为下次使用同样的字体提供了便利。
在一个实施例中,如图5所示,提供一种字体显示装置,包括:第一获取模块502、第一判断模块504和第一字体显示模块506,其中:
第一获取模块502,用于获取输入的文字和选择的字体名称。
第一判断模块504,用于判断本地是否存储有与字体名称对应的字体数据。
第一字体显示模块506,用于若本地存储有与字体名称对应的字体数据,则从本地获取与字体名称对应的字体数据,根据字体数据将文字显示为对应的字体;若本地没有存储与字体名称对应的字体数据,则从服务器获取与字体名称对应的字体数据,根据字体数据将文字显示为对应的字体。
本实施例中,第一字体显示模块506用于如果本地查询到与第一获取模块502获取到的字体名称对应的字体数据,则可直接从本地读取该字体数据,根据字体数据将文字显示为对应的字体。否则,从服务器下载与第一获取模块502获取到的字体名称对应的字体数据到终端本地,然后根据字体数据将输入的文字显示为对应的字体。
在一个实施例中,如图6所示,该装置还包括:第一手写字输入模块508和第一字体数据生成模块510,其中:
第一手写字输入模块508,用于若从服务器获取不到与字体名称对应的字体数据,则获取用户输入的手写字。
第一字体数据生成模块510,用于根据手写字生成对应的字体数据。
第一字体显示模块506还用于根据生成的字体数据将文字显示为对应的字体。
本实施例中,第一手写字输入模块508用于获取用户输入的手写字。第一字体数据生成模块510用于将手写字转化为贝塞尔曲线,生成对应的字体数据,第一字体显示模块506还用于根据生成的字体数据将文字显示为对应的字体。
在一个实施例中,如图7所示,该装置的第一获取模块502还用于获取输入的手写字对应的字体名称。本实施例中,该装置还包括:
第一存储模块512,用于将生成的字体数据对应字体名称存储在本地以及发送至服务器进行存储。
本实施例中,第一存储模块512用于将生成的字体数据对应第一获取模块502获取的字体名称存储在终端本地以及发送至服务器进行存储。
在一个实施例中,如图8所示,该装置的第一获取模块502还用于获取文字对应的编码。本实施例中,该装置还包括:
第二存储模块514,用于将生成的字体数据对应编码存储在本地以及发送至服务器进行存储。
本实施例中,第二存储模块514用于将生成的字体数据对应第一获取模块502获取的文字对应的编码存储在终端本地以及发送至服务器进行存储。
在一个实施例中,该装置的第一获取模块502还用于获取输入的文字;获取输入的文字对应的编码。
第一判断模块504还用于判断本地是否存储有与输入的文字对应的编码对应的字体数据。
第一字体显示模块506还用于若本地存储有与输入的文字对应的编码对应的字体数据,则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体;若本地未存储有与输入的文字对应的编码对应的字体数据,则从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
在一个实施例中,如图9所示,提供了一种字体显示装置,包括:第二获取模块902、第二判断模块904和第二文字显示模块906,其中:
第二获取模块902,用于获取输入的文字,获取输入的文字对应的编码。
第二判断模块904,用于判断本地是否存储有与输入的文字对应的编码对应的字体数据。
第二文字显示模块906,用于若本地存储有与输入的文字对应的编码对应的字体数据,则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体;若本地没有存储与输入的文字对应的编码对应的字体数据,则从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为对应的字体。
本实施例中,第二字体显示模块906用于如果本地查询到与第二获取模块902获取的文字的编码对应的字体数据,则可直接从本地读取该字体数据,根据字体数据将文字显示为对应的字体。否则,从服务器下载与第二获取模块902获取的文字对应的编码对应的字体数据到终端本地,然后根据字体数据将输入的文字显示为对应的字体。
在一个实施例中,如图10所示,该装置还包括:第二手写字输入模块908和第二字体数据生成模块910,其中:
第二手写字输入模块908,用于若从服务器获取不到与输入的文字对应的编码对应的字体数据,则获取用户输入的手写字。
第二字体数据生成模块910,用于若从服务器获取不到与输入的文字对应的编码对应的字体数据,则获取用户输入的手写字。
第二字体显示模块906还用于根据生成的字体数据将文字显示为对应的字体。
本实施例中,第二手写字输入模块908用于获取用户输入的手写字。第二字体数据生成模块910用于将手写字转化为贝塞尔曲线,生成对应的字体数据,第二字体显示模块906还用于根据生成的字体数据将文字显示为对应的字体。
在一个实施例中,如图11所示,该装置的第二获取模块902还用于获取文字对应的编码。本实施例中,装置还包括:
第三存储模块912,用于将生成的字体数据对应编码存储在本地以及发送至服务器进行存储。
本实施例中,第三存储模块912用于将生成的字体数据对应第二获取模块902获取的文字对应的编码存储在终端本地以及发送至服务器进行存储。
在一个实施例中,如图12所示,该装置的第二获取模块902还用于获取文字对应的编码和输入的手写字对应的字体名称。本实施例中,该装置还包括:
第四存储模块914,用于将生成的字体数据对应编码和字体名称存储在本地以及发送至服务器进行存储。
本实施例中,第四存储模块914用于将生成的字体数据对应第二获取模块902获取的文字对应的编码和输入的手写字对应的字体名称存储在终端本地以及发送至服务器进行存储。
在一个实施例中,如图13所示,提供了一种实现上述实施例中字体显示的终端。该终端包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,用户终端的存储介质存储有操作系统和上述各实施例所提供的字体显示装置,该字体显示装置用于实现上述各实施例所提供的字体显示的方法。处理器可以设置为与存储介质通信,在终端上执行存储介质中的一系列指令操作。终端的网络接口用于与服务器建立网络连接与其通信。该终端包括但不限于个人计算机、笔记本电脑、个人数字助理、平板电脑、智能手机等。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种字体显示方法,所述方法包括:
获取输入的文字和选择的字体名称;
判断本地是否存储有与所述字体名称对应的字体数据;
若是,则从本地获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;
否则,从服务器获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;
若从服务器获取不到与所述字体名称对应的字体数据,则获取用户输入的手写字,根据所述手写字生成对应的字体数据;包括:获取用户输入的手写字的书写轨迹,得到所述书写轨迹边界上的关键点,通过二次贝塞尔曲线连接所述关键点,将手写字转化为贝塞尔曲线,得到所述手写字对应的字体数据;
根据生成的字体数据将所述文字显示为对应的自定义字体;
获取多个手写字的字体数据所对应的编码;
将多个手写字的字体数据对应所述编码存储在本地以及发送至所述服务器进行存储;
当下一次输入相同的文字时,获取输入的文字对应的编码;
判断本地是否存储有与输入的文字对应的编码对应的字体数据;
若是,则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体;否则,从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体。
2.根据权利要求1所述的方法,其特征在于,在根据所述手写字生成对应的字体数据的步骤之后,还包括:
获取输入的所述手写字对应的字体名称;
将所述生成的字体数据对应所述字体名称存储在本地以及发送至所述服务器进行存储。
3.一种字体显示方法,所述方法包括:
获取输入的文字;
获取所述输入的文字对应的编码;
判断本地是否存储有与所述输入的文字对应的编码对应的字体数据;
若是,则从本地获取与所述编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体;
否则,从服务器获取与所述输入的文字对应的编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体;
若从服务器获取不到与所述输入的文字对应的编码对应的字体数据,则获取用户输入的手写字,根据所述手写字生成对应的字体数据,包括:获取用户输入的手写字的书写轨迹,得到所述书写轨迹边界上的关键点,通过二次贝塞尔曲线连接所述关键点,将手写字转化为贝塞尔曲线,得到所述手写字对应的字体数据;
根据生成的字体数据将文字显示为对应的自定义字体;
获取多个手写字的字体数据所对应的编码;
将多个手写字的字体数据对应所述编码存储在本地以及发送至所述服务器进行存储;
当下一次输入相同的文字时,获取输入的文字对应的编码;
判断本地是否存储有与输入的文字对应的编码对应的字体数据;
若是,则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体;否则,从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体。
4.根据权利要求3所述的方法,其特征在于,在根据手写字生成对应的字体数据的步骤之后,还包括:
获取所述文字对应的编码和输入的所述手写字对应的字体名称;
将所述生成的字体数据对应所述编码和所述字体名称存储在本地以及发送至所述服务器进行存储。
5.一种字体显示装置,其特征在于,所述装置包括:
第一获取模块,用于获取输入的文字和选择的字体名称;
第一判断模块,用于判断本地是否存储有与所述字体名称对应的字体数据;
第一字体显示模块,用于若本地存储有与所述字体名称对应的字体数据,则从本地获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;若本地没有存储与所述字体名称对应的字体数据,则从服务器获取与所述字体名称对应的字体数据,根据所述字体数据将所述文字显示为对应的字体;
第一手写字输入模块,用于若从服务器获取不到与所述字体名称对应的字体数据,则获取用户输入的手写字;
第一字体数据生成模块,用于根据所述手写字生成对应的字体数据;包括:获取用户输入的手写字的书写轨迹,得到所述书写轨迹边界上的关键点,通过二次贝塞尔曲线连接所述关键点,将手写字转化为贝塞尔曲线,得到所述手写字对应的字体数据;
所述第一字体显示模块还用于根据生成的字体数据将所述文字显示为对应的自定义字体;
所述第一获取模块还用于获取多个手写字的字体数据所对应的编码;
第二存储模块,用于将多个手写字的字体数据对应所述编码存储在本地以及发送至所述服务器进行存储;
所述第一获取模块还用于当下一次输入相同的文字时,获取输入的文字对应的编码;
所述第一字体显示模块还用于若本地是否存储有与输入的文字对应的编码对应的字体数据,则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体;否则,从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体。
6.根据权利要求5所述的装置,其特征在于,所述第一获取模块还用于获取输入的所述手写字对应的字体名称;
所述装置还包括:
第一存储模块,用于将所述生成的字体数据对应所述字体名称存储在本地以及发送至所述服务器进行存储。
7.一种字体显示装置,其特征在于,所述装置包括:
第二获取模块,用于获取输入的文字以及获取所述输入的文字对应的编码;
第二判断模块,用于判断本地是否存储有与所述输入的文字对应的编码对应的字体数据;
第二文字显示模块,用于若本地存储有与所述输入的文字对应的编码对应的字体数据,则从本地获取与所述编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体;若本地没有存储与所述输入的文字对应的编码对应的字体数据,则从服务器获取与所述输入的文字对应的编码对应的字体数据,根据获取到的字体数据将所述输入的文字显示为对应的字体;
第二手写字输入模块,用于若从服务器获取不到与所述输入的文字对应的编码对应的字体数据,则获取用户输入的手写字;
第二字体数据生成模块,用于根据所述手写字生成对应的字体数据;包括:获取用户输入的手写字的书写轨迹,得到所述书写轨迹边界上的关键点,通过二次贝塞尔曲线连接所述关键点,将手写字转化为贝塞尔曲线,得到所述手写字对应的字体数据;
所述第二字体显示模块还用于根据生成的字体数据将所述文字显示为对应的自定义字体;
所述第二获取模块还用于获取多个文字对应的编码;获取所述手写字的字体数据所对应的编码;
第三存储模块,用于将多个手写字的字体数据对应所述编码存储在本地以及发送至所述服务器进行存储;
所述第二获取模块还用于当下一次输入相同的文字时,获取输入的文字对应的编码;
第二文字显示模块用于若本地存储有与输入的文字对应的编码对应的字体数据,则从本地获取与编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体;否则,从服务器获取与输入的文字对应的编码对应的字体数据,根据获取到的字体数据将输入的文字显示为之前使用过的字体。
8.根据权利要求7所述的装置,其特征在于,所述第二获取模块还用于获取所述文字对应的编码和输入的所述手写字对应的字体名称;
所述装置还包括:
第四存储模块,用于将所述生成的字体数据对应所述编码和所述字体名称存储在本地以及发送至所述服务器进行存储。
9.一种终端,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410295115.8A CN104965834B (zh) | 2014-06-25 | 2014-06-25 | 字体显示方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410295115.8A CN104965834B (zh) | 2014-06-25 | 2014-06-25 | 字体显示方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104965834A CN104965834A (zh) | 2015-10-07 |
CN104965834B true CN104965834B (zh) | 2018-09-28 |
Family
ID=54219870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410295115.8A Active CN104965834B (zh) | 2014-06-25 | 2014-06-25 | 字体显示方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104965834B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975448A (zh) * | 2016-05-04 | 2016-09-28 | 北京华熙动博网络科技有限公司 | 一种字体加载方法及装置 |
CN106453952A (zh) * | 2016-11-25 | 2017-02-22 | 努比亚技术有限公司 | 一种主题字体预览系统及方法 |
CN106844300B (zh) * | 2017-01-23 | 2021-02-19 | 兰州恒达彩印包装有限责任公司 | 在显示设备上同时显示静态字和动态字的系统与方法 |
CN108564639A (zh) * | 2018-04-27 | 2018-09-21 | 广州视源电子科技股份有限公司 | 笔迹保存方法、装置、智能交互设备及可读存储介质 |
CN109062491A (zh) * | 2018-07-23 | 2018-12-21 | 广州视源电子科技股份有限公司 | 交互智能设备的笔迹处理方法和装置 |
CN111353114A (zh) * | 2018-12-20 | 2020-06-30 | 深圳市茁壮网络股份有限公司 | 字体显示处理方法及装置 |
CN110209315B (zh) * | 2019-06-11 | 2021-11-02 | 北京字节跳动网络技术有限公司 | 用户界面中字符的显示方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196917A (zh) * | 2007-12-27 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 一种共享字体的实现方法和装置 |
CN101996160A (zh) * | 2009-08-10 | 2011-03-30 | 北大方正集团有限公司 | 一种字体数据的处理方法及系统 |
CN103207755A (zh) * | 2012-01-13 | 2013-07-17 | 宇龙计算机通信科技(深圳)有限公司 | 终端和更改字体的方法 |
CN103488711A (zh) * | 2013-09-09 | 2014-01-01 | 北京大学 | 一种快速制作矢量字库的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488125B (zh) * | 2008-12-04 | 2015-03-25 | 洛藏 | 一种藏文编码的方法及终端 |
CN103631550B (zh) * | 2012-08-24 | 2017-04-19 | 中兴通讯股份有限公司 | 一种显示个性化字体的方法及装置 |
-
2014
- 2014-06-25 CN CN201410295115.8A patent/CN104965834B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196917A (zh) * | 2007-12-27 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 一种共享字体的实现方法和装置 |
CN101996160A (zh) * | 2009-08-10 | 2011-03-30 | 北大方正集团有限公司 | 一种字体数据的处理方法及系统 |
CN103207755A (zh) * | 2012-01-13 | 2013-07-17 | 宇龙计算机通信科技(深圳)有限公司 | 终端和更改字体的方法 |
CN103488711A (zh) * | 2013-09-09 | 2014-01-01 | 北京大学 | 一种快速制作矢量字库的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104965834A (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965834B (zh) | 字体显示方法和装置 | |
CN104598902A (zh) | 一种用于识别截图的方法、装置和浏览器 | |
CN106020504A (zh) | 信息输出方法和装置 | |
CN106326194A (zh) | 一种应用于文件格式转换场景下的目录生成方法和装置 | |
CN105446572A (zh) | 一种用于屏幕显示设备的文字编辑方法及装置 | |
CN111753551A (zh) | 基于词向量生成模型的信息生成方法和装置 | |
CN106888086B (zh) | 一种管理账号密码的系统及方法 | |
CN107741935A (zh) | 数据导入方法及数据导入装置 | |
CN109711922A (zh) | 定制寄件方法、装置、系统及存储介质 | |
CN106294480A (zh) | 一种文件格式转换方法、装置及试题导入系统 | |
US20120077156A1 (en) | Data processing systems applying optical identification devices and related data processing and operation methods and computer program products thereof | |
CN104375814A (zh) | 接口文档的生成方法及装置 | |
CN108108337A (zh) | 简繁互转方法及装置 | |
CN105359132A (zh) | 生成和检索电子文档的方法和记录介质 | |
CN108287707A (zh) | Jsx文件生成方法、装置、存储介质和计算机设备 | |
CN103559242A (zh) | 语音输入信息的方法及终端设备 | |
CN109799917A (zh) | 文字输入方法和装置 | |
CN103034468B (zh) | 一种显示文本的方法及装置 | |
CN102591851A (zh) | 一种用于基于键盘按键对目标文本进行编辑的方法与设备 | |
CN104216635A (zh) | 上屏信息的获取方法及装置 | |
CN107239466A (zh) | 个性化字库生成方法及装置 | |
CN107103096A (zh) | 信息显示方法及装置 | |
CN106155991A (zh) | 一种字体包的预览图生成方法及系统 | |
CN107168627A (zh) | 用于触摸屏的文本编辑方法和装置 | |
KR20090000485A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |