有没有方法可以libxft-bgra
在 ubuntu 上安装?在 AUR 中,他们有这个“版本”,libxft
它允许您在整个系统范围内渲染彩色表情符号。我尝试自己编译它,但为了使其正常工作,我不得不删除标准libxft
包,这会删除很多包,我不想卸载它们。有什么解决办法吗?
答案1
我最终在前缀 /usr/local 中修补、编译和安装了 libxft-2.3.3,然后使用那里的库和头文件(而不是 Ubuntu 提供的版本)重新编译了 st、dmenu 和 dwm。这使我能够保留 Ubuntu 版本。
st on master➜ cat /etc/issue
Ubuntu 20.04.2 LTS \n \l
dwm on haplo_dwm [$!]➜ ldd /usr/local/bin/st | grep -i xft
libXft.so.2 => /usr/local/lib/libXft.so.2 (0x00007f775d893000)
st on master [$!]➜ ldd /usr/local/bin/dwm | grep -i xft
libXft.so.2 => /usr/local/lib/libXft.so.2 (0x00007fa4b186a000)
st on master [$!]➜ ldd /usr/local/bin/dmenu | grep -i xft
libXft.so.2 => /usr/local/lib/libXft.so.2 (0x00007f2ce7bf1000)
st on master [$!]➜ apt search libxft
Sorting... Done
Full Text Search... Done
libxft-dev/focal,now 2.3.3-0ubuntu1 amd64 [installed]
FreeType-based font drawing library for X (development files)
libxft2/focal,now 2.3.3-0ubuntu1 amd64 [installed,automatic]
FreeType-based font drawing library for X
对于 dwm 和 dmenu,安装补丁 libxft-bgra 后,不要忘记注释掉代码iscol
以重新启用彩色字体,否则您将无法在它们中获得颜色。drw.c
/* Do not allow using color fonts. This is a workaround for a BadLength
* error from Xft with color glyphs. Modelled on the Xterm workaround. See
* https://bugzilla.redhat.com/show_bug.cgi?id=1498269
* https://lists.suckless.org/dev/1701/30932.html
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916349
* and lots more all over the internet.
*/
FcBool iscol;
if(FcPatternGetBool(xfont->pattern, FC_COLOR, 0, &iscol) == FcResultMatch && iscol) {
XftFontClose(drw->dpy, xfont);
return NULL;
}
如果您需要更多信息,请告诉我。对我来说,一切都非常顺利,而且在我的 suckless 工具中拥有彩色表情符号绝对是一件好事。