gpt4 book ai didi

emacs - 使用带有守护进程的 Emacs 的字体列表

转载 作者:行者123 更新时间:2023-12-04 04:53:20 27 4
gpt4 key购买 nike

我的 GNU Emacs 配置在多台计算机之间共享(包括 FreeBSD、Ubuntu 和 Windows 7 的固定安装以及在 USB 驱动器上使用 NT Emacs 和 Cygwin 的可移植安装)。我想定义一个 Emacs 将按顺序尝试的字体列表,直到找到已安装的字体(因为我并不总是具有可以安装字体的 root 访问权限)。通常,set-fontset-font和 friend 会工作;但是,当 Emacs 用作守护进程 (emacs --daemon) 时,在打开框架之前不会创建正常的字体集。由于这一切都需要作为我的 .emacs 的一部分运行,为时已晚。

(以防字体集创建问题是特定于 FreeBSD 的 Emacs 端口或我的配置,this is the output of make showconfig。)

最佳答案

This question带我走了大部分路;只要您只需要一种字体,建议的答案就有效。要拥有多种备用字体,您需要定义一个字体集并告诉 Emacs 将该字体集用于框架。首先,定义要使用的字体列表:

;; Fill in your list of fonts here
(setq my-fonts '("-xos4-terminus-medium-*-*-*-16-*-*-*-*-*-iso10646-1" ...))

然后,将这些字体放入标准字体集中:
;; NOTE: only works if you don't use --daemon
(dolist (font (reverse my-fonts))
(set-fontset-font "fontset-standard" 'unicode font nil 'prepend))
(add-to-list 'default-frame-alist '(font . "fontset-standard"))

只要您从不将 Emacs 作为守护进程启动,这将可以正常工作;如果你这样做,你会被告知
error: Fontset `fontset-standard' does not exist

为了解决这个问题,我们需要在添加字体之前创建标准字体集。 Emacs 定义 standard-fontset-spec是标准字体集初始化的值;我们可以自己调用 create-fontset-from-fontset-spec第一的:
(create-fontset-from-fontset-spec standard-fontset-spec) ;to make --daemon work
(dolist (font (reverse my-fonts))
(set-fontset-font "fontset-standard" 'unicode font nil 'prepend))
(add-to-list 'default-frame-alist '(font . "fontset-standard"))

关于emacs - 使用带有守护进程的 Emacs 的字体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com