问题标签 [fontconfig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
940 浏览

fonts - 在centos 7的docker容器中与wkhtmltopdf匹配的解放字体

我正在尝试在 centos 7 中运行带有 wkthmltopdf 0.12.4 的 docker 容器。我们只想支持“Arial”、“Times New Roman”和“Courier New”,并且确实想处理msttcorefonts包。所以解放字体包已经足够接近了。但是,似乎我需要添加其他配置才能正确匹配。

在容器内,字体似乎符合我的预期

但是当我尝试使用 wkhtmltopdf 转换来自 ckEditor 的以下内容时

他们都在 pdf 中以 LiberationSans 的形式出现

但是,如果手动将字体系列更改为以下。它按预期工作

这让我相信我可能需要在 fontconfig 中添加一些配置以匹配行为

0 投票
2 回答
160 浏览

bash - 重击。传递包含空格的变量

我在 linux 上使用 dmenu 列表选择工具。假设我的典型调用是这样的:

.dmenurc 中的设置:

然后,我使用了一些基于 dmenu 的快速启动脚本。这行需要 dmenu 选项:

现在,我将字体名称切换为Liberation Mono,字体片段现在被识别为一个选项的两个参数。Dmenu 出现语法错误。我无法使用引号或反斜杠解决这个问题。所以有一个带有空格键的变量应该传递给另一个变量。

0 投票
2 回答
2542 浏览

linux - 如何在 fontconfig 中设置每个 Unicode 范围/代码点的字体?

我最近想出了如何fontconfig在 Linux 上为 serif、sans-serif 和等宽字体设置系统默认字体;基本上,您将 XML 配置文件保存到~/.config/fontconfig/fonts.conf以下内容:

binding="strong" mode="prepend_first"属性确保匹配规则优先于其他设置,并且字体名称的顺序确保在字体不包含给定代码点/字符的情况下,尝试列表中的下一个字体(此列表从顶部到-bottom;恕我直言,它确实应该是一个后期绑定更强的逻辑,但无论如何)。

这种配置的伟大之处在于它可以在文本编辑器和终端仿真器中运行。

但是,仍然存在问题:在许多情况下,给定字体确实包含给定字形,但对于该代码点,另一种字体会更可取;例如,Sun-ExtA它是 CJK 字符的一个很好的默认字体,但它也涵盖了很多非 CJK 字符,并且有一些有问题的字形。

假设我不喜欢〇 U+3007 IDEOGRAPHIC NUMBER ZEROin的外观Sun-ExtA并且宁愿使用HanaMinA它,我怎么能这样做fontconfig呢?显然,我不能只优先考虑HanaMinAover的条目Sun-ExtA,因为这会影响两种字体中包含的所有字形。

我的直觉是应该有一个涉及元素的解决方案<charset>(根据 fontconfig 用户文档,“这个元素至少包含一个 Unicode 代码点或更多元素”)和/或<range>(“这个元素包含一个范围的两个元素表示”——大概是表示一系列 Unicode 代码点)。不过,我找不到一个如何使用这些元素的示例。

是否可以将 fontconfig 配置为对单个 Unicode 代码点或一系列代码点使用特定字体?

0 投票
0 回答
166 浏览

aix - 错误:无法确定 gperf 哈希/查找函数的 len 参数的类型

我想在 AIX os 64 位下构建 fontconfig 库。所以我下载了 fontconfig 源代码并执行了配置命令: ./configure --prefix=/home/stephv/libraries/sharedlib 配置返回以下错误:检查 gperf 哈希/查找函数的 len 参数类型...配置:错误:无法确定 gperf 哈希/查找函数的 len 参数的类型

那么,我该如何解决这个错误呢?

谢谢

0 投票
3 回答
6357 浏览

python - 让 Anaconda 的 tkinter 了解系统字体或为 Anaconda 安装新字体

我在我的 Debian Sid 笔记本上安装了两个 Python,⑴ 系统的 Python (v.2.7) 和一些实用程序包(包括Tkinter)和⑵ Anaconda 的 Python 3。

很容易看出两种 Python 发行版有哪些(好吧,这里有多少……)字体。

蟒蛇2

蟒蛇 3

在我看来,Anaconda只关注发行版附带tkinter的基本 X 字体,请参阅下面的编辑

你知道一个程序,或者

  • 让 Anacondatkinter知道系统字体(首选替代方案)或
  • 在 Anaconda 的树中安装一些字体以便tkinter可以使用它们?

蒂亚


编辑Anaconda 可用的字体确实是系统字体,但只有已知的字体xfontsel,即字体路径中可以使用xset.

我尝试了以下

xfontsel展示了大约 30 多个字体系列。使用 Python 3 检查我确认只有两个字体系列被添加到可用字体列表中(即'go''gomono'- 否'consolas'等)并产生一个标签

Python 2 和 Python 3 在这两种情况下都成功了,但是 Debian 的 Python 显示了很好的抗锯齿文本,而另一个是(粗略的)位图再现。

所以,从某种意义上说,我已经部分回答了我的问题,但是

  1. 并非每个字体系列,如 所示xfontsel,都被tkinter
  2. 即使对于极少数被认可的人来说,这种演绎也有太多不足之处......

我想阅读一个更好,更有用的答案。

0 投票
0 回答
575 浏览

freetype2 - 在非标准用户主目录中使用 freetype 构建 fontconfig 无法找到 freetype 依赖项

freetype我通过以下步骤成功构建:

freetype-2.7.1.tar.gz从下载文件http://www.freetype.org/download.html#stable

2.7.1版本是可以内置到 GD 库中的版本。和版本阻止了 GD 库的构建2.82.8.1

我现在正在尝试构建fontconfig,但无法freetype在以下步骤中找到:

fontconfig-2.12.91.tar.gz从下载文件https://www.freedesktop.org/software/fontconfig/release/

我正在运行 Ubuntu16.04

0 投票
0 回答
736 浏览

xelatex - fontspec (xetex/luatex) 和 fontconfig

LuaTeX 和 XeTeX 正在从 fontspec 包传递警告,我不确定我是否应该担心。以下最小代码将生成警告:

警告是

例如,将“Arial”替换为“Charis SIL”不会导致警告。

我相信我已经将问题追溯到 fc-list/fontconfig。在 Arial 字体的 fc-list 输出中,我得到以下“功能”行:

该行没有提到西里尔文(根据\newfontscript{Cyrillic}{cyrl}fontspec-xetex.sty 中的行,这将是代码“cyrl”)。我没有收到此警告的字体,例如 Charis SIL,在其功能行中明确提到了 Cyrillic:

不幸的是,在 fc-list 的输出中这个“能力”行的文档仅限于该行

(来自https://www.freedesktop.org/software/fontconfig/fontconfig-user.html和网络上的其他几个地方)

我的问题基本上是,我应该担心这个警告信息吗?Arial(和 Charis)在“lang”字段中列出“ru”,即俄语的 ISO 639-1 代码。Charis SIL 支持的 Cyrillic 脚本的这种“布局”功能是什么,但 Arial 显然不支持,为什么它很重要?

顺便说一句,这是 TeX Live 2017 发行版。

0 投票
1 回答
1876 浏览

macos - 如何在没有 uuid 的情况下编译 fontconfig

我想创建 fontconfig 的 dylib 但我必须在没有 uuid 的情况下这样做

我的 ./configure 选项是:

但我坚持:

如何在不使用 UUID 的情况下绕过此错误?

0 投票
1 回答
246 浏览

linux - 每个程序使用字体

我在同一个系统上使用 phantomjs 和 puppeteer。我正在使用字体文件来支持 PDF 导出中的表情符号。当我使用该字体时,phantomjs 崩溃了,但 puppeteer 中使用的 chromium 浏览器没有。有什么方法可以让我只为 chrome 加载字体文件,而无需让字体在系统范围内应用/usr/share/fonts. 我在 CentOS 7 机器上。

0 投票
0 回答
456 浏览

fonts - 强制 fontconfig 为给定字形使用特定字体

可能吗?我使用 i3bar 状态行并希望它显示一些 unicode 字形,但其中一些会导致整个文本垂直未对齐并因此被裁剪:

在此处输入图像描述

在这个特定的例子中,说话者字形会导致这种情况。如何强制 fontconfig 使用不同的字体?栏中的字体是 Terminus,字形显示为 Noto Sans Symbols2(似乎是默认的后备)。我很确定这是由于字体,因为在我的另一台机器上,符号是用另一种字体(Segoe UI Emoji)绘制的,并且没有出现错位。我已经在我的.config/fontconfig/fonts.conf

但它没有用。