python屏幕取词翻译软件_支持非等宽字体、屏幕取词的gvim v7.3

关于更适合中文用户、更适合非编程用户的vim的讨论(1、2)终于取得了一点实质性结果:支持非等款字体、支持金山词霸、有道词典取词的 windows gvim.exe v7.3 终于出现了。感谢 Dieken、湖间小筑的技术研究、动手制作。

一、gvim的屏幕取词

问题描述:

Windows下,金山词霸、有道词典启用屏幕取词功能,但在gvim窗口中无法取词,或不能准确地取出完整单词。

原因分析:

程序沟通问题。

跨平台、跨语言的gvim考虑了更复杂的情况(但没有区分):并非所有文字都是从左向右阅读,某些语言会从右向左,如阿拉伯语等。而金山词霸、有道未充分考虑此情况。

Dieken @ newsmth,2007-01-29, via

gvim 7.0.188 版本 gui_w32.c:gui_mch_draw_string():2255 这两行判断太严格了:

if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)

foptions |= ETO_IGNORELANGUAGE;

这个是为了 Hebrew 和 Arabic 文本加的,但是并没有加这个的判断, 我用

if (

#ifdef FEAT_RIGHTLEFT

curwin->w_p_rl &&

#endif

os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)

foptions |= ETO_IGNORELANGUAGE;

实验了一下,在有两个窗口,一个没有设置 rightleft,一个设置了rightleft,当光标处于后者时,还是不能取词,需要光标挪到没有设置 rightleft 的窗口内才行,这个问题还不知道怎么改,交给邮件列表处理。

对于大多数人来说,不会用到 rightleft 特性,所以可以直接把那两句注释掉,然后就可以正常取词了。

二、gvim支持非等款字体

说明一:gvim 并非不能支持非等宽字体,而是在编译时,默认忽略了非等宽字体(Ignore non-monospace fonts without further ado)。在多个平台中,gtk2下的gvim是默认支持非等宽字体的,其他平台默认不支持。

说明二:无论字体是否等宽,vim都会重新对齐。即显示效果仍然是等宽的。因此,『支持非等宽字体』的gvim,可以换用更丰富的字体,并不可以得到非等宽效果。

解决办法一:非等宽字体编译时加 -DFEAT_PROPORTIONAL_FONTS 就可以了。make 的时候加一个参数。[via milksea @ newsmth](这2句话是同一回事吗?哪位帮助整理成更准确、书面语的表述?)

解决办法二:修改源代码,取消对非等宽字体的忽略。比如,在 os_mswin.c 中查找mono,会看到一处注释说忽略非等宽字体(Ignore non-monospace fonts without further ado),把下面一行注释掉即可。via

三、下载及讨论

支持非等宽字体、支持屏幕取词的 gvim.exe v7.3 下载,及相关讨论,敬请访问

让win下的vim支持非等宽字体|湖间小筑

====

(完。初稿2007-01-23;更新2009-02-06;更新2009-05-07;更新2010-09-19)>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值