找回密码
 立即注册
搜索
楼主: hwzhu

[讨论] 大家议一议,看看此文本文件是如何做的?

[复制链接]

623

主题

8454

回帖

7741

积分

版主

弱弱的海豚

积分
7741
发表于 2007-8-28 08:43:56 | 显示全部楼层
E文的问题是因为标准的文本框不会将单词拆开进行转行造成的..
其实我本来什么都没有....


俺是多尔的豌豆.. 俺是墙根...  俺还有那乌黑亮丽的长发...



上得了厅堂,下得了厨房,写得了代码,查得出异常,杀得了木马,翻得了围墙,开得起好车,买得起新房,斗得过二奶,打得过流氓
回复

使用道具 举报

49

主题

2189

回帖

1750

积分

金牌会员

积分
1750
发表于 2007-8-28 08:51:00 | 显示全部楼层
;20 nikee才女啊,呵呵
回复

使用道具 举报

114

主题

3024

回帖

4254

积分

论坛元老

积分
4254
发表于 2007-8-28 14:33:42 | 显示全部楼层
那篇文章应该不是用什么软件分出来的,看起来确实像是用OCR后修改出来的,因为词之间的空格间距太大了,有的有四个字符以上,所以应该不是统一输入的
回复

使用道具 举报

105

主题

449

回帖

743

积分

高级会员

积分
743
发表于 2007-8-28 15:35:02 | 显示全部楼层
用word,分栏,两端对齐。
回复

使用道具 举报

623

主题

8454

回帖

7741

积分

版主

弱弱的海豚

积分
7741
发表于 2007-8-28 15:52:25 | 显示全部楼层
原帖由 karamay 于 2007-8-28 15:35 发表
用word,分栏,两端对齐。


LZ说的网页是个文本文件...你用WORD分好后..再变成TXT试试?
其实我本来什么都没有....


俺是多尔的豌豆.. 俺是墙根...  俺还有那乌黑亮丽的长发...



上得了厅堂,下得了厨房,写得了代码,查得出异常,杀得了木马,翻得了围墙,开得起好车,买得起新房,斗得过二奶,打得过流氓
回复

使用道具 举报

109

主题

747

回帖

1156

积分

金牌会员

积分
1156
 楼主| 发表于 2007-8-29 03:55:19 | 显示全部楼层
原帖由 无闻 于 2007-8-28 14:33 发表
那篇文章应该不是用什么软件分出来的,看起来确实像是用OCR后修改出来的,因为词之间的空格间距太大了,有的有四个字符以上,所以应该不是统一输入的


可能就是某个软件有这个功能,调整单词之间空格的数量,最终实现段落两端对齐。还有文章里的表格,ASCII文件能做成这个效果真是很好。
回复

使用道具 举报

623

主题

8454

回帖

7741

积分

版主

弱弱的海豚

积分
7741
发表于 2007-8-29 08:14:45 | 显示全部楼层
:loveliness:

早上起来条理比较清晰.. 用脚趾头拼命想了想..

个人认为原文档应该是使用OCR制作的..但不是简单使用OCR来制作的.. 也是先排好版再制作的.
因为E文它的排版狠特别, 首先是和我一样, 单词不拆分.. 然后我的和它的区别就在于,它在单词之间添加不定量的空格
使每行文字都能两端对齐..

针对我现在已排版好的文字..想通过编程实现这个功能应该不难.
1.提出每行作为字符串处理
2.删除右端空格(我的左端没有空格,只有右端因为单词不拆分,所以出现空格.)
3.重新计算字符串长度
4.和我的每行34个E文字符比较, 计算差值
5.检查字符串中的空格数量(普通文章中应该没有超过34个字符数的单词,所以每行都至少有1个空格)
6.将差值等量添加至每个空格处, 余数可以随机,或是固定放在最后一个空格处
7.放回此行字符串,提取下一行..循环直至完成整个文本.
*. 增加校验过程,含转行符的,不进行此处理..就是每个段落的末尾行,或是独立的段落行,比如小标题等..


程序如是按行做出这个两端对齐..如果文章狠长的话, 可能效率不是狠高..
其实我本来什么都没有....


俺是多尔的豌豆.. 俺是墙根...  俺还有那乌黑亮丽的长发...



上得了厅堂,下得了厨房,写得了代码,查得出异常,杀得了木马,翻得了围墙,开得起好车,买得起新房,斗得过二奶,打得过流氓
回复

使用道具 举报

623

主题

8454

回帖

7741

积分

版主

弱弱的海豚

积分
7741
发表于 2007-8-29 08:24:00 | 显示全部楼层
原帖由 hwzhu 于 2007-8-29 03:55 发表


可能就是某个软件有这个功能,调整单词之间空格的数量,最终实现段落两端对齐。还有文章里的表格,ASCII文件能做成这个效果真是很好。



:)  可能是平时没注意吧.你使用WORD就可以狠明显的看到.. 英文文章在WORD中就如同LZ网址中的一样. . 如果看的不清楚.可以将文章中所有的空格替换为2个空格,就能狠明显的看出..WORD没有压缩普通字符中的间距或是文字宽度.. 所是通过压缩或是增加空格符的字宽来实现的... 而且不需要设置两端对齐, 英文文档在WORD中就是字母不跨行,而且行末是右对齐的.
其实我本来什么都没有....


俺是多尔的豌豆.. 俺是墙根...  俺还有那乌黑亮丽的长发...



上得了厅堂,下得了厨房,写得了代码,查得出异常,杀得了木马,翻得了围墙,开得起好车,买得起新房,斗得过二奶,打得过流氓
回复

使用道具 举报

623

主题

8454

回帖

7741

积分

版主

弱弱的海豚

积分
7741
发表于 2007-9-5 17:24:40 | 显示全部楼层
原帖由 妮可宝贝 于 2007-8-29 08:14 发表
:loveliness:

针对我现在已排版好的文字..想通过编程实现这个功能应该不难.
1.提出每行作为字符串处理
2.删除右端空格(我的左端没有空格,只有右端因为单词不拆分,所以出现空格.)
3.重新计算字符串长度
4.和我的每行34个E文字符比较, 计算差值
5.检查字符串中的空格数量(普通文章中应该没有超过34个字符数的单词,所以每行都至少有1个空格)
6.将差值等量添加至每个空格处, 余数可以随机,或是固定放在最后一个空格处
7.放回此行字符串,提取下一行..循环直至完成整个文本.
*. 增加校验过程,含转行符的,不进行此处理..就是每个段落的末尾行,或是独立的段落行,比如小标题等..




:)  为此编了一个函数.. 现在已全部完成..而且对代码进行了优化..速度比以前快N倍哦.. 可以自动对全E文文本进行先排版处理再分栏..

程序现在是2.1了..呵呵.改了不少次..完成度应该是99%了..少了一些特殊的校验过程..不影响使用了..

先上传程序,有兴趣的可以先看看..  下次再上传源码和我做的函数..

程序加了个壳壳, 大小是9KB...

[ 本帖最后由 妮可宝贝 于 2007-9-6 10:11 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
其实我本来什么都没有....


俺是多尔的豌豆.. 俺是墙根...  俺还有那乌黑亮丽的长发...



上得了厅堂,下得了厨房,写得了代码,查得出异常,杀得了木马,翻得了围墙,开得起好车,买得起新房,斗得过二奶,打得过流氓
回复

使用道具 举报

58

主题

1934

回帖

2704

积分

论坛元老

积分
2704
发表于 2007-9-6 08:05:13 | 显示全部楼层
这是一种排版软件的打印输出文档,双面打印的,可能是Unix系统的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-21 14:27 , Processed in 0.098603 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表