emacs不使用/ usr/share/fonts中的字体

soh*_*hel 5 emacs fonts

无法在Debian Linux + fluxbox下赢得emacs字体大战.

应该提到我在fontconfig中绝对没有经验,所以我错过了一些明显的东西.

我试图在emacs下使用/ usr/share/fonts之类的系统字体,比如DejaVu,但没有运气.

我试过了:

1.提到很多资源命令

(set-default-font "DejaVu Sans Mono-12")
Run Code Online (Sandbox Code Playgroud)

对于我尝试过的几乎任何字体名称,都返回"Font not available".

2.

Shift+Mouse-Left-Click->Change Text Font ->
Run Code Online (Sandbox Code Playgroud)

给出了很少的可用字体列表,其中包含两个或三个不同的大小.

我试过了:

ln -s /usr/share/fonts ~/.fonts
Run Code Online (Sandbox Code Playgroud)

没别的了

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

cd /usr/share/fonts/truetype/ttf-dejavu
sudo mkfontdir
xset +fp /usr/share/fonts/truetype/ttf-dejavu
xset fp rehash
Run Code Online (Sandbox Code Playgroud)

没有

5.我甚至将emacs用于访问具有字体名称的目录:

2>&1 strace -f emacs-24.3.1 > ./t.txt
Run Code Online (Sandbox Code Playgroud)

grep -i font ./t.txt
Run Code Online (Sandbox Code Playgroud)

仅给出:

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

并没有像〜/ .fonts或/ usr/share/fonts这样的目录

同时:

% fc-list|grep -c deja  
42
Run Code Online (Sandbox Code Playgroud)

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

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

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

2>&1 strace -f  emacs |grep -i font
Run Code Online (Sandbox Code Playgroud)

我想是够的

soh*_*hel 5

是我的错。

我用 ldd 命令检查过,发现 libfreetype 没有依赖。

只有这样的配置:

./configure --with-x-toolkit=gtk
Run Code Online (Sandbox Code Playgroud)

向二进制文件添加了自由类型库依赖项。所以从现在开始就好了。

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

我很惭愧,对这样的错误配置感到抱歉。老实说,没有配置默认的 freetype 支持很奇怪。