关于slickedit10 for linux的字体配置
关于slickedit10 for linux的字体配置因为一直一来读代码和写东西都非常依赖slickedit,而对于linux跟找不到合适的工具,
除了vi外,其他的工具都很难学上手,幸好slickedit在linux下也有相应的版本,但是
它在linux下的中文支持一直差强人意,于是花了一上午的功夫好好研究了一下它的机制,
在magiclinux上对其字体显示做了修改。
修改步骤:
1、修改vs(visual slickedit的简称,以下同)的unicode字体设置
在vs的安装目录下slickedit/unicode中就是vs的unicode字体配置的东东所在位置,vs是
通过该目录中的fontsets.ini来配置unicode字体的,看看该文件内容:
ptSize = 16
isFixed = 0
isBold = 0
isItalic = 0
font = -adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1:0x0000-0x00ff
font = -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1:0x2800-0x28ff
font = -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1:0x3000-0x33ff:0x4e00-0xffff
font = -mutt-clearlyu-medium-r-normal--17-120-100-100-p-124-iso10646-1
ptSize = 16
isFixed = 0
isBold = 0
isItalic = 0
font = -adobe-helvetica-medium-r-normal--14-140-75-75-p-77-iso8859-1:0x0000-0x00ff
font = -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1:0x2800-0x28ff
font = -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1:0x3000-0x33ff:0x4e00-0xffff
font = -mutt-clearlyu-medium-r-normal--17-120-100-100-p-124-iso10646-1
ptSize = 16
isFixed = 0
isBold = 0
isItalic = 0
font = -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso8859-1:0x0000-0x00ff
font = -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1:0x2800-0x28ff
font = -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1:0x3000-0x33ff:0x4e00-0xffff
font = -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
不难看出vs是按unicode编码将不同的字体组合在一起从而实现一个unicode的字体组合,
并且在vs的字体选择中可以选择这种自定义字体。
于是我们也来构造一个宋体unicode组合来看看,
在该文件的尾部加入我们配置的宋体字
ptSize = 12
isFixed = 0
isBold = 0
isItalic = 0
font = -misc-simsun-medium-r-normal--12-0-0-0-p-0-iso8859-1:0x0000-0x00ff
font = -misc-simsun-medium-r-normal--12-0-0-0-p-0-iso10646-1:0x2800-0x28ff
font = -misc-simsun-medium-r-normal--12-0-0-0-p-0-iso10646-1:0x3000-0x33ff:0x4e00-0xffff
font = -misc-simsun-medium-r-normal--12-0-0-0-p-0-iso10646-1
因为vs实用的是motif的API做的,所以要确定simsun字体以在X11中装载了,用以下语句
# xlsfonts | grep -i simsun
-misc-simsun-medium-r-normal--0-0-0-0-p-0-ascii-0
-misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-1
-misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-3
-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso8859-1
-misc-simsun-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
-misc-simsun-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0
-misc-simsun-medium-r-normal--0-0-0-0-p-0-koi8-r
如果没有的话,请手动添加simsun.ttf字体所在目录到/etc/X11/xorg.conf中:
Section "Files"
# The location of the RGB database.Note, this is the name of the
# file minus the extension (like ".txt" or ".db").There is normally
# no need to change the default.
RgbPath "/usr/X11R6/lib/X11/rgb"
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).
#
# The module search path.The default path is shown here.
# ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/share/fonts"
FontPath "/usr/share/fonts/ttf/zh_CN" #我的simsun.ttf所在目录(magiclinux)
FontPath "/usr/local/share/fonts"
EndSection
重启X11后,再用上面的语句测试一下,应该有显示了。
然后启动vs并在菜单Tools\Options\Fonts中使用我们定义的"VSE Unicode-simsun 12"
字体来做vs的编辑窗口、对话框的显示字体了,这里至少要将"Unicode Source Window"
的字体选为我们定义的"VSE Unicode-simsun 12"字体。
异常情况,"SBCS/DBCS Source Windows"这个窗口的字体不能选择上面字体和"system"
这两个字体否则在弹出语法提示时会报段错误,不只道为什么,用gdb backtrace不到
错误所在,只有一串?号和错误地址。
2、编码设置
a.vs的编码设置
以下修改是为了使vs编辑窗口正确显示中文文件。
在vs菜单Tools\File Options显示对话框的Load页中将Encoding选择为:
Chinese Simplified (GB-2312)
选择了这个文档的默认字符集后,在打开文档时,vs会做GBK->UNICODE的字符集转换
然后用我们定义的"VSE Unicode-simsun 12"显示文字。这样就能正确显示汉字了。
b.magiclinux编码修改(GBK到UTF-8)
以下修改是为了使vs文件管理窗口中正确的显示中文文件名和路径。
因为下面提供的linux编码修改方法可能导致原来创建的中文文件无法在新的字符集中正
确显示,甚至导致kde无法正确运行,所以仅供参考,不提倡大家修改。
1)修改/etc/sysconfig/i18n文件
内容修改如下,原来的编码为zh_CN.GBK
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
2)修改/etc/fstab中windows中驱动盘的装载选项
将ntfs、vfat类型的磁盘将原iocharset=cp936该成iocharset=utf8,这是我的文件
dev/hda3 / ext3 defaults 1 1
/dev/hdc /mnt/cdrom iso9660,udf noauto,user,kudzu,ro 0 0
none /proc proc defaults 0 0
none /dev/pts devptsgid=5,mode=620 0 0
none /sys sysfs defaults 0 0
/dev/hda4 swap swap defaults 0 0
/dev/hda1 /mnt/hda1 ntfs iocharset=utf8,umask=0,exec 0 0
/dev/hda5 /mnt/hda5 ntfs iocharset=utf8,umask=0,exec 0 0
/dev/hda6 /mnt/hda6 vfat iocharset=utf8,umask=0,exec 0 0
3)修改/usr/sbin/fsautomount(该文件用于自动装载windows下的盘符)
....
if [ -f /etc/profile.d/lang.sh ]; then
. /etc/profile.d/lang.sh
case $LANG in
*UTF*8) #这里添加utf的判断
MOUNTOPTIONS="iocharset=utf8"
;;
zh_CN*)
MOUNTOPTIONS="iocharset=cp936"
;;
zh_TW*)
MOUNTOPTIONS="iocharset=cp950"
;;
ja_JP*)
MOUNTOPTIONS="iocharset=cp932"
;;
ko_KR*)
MOUNTOPTIONS="iocharset=cp949"
esac
....以下省略
4)修改内核中字符集编码
在make menuconfig的内核配置菜单
File systems ---> Native Language Support ---> 中将 Default NLS Option 改成utf8
File systems ---> DOS/FAT/NT Filesystems---> 中将 Default iocharset for FAT 改成utf8
总结,经过上面的修改vs基本能完成中文编码下的编程和代码阅读工作了,但是到目前
尚不能解决中文输入问题,实在美中不足。 slickedit的win版本的界面中文化能给个提示么?没有找到任何有用的资源,但是用右键菜单可以更改一部分界面内容为中文。 如果要做win下的汉化,请看看vs的help中关于slick-c这个语言和macro目录下的那些东
西,.e的这些文件就是slick-c这个语言写的,slickedit除了最底层的东西封装到几个主要
的DLL中外,界面这些东西都由中间语言slick-c来实现的,如果要汉化的话,要找到e文
所在slick-c的文件/修改/编译,这些slick-c的帮助都有说 这样啊,没想到去看帮助,我不用这个,不过这个汉化不能实在是郁闷了很长时间。
页:
[1]