无法在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)
我想是够的
是我的错。
我用 ldd 命令检查过,发现 libfreetype 没有依赖。
只有这样的配置:
./configure --with-x-toolkit=gtk
Run Code Online (Sandbox Code Playgroud)
向二进制文件添加了自由类型库依赖项。所以从现在开始就好了。
关于“默认系统 emacs”错误的另一件事要注意。Emacs 二进制我认为是系统之一,也是很久以前自定义构建的(也没有 freetype 支持),根据我的路径配置,当我在没有路径规范的情况下输入“emacs”时,就会执行这个自定义二进制文件。
我很惭愧,对这样的错误配置感到抱歉。老实说,没有配置默认的 freetype 支持很奇怪。