CN103761220B - 一种资讯软件的文字排版技术方法 - Google Patents
一种资讯软件的文字排版技术方法 Download PDFInfo
- Publication number
- CN103761220B CN103761220B CN201410024008.1A CN201410024008A CN103761220B CN 103761220 B CN103761220 B CN 103761220B CN 201410024008 A CN201410024008 A CN 201410024008A CN 103761220 B CN103761220 B CN 103761220B
- Authority
- CN
- China
- Prior art keywords
- sinking
- character
- paragraph
- keyword
- coordinate
- 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
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种资讯软件的文字排版技术方法,以解决以往技术中使用安卓系统自带的控件或者使用绘制文字算法,就会出现版面错乱,影响用户阅读和推广的问题,实施中设置任意关键字下沉的段落的下沉字符进行判断是否是汉字。若否,则都不设置字符下沉,判断设置下沉的字符在不放大下沉的情况下X、Y方向的坐标位置,如果放大下沉后该行字符绘制宽度超过排版宽度,则该下沉字符应显示到下一行的第一个位置,否则在原位置进行放大下沉操作,根据每行最多字符数,以及字符宽度、高度、行间距准确计算出在原位置放大下沉以及在原行的下一行进行放大下沉操作时每个字符对应的X、Y坐标的位置。
Description
技术领域
本发明涉及智能手机阅读软件的文字排版技术领域,特别地涉及一种互联网应用软件的文字排版的技术方法。
背景技术
随着智能手机的普及,众多手机资讯类软件进入了用户的视线,资讯类软件多以文字或文字加图片形式出现。当中的弊端是,版面单调,关键字不突出,无法吸引用户阅读兴趣。目前市场上只有针对杂志报刊纸质类阅读资料在文字排版上有首字下沉的排版,而针对智能手机资讯类软件产品目前市场上还未有先例。
任意关键字下沉,解决了智能手机资讯软件版面单调,重点不突出的问题,在设计方法上属于独创。针对关键新闻,关键广告类推广效果明显。如使用安卓系统自带的控件或者使用绘制文字的算法出现问题,都会出现版面错乱,影响阅读和版面视觉效果,如图3。
目前设置任意一个关键字下沉的一种方法是:根据字符的字号大小和下沉字符所占行高倍数值以及行间距,计算出下沉字符的高度和宽度,进一步确定任意一个关键字下沉段落的所有文字均是正常字体显示的情况下,是在该位置进行下沉放大操作,还是在该位置的下一行第一个进行下沉放大操作,按照这两种情况下依次绘制每一个字符,如图4 。
发明内容
本发明的主要目的是提供一种任意一个关键字下沉的解决方法。
以解决现有的安卓控件中无法做到的排版效果,使用安卓系统自带的控件或者使用绘制文字的算法都会出现版面错乱,影响用户阅读体验的不足之处。
为解决上述问题本发明提供如下技术方案:
1、设置任意关键字下沉的段落的下沉字符进行判断,是否是汉字,如果是汉字就进行放大下沉操作,否则不做放大下沉操作。
2、判断设置下沉的字符在放大下沉之前进行排放的情况下下沉字符左下角x坐标位置,如果下沉字符放大下沉后,在该下沉字符的首行中,下沉字符右上角x坐标之前的字符数大于无下沉字符的行能够排放的字符数,则该下沉字符应显示到下一行的第一个位置,否则在原位置进行放大下沉操作。
3、根据每行最多字符数,以及字符宽度、高度、行间距准确计算出在原位置放大下沉以及在原行的下一行进行放大下沉操作时每个字符对应的左下角x、y坐标的位置。
附图说明:
图1:原位置放大下沉效果
图2:原位置的下一行第一个显示的效果
图 3:当绘制算法出现错误,版面错乱的效果
图4:算法流程图
具体实施方式:
一、首先设置任意关键字下沉段落的文字内容、下沉字符的位置W,下沉字符放大下沉操作后占下沉段落的行数N,以及除下沉字符以外的其他字符的字体大小S,行间距LS,字符之间的间隙BS。根据下沉字符所占段落的行数N进一步确定下沉字符的高度和宽度。我们这里认为下沉字符的字体大小与高度值相等。
此外,还可以设置下沉字符的其他属性,例如:字体、是否加粗,字体的颜色等。下沉段落的总字符数B可以测量得知,下沉字符的宽度w0可以用画笔的测量字符的方法测量得出,其他字符的宽w1和高h1计算方法也可以用画笔的测量字符的方法测量得出。排版的总宽度w2也可以测量得知。进而可以确定关键字下沉段落的总高度H,下沉字符放大下沉操作之前的行字符数B0和下沉字符放大下沉操作后占位的行中首行的字符数B1,以及下沉字符放大下沉操作后占位的行中除首行外的其他行的字符数B2。
=H0 x N+LS x (N-1);其中H1为关键字下沉放大下沉操作后的高度,H0为其他字符的高度(即下沉字符的原始高度)。
= w1+BS;其中字符加上字符间间隙的宽度作为一个字符的占位宽w;
=(w2-w0)/w; 注意(w2-w0)/w后取整,去掉后面的小数位;
B1 = B2+1;
B0 = w2/w; 注意w2/w后取整,去掉后面的小数位;
N1= (B-1-N*B2)/B0+N+1;其中N1为关键字符下沉段落的总行数,注意(B-1-N*B2)/B0取整,去掉后面的小数位;
N2=(W-1)/B0+1; 其中N2为下沉字符放大下沉操作之前排放时所在段落中的行,注意(W-1)/B0取整,去掉后面的小数位;
L=W – (N2-1)*B0;其中L为下沉字符放大下沉操作之前排放时所在段落中的行中下沉字符右下角x坐标前的字符个数;
L1=L-1;其中L1为下沉字符放大下沉操作之后下沉字符末行中下沉字符左下角x坐标前的字符个数;
L2 = B1-L;其中L2为下沉字符放大下沉操作之后下沉字符末行中下沉字符右下角x坐标后的字符个数;
二、 首先判断下沉字符所在段落中的下沉字符是否为汉字。
三、若为汉字,则需对下沉字符进行放大下沉操作 :
1:假设所有下沉字符进行放大下沉操作之前,下沉字符所在行中,我们得到X坐标小于或等于下沉字符的X坐标的字符,计算这些字符之和sum(即包括下沉字符),如果sum值不大于此行有下沉字符放大下沉操作后能正常展示的字符数(即不会超出排版宽度),这时就直接在原位置将下沉字符进行放大下沉的操作和绘制。
2:假设所有下沉字符进行放大下沉操作之前,下沉字符所在行中,我们得到X坐标小于或等于下沉字符的X坐标的字符,计算这些字符之和sum(即包括下沉字符),如果sum值大于此行有下沉字符放大下沉操作后能正常展示的字符数(即会超出排版宽度)。这时就需要将下沉字符所在当前行的下一行第一个进行放大下沉的操作。否则在原位置放大下沉后会显示不完全。
第一种绘制方法:
步骤1:判断下沉字符在关键字下沉段落中正常显示的情况下,即下沉字符放大下沉操作之前,所在的行。计算方法具体实施方式1中已经列出;
步骤2:判断下沉字符在关键字下沉段落中正常显示的情况下,即下沉字符放大下沉操作之后,所在的行的位置。然后从需要绘制的文字的第一个开始,依次绘制每一个字符;
步骤3:绘制下沉字符放大下沉操作之后所在行中,所有右上角Y坐标小于下沉字符右上角Y坐标的所有行;
从第一个字符开始依次绘制,字符左下角的x、y坐标、每个字符所在的行都可以计算出来。从而可以绘制每一个字符。
步骤4:绘制下沉字符下沉放大操作后所占的所有行:
I、绘制下沉字符所占行的首行:先绘制下沉字符所在行中x坐标值小于下沉字符x坐标的字符,同上将每个字符所在行数、左下角的x、y坐标动态计算出来,并绘制。然后绘制下沉的字符,计算字符所在的行、左下角x坐标计算方法同上,然后确定左下角y坐标,最后需要调整画笔的大小,进行绘制。然后绘制下沉的字符所在行中x坐标值大于下沉字符x坐标的字符,同上方法确定左下角x坐标,该坐标是在下沉字符左下角x坐标的基础上再加上下沉字符的宽度值,该行中X坐标大于下沉字符右上角X坐标的之后的字符依次排放绘制。
II、绘制除下沉字符所在行中除首行之外的其他行:跟I方法一样,依次循环绘制。
步骤5:绘制Y坐标大于下沉字符左下角Y坐标的所有字符,计算方法同上。
第二种绘制方法:
步骤1:判断下沉字符在关键字下沉段落中正常显示的情况下,即下沉字符放大下沉操作之前,所在的行。计算方法具体实施方式1中已经列出;
步骤2:绘制下沉字体进行放大下沉操作之前,Y坐标大于下沉字符左下角Y坐标的所有字符。
步骤3:绘制下沉字体的所占行:
计算出第一个下沉字符的宽高后,即可得到第二个字符的初始位置,依次计算出每一个字符的宽度,每绘制一个字符,绘制的宽度会随着增加,直到当前行绘制的字符个数等于行最多能绘制的字符个数,则从下一个字符开始启动下一行的排版。确定下一行的初始位置,循环绘制每行。
步骤4:绘制Y坐标大于下沉字符放大下沉后左下角Y坐标的所有字符,绘制需要的参数会得出。
四、若不为汉字,则不对下沉字符做放大下沉的操作,每行的初始位置X坐标都一样,Y坐标根据字符所在段落中的当前行而改变,从第一行起依次绘制每一个字符,当发现当前行绘制的字符个数等于行最多能绘制的字符个数,则从下一个字符开始启动下一行的排版,依次绘制下沉字符段落的所有字符。
Claims (6)
1.一种排版的方法,应用于互联网软件的一段文字的排版区域,其特征在于,所述方法包括:
对设置任意关键字下沉的段落的下沉字符进行判断是否是汉字,若否则都不设置字符下沉,若为汉字则判断下沉字符在不放大下沉显示的情况下所在行的位置,即判断指定的下沉的字符所在行中包括下沉的字符在内的所有之前的字符绘制的宽度是否小于或者等于有下沉字体所在行的排版宽度,
若是,则确定所述任意关键字下沉段落的下沉字符的x方向的位置,采用第一种绘制方法;
若否,则将所述任意关键字下沉段落的下沉字符排放在当前行的下一行第一个位置,再确定所述任意关键字下沉段落的下沉字符的x方向的位置,采用第二种绘制方法;
在可排区域内的宽度与高度方向从起始位置依次编排所述任意关键字下沉段落的所有字符;
第一种绘制方法包括:
步骤1:判断下沉字符在关键字下沉段落中正常显示的情况下,即下沉字符放大下沉操作之前,所在的行;
步骤2:判断下沉字符在关键字下沉段落中正常显示的情况下,即下沉字符放大下沉操作之后,所在的行的位置,然后从需要绘制的文字的第一个开始,依次绘制每一个字符;
步骤3:绘制下沉字符放大下沉操作之后所在行中,所有右上角Y坐标小于下沉字符右上角Y坐标的所有行;
从第一个字符开始依次绘制,字符左下角的x、y坐标、每个字符所在的行都可以计算出来,从而可以绘制每一个字符;
步骤4:绘制下沉字符下沉放大操作后所占的所有行:
步骤5:绘制Y坐标大于下沉字符左下角Y坐标的所有字符;
第二种绘制方法包括:
步骤1:判断下沉字符在关键字下沉段落中正常显示的情况下,即下沉字符放大下沉操作之前,所在的行;
步骤2:绘制下沉字体进行放大下沉操作之前,Y坐标大于下沉字符左下角Y坐标的所有字符;
步骤3:绘制下沉字体的所占行:
步骤4:绘制Y坐标大于下沉字符放大下沉后左下角Y坐标的所有字符。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据设置关键字下沉段落的字体大小以及下沉字符下沉的行高倍数,编排关键字下沉的段落的下沉字符。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据设置关键字下沉段落的字体大小,编排除下沉字符外的其他字符。
4.根据权利要求2所述的方法,其特征在于,所述设置关键字下沉段落的字体大小以及下沉字符下沉的行数,编排关键字下沉的段落的下沉字符包括:
根据所述行高倍数确定下沉字符排版的高度和排版的宽度;
根据所述下沉字符排版高度和排版宽度确定所述关键字下沉段落的排版位置。
5.根据权利要求4所述的方法,其特征在于,所述行高倍数确定下沉字符排版的高度和排版的宽度包括:
根据关键字下沉字符的段落的下沉字符的原始高度、关键字下沉字符的段落的行间距和行高倍数得出下沉字符排版高度,
根据画笔的测量字符宽度的方法得出下沉字符的排版宽度。
6.根据权利要求5所述的方法,其特征在于,所述根据关键字下沉字符的段落的下沉字符的原始高度、关键字下沉字符的段落的行间距和行高倍数得出下沉字符排版高度包括根据如下公式计算:
下沉字符排版高度=下沉字符原始高度x所述行高倍数+所述行间距x(所述行高倍数-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410024008.1A CN103761220B (zh) | 2014-01-20 | 2014-01-20 | 一种资讯软件的文字排版技术方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410024008.1A CN103761220B (zh) | 2014-01-20 | 2014-01-20 | 一种资讯软件的文字排版技术方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761220A CN103761220A (zh) | 2014-04-30 |
CN103761220B true CN103761220B (zh) | 2017-09-05 |
Family
ID=50528460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410024008.1A Active CN103761220B (zh) | 2014-01-20 | 2014-01-20 | 一种资讯软件的文字排版技术方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761220B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598438A (zh) * | 2014-12-31 | 2015-05-06 | 深圳市英威诺科技有限公司 | 一种完整展示资讯信息的排版计算方法 |
CN105159645B (zh) * | 2015-10-19 | 2017-12-12 | 华中师范大学 | 一种移动端唐诗自适应布局方法 |
CN106776492A (zh) * | 2016-12-15 | 2017-05-31 | 北京小米移动软件有限公司 | 文字缩放的方法、装置及终端 |
CN108932221A (zh) * | 2017-05-25 | 2018-12-04 | 北大方正集团有限公司 | 基于大对象的文件排版方法和装置 |
CN107861930A (zh) * | 2017-10-21 | 2018-03-30 | 南京栎树交通互联科技有限公司 | 一种基于公交基础数据自动生成公交线路牌图片的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416898A (en) * | 1992-05-12 | 1995-05-16 | Apple Computer, Inc. | Apparatus and method for generating textual lines layouts |
CN101419591A (zh) * | 2008-12-17 | 2009-04-29 | 北大方正集团有限公司 | 一种排版的方法和装置 |
CN102063413A (zh) * | 2010-12-15 | 2011-05-18 | 掌富科技(南京)有限公司 | 一种移动终端的快速文字排版方法 |
CN102902678A (zh) * | 2011-07-26 | 2013-01-30 | 腾讯科技(深圳)有限公司 | 文本内容排版方法和终端 |
-
2014
- 2014-01-20 CN CN201410024008.1A patent/CN103761220B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416898A (en) * | 1992-05-12 | 1995-05-16 | Apple Computer, Inc. | Apparatus and method for generating textual lines layouts |
CN101419591A (zh) * | 2008-12-17 | 2009-04-29 | 北大方正集团有限公司 | 一种排版的方法和装置 |
CN102063413A (zh) * | 2010-12-15 | 2011-05-18 | 掌富科技(南京)有限公司 | 一种移动终端的快速文字排版方法 |
CN102902678A (zh) * | 2011-07-26 | 2013-01-30 | 腾讯科技(深圳)有限公司 | 文本内容排版方法和终端 |
Non-Patent Citations (1)
Title |
---|
《70个实用Word技巧》;翁永平等;《www.pcworld.com.cn》;20060430(第4期);第123页第1栏第2-4段 * |
Also Published As
Publication number | Publication date |
---|---|
CN103761220A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761220B (zh) | 一种资讯软件的文字排版技术方法 | |
CA2429507A1 (en) | Writing guide for a free-form document editor | |
KR101161564B1 (ko) | 단말 장치 및 상기 단말 장치의 개체 색상 변환 방법 | |
WO1994028505A1 (en) | Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings | |
US20030086611A1 (en) | Recognition process | |
WO2019041527A1 (zh) | 文档图表抽取方法、电子设备及计算机可读存储介质 | |
CN103177709A (zh) | 字符显示方法和装置 | |
US20140184610A1 (en) | Shaping device and shaping method | |
JP2015049618A (ja) | 手書き文書処理装置、手書き文書処理方法及び手書き文書処理プログラム | |
CN113362420A (zh) | 道路标注生成方法、装置、设备以及存储介质 | |
CN105426944A (zh) | 方形点阵防伪标签组、以及对其进行识读的方法与系统 | |
US9245361B2 (en) | Consolidating glyphs of a font | |
US9317493B2 (en) | Handwritten document processing apparatus and method | |
JP5661214B1 (ja) | 文字データ修正方法、文字データ修正装置およびプログラム | |
CN111738252A (zh) | 图像中的文本行检测方法、装置及计算机系统 | |
CN106776527B (zh) | 电子书数据的显示方法、装置及终端设备 | |
CN116311300A (zh) | 表格生成方法、装置、电子设备以及存储介质 | |
JP2016071528A (ja) | 情報処理装置、情報処理方法及びプログラム | |
Biller et al. | Evolution maps for connected components in text documents | |
JP6373664B2 (ja) | 電子機器、方法及びプログラム | |
CN114328783A (zh) | 地图数据输出方法、地图数据处理方法、装置和电子设备 | |
JP5632110B1 (ja) | 文字データ修正方法、文字データ修正装置およびプログラム | |
CN102567302B (zh) | 排版方式识别方法和装置 | |
CN113110782A (zh) | 图像的识别方法、装置、计算机设备及存储介质 | |
JP6072148B2 (ja) | 手書き文書処理装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 518000 Guangdong city of Shenzhen province Nanshan District South Road four No. 18 SKYWORTH semiconductor design building no.5003 6 floor unit 605-610 Applicant after: Ying Weinuo Science and Technology Ltd. of Shenzhen Address before: 518000 Guangdong city in Shenzhen Province, a high-tech South Fucheng technology building floor Yuantong Century Applicant before: Ying Weinuo Science and Technology Ltd. of Shenzhen |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |