5

Debian Linux+fluxbox 下的 emacs 字体大战无法获胜。

应该提到的是,我对 fontconfig 完全没有经验,所以我错过了一些明显的东西。

我正在尝试使用 /usr/share/fonts 中的一些系统字体,例如 emacs 下的 DejaVu,但没有运气。

我试过了:

1. 提到很多资源命令,比如

(set-default-font "DejaVu Sans Mono-12")

对我尝试过的几乎所有字体名都返回“字体不可用”。

2.

Shift+Mouse-Left-Click->Change Text Font ->

给出的可用字体列表非常少,有两种或三种不同大小。

3. 我试过:

ln -s /usr/share/fonts ~/.fonts

没事了

4.尝试使用xset方法(在archlinux wiki上找到了这种方法并盲目测试):

cd /usr/share/fonts/truetype/ttf-dejavu
sudo mkfontdir
xset +fp /usr/share/fonts/truetype/ttf-dejavu
xset fp rehash

没有什么

5. 我什至跟踪 emacs 以获取对具有字体名称的目录的任何访问权限:

2>&1 strace -f emacs-24.3.1 > ./t.txt

grep -i font ./t.txt

只给出:

[pid 18809] writev(3, [{"b\1\6\0\17\0\1\0", 8}, {"XFree86-Bigfont", 15}, {"\0", 1}], 3) = 24

与 ~/.fonts 或 /usr/share/fonts 之类的目录无关

同时:

% fc-list|grep -c deja  
42

它是如何工作的?:( Mb 我不明白一些主要思想?

更新:我已经使用 opensoop -v 来监视在我的笔记本电脑上(在 os x 下)使用 emacs 获取字体的路径,但这与 linux 路径 ofc 没有任何关系:(

有人可以在 linux 下跟踪 emacs 打开字体以提示我应该配置哪些路径。

2>&1 strace -f  emacs |grep -i font

我想就够了

4

1 回答 1

5

是我的错。

我检查了 ldd 命令,发现 libfreetype 没有依赖项。

只有这样的配置:

./configure --with-x-toolkit=gtk

将 freetype 库依赖项添加到二进制文件。所以从现在开始没问题。

关于“默认系统 emacs”错误要注意的另一件事。我认为 Emacs 二进制文件是系统之一,很久以前也是自定义构建的(也没有 freetype 支持),根据我的路径配置,当我简单地键入没有路径规范的“emacs”时执行这个自定义的二进制文件。

我很惭愧,对这种错误配置感到抱歉。老实说,没有配置默认的自由类型支持非常奇怪。

于 2013-08-09T19:24:13.173 回答