patch 了一份vim 常用的par 段落格式工具,有人需要的话可以发一份。

wallkMan 2013-10-31 11:22:45
vim 中编辑中文时一直有个缺陷,不能将中文段落硬分断,这点在编写 tex 文档时特别麻烦,好象世面上现有的段落格式工具只有par ,但 par 格式化e 文没问题,格不了中文。仅管在编译时你可打开NOWIDTH 选项,可这还是只做到一半,能格中文段落,但每行的长度参差不齐,以前Tex文档写得不多,只能偶尔凑合着用用。最近要写点东西,抽了半天时间把 par patch了一下,让它支持中文宽字符。

你可google 一下 par 的 muiltcharater 版本,好象是俄国人改的,可以支持宽字符,但不支持中文。因为中文不用空格断词的,字母文字全用空格断词。

修改方法:
1. (gdb) break "/sourceCode/par/reformat.c:310"
while (p1 < end && *p1 == L' ') ++p1; 增加
if (*p2 > 0x7f) { //汉字
++p2;
}
2. (gdb) break "/sourceCode/par/par.c:250"
if (ch == '\n')
break; //遇到换行符直接断行,跳过后续空格检查。

3. 在出现 L' ' 的地方打断点,检查一下多插入的空格。这个技艺很管用的,免去了阅读代码的工作量,反正hack得能用就行了。

有人需要我可mail一份代码给他。

...全文
81 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Liteboy 2013-11-01
  • 打赏
  • 举报
回复
1010544621@qq.com 多谢大神分享

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧