LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1371|回复: 10

请问用emacs的兄弟字体能设置为等宽吗?谢谢!

[复制链接]
发表于 2009-9-29 23:40:06 | 显示全部楼层 |阅读模式
我的emacs23.1选择字体或者在配置文件里边设置为等宽字体,
但是实际显示出来不适等宽字体,查阅的结果确实等宽字体名称,
搞不明白、:yun:
发表于 2009-9-30 00:06:54 | 显示全部楼层
Post by beyond93;2031784
我的emacs23.1选择字体或者在配置文件里边设置为等宽字体,
但是实际显示出来不适等宽字体,查阅的结果确实等宽字体名称,
搞不明白、:yun:


你选择的什么英文字体?字体本身等宽么? 试试 DejaVu Sans Mono。

中文字体都是等宽的吧。

其实麻烦的是,中英文不是同一个字体时,要把中文宽度设为英文的两倍。
回复 支持 反对

使用道具 举报

发表于 2009-9-30 00:57:24 | 显示全部楼层
如果对版权不介意的话, 使用 YaHeiMono , 它是网友组合了 微软雅黑, 微软 consolas 两个字体的结果, 中文宽度刚好是英文的两倍. 下面是配置.

(if (frame-parameter nil 'font-backend)
   (progn
      (set-default-font "YaHeiMono-12")
          ;; 启动的新 Frame 也使用这个字体
      (add-to-list 'default-frame-alist '(font . "YaHeiMono-12")))
  ;; else
  (setq ascii-font
        "-outline-Bitstream Vera Sans-normal-r-normal-normal-12-97-96-96-c-*-iso8859-1")
  (setq chinese-font
        "-outline-微软雅黑-*-r-*-*-24-*-96-96-p-*-iso10646-1")
  (defun zw-set-font (en-font cn-font)
    (create-fontset-from-fontset-spec
     (replace-regexp-in-string "iso8859-1" "fontset-zw" en-font))
    (dolist (fnset '("fontset-default" "fontset-zw"))
      (set-fontset-font fnset 'gb18030 cn-font)
      (set-fontset-font fnset 'iso-8859-15 en-font))
    (set-default-font "fontset-zw")
    (setq default-frame-alist
          (append
           '((font . "fontset-zw"))
           default-frame-alist)))
  (zw-set-font ascii-font chinese-font))
回复 支持 反对

使用道具 举报

发表于 2009-9-30 01:05:56 | 显示全部楼层
如果启用了xft,可以在.emacs里边:
;;; Set fonts
(set-default-font "Andale Mono-12")
(set-fontset-font (frame-parameter nil 'font)
                  'unicode  '("WenQuanYi Zen Hei Mono" . "unicode-bmp"))
不知道从什么搞来的。应该都是mono。
回复 支持 反对

使用道具 举报

发表于 2009-9-30 01:10:51 | 显示全部楼层
Emacs 本来就可以为一种编码甚至每一个字符指定字体。所以组合字体倒不必要了。

只是我一直比较喜欢的 Monaco 比较麻烦,这字体是高瘦型的,至今也没找到过能跟它 2:1 配合的中文字体。


Post by cheneymx;2031807
如果对版权不介意的话, 使用 YaHeiMono , 它是网友组合了 微软雅黑, 微软 consolas 两个字体的结果, 中文宽度刚好是英文的两倍. 下面是配置.

(if (frame-parameter nil 'font-backend)
   (progn
      (set-default-font "YaHeiMono-12")
          ;; 启动的新 Frame 也使用这个字体
      (add-to-list 'default-frame-alist '(font . "YaHeiMono-12")))
  ;; else
  (setq ascii-font
        "-outline-Bitstream Vera Sans-normal-r-normal-normal-12-97-96-96-c-*-iso8859-1")
  (setq chinese-font
        "-outline-微软雅黑-*-r-*-*-24-*-96-96-p-*-iso10646-1")
  (defun zw-set-font (en-font cn-font)
    (create-fontset-from-fontset-spec
     (replace-regexp-in-string "iso8859-1" "fontset-zw" en-font))
    (dolist (fnset '("fontset-default" "fontset-zw"))
      (set-fontset-font fnset 'gb18030 cn-font)
      (set-fontset-font fnset 'iso-8859-15 en-font))
    (set-default-font "fontset-zw")
    (setq default-frame-alist
          (append
           '((font . "fontset-zw"))
           default-frame-alist)))
  (zw-set-font ascii-font chinese-font))
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-30 08:53:43 | 显示全部楼层
Post by blackwhite;2031808
如果启用了xft,可以在.emacs里边:

不知道从什么搞来的。应该都是mono。


我是使用你这种方法设置的,只是英文是Liberation Mono
中文是雅黑。
回复 支持 反对

使用道具 举报

发表于 2009-9-30 10:15:08 | 显示全部楼层
请用图片说话。
俺的.Xresources (.emacs中没有任何字体设置)1440x900
  1. Xft.dpi:120.4
  2. Xft.antialias: 1
  3. Xft.hinting: 1
  4. Xft.hintstyle: hintslight
  5. Xft.rgba: rgb
  6. Xft.font: Microsoft Yahei
  7. Emacs.font: Envy Code R-13
  8. Emacs.useXIM: true  
复制代码

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2009-9-30 18:32:31 | 显示全部楼层
之前用reStructreText写文档,表格里的字不是等宽,这个很头痛

附件图一个是emacs
另一个是less

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2009-9-30 18:33:14 | 显示全部楼层
有没有什么字体,可以实现一个中文英文都是一个宽度?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-30 22:06:47 | 显示全部楼层
emacs比较奇怪,雅黑consolas混合字体gvim是中文等于两个英文的宽度,
但在emacs里就不是。
不知道是否是因为我系统里同时有雅黑和雅黑consolas,local.conf里头都是雅黑在前
导致的
回复 支持 反对

使用道具 举报

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

本版积分规则

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