问题标签 [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.
fonts - 在centos 7的docker容器中与wkhtmltopdf匹配的解放字体
我正在尝试在 centos 7 中运行带有 wkthmltopdf 0.12.4 的 docker 容器。我们只想支持“Arial”、“Times New Roman”和“Courier New”,并且确实想处理msttcorefonts
包。所以解放字体包已经足够接近了。但是,似乎我需要添加其他配置才能正确匹配。
在容器内,字体似乎符合我的预期
但是当我尝试使用 wkhtmltopdf 转换来自 ckEditor 的以下内容时
他们都在 pdf 中以 LiberationSans 的形式出现
但是,如果手动将字体系列更改为以下。它按预期工作
这让我相信我可能需要在 fontconfig 中添加一些配置以匹配行为
bash - 重击。传递包含空格的变量
我在 linux 上使用 dmenu 列表选择工具。假设我的典型调用是这样的:
.dmenurc 中的设置:
然后,我使用了一些基于 dmenu 的快速启动脚本。这行需要 dmenu 选项:
现在,我将字体名称切换为Liberation Mono,字体片段现在被识别为一个选项的两个参数。Dmenu 出现语法错误。我无法使用引号或反斜杠解决这个问题。所以有一个带有空格键的变量应该传递给另一个变量。
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 ZERO
in的外观Sun-ExtA
并且宁愿使用HanaMinA
它,我怎么能这样做fontconfig
呢?显然,我不能只优先考虑HanaMinA
over的条目Sun-ExtA
,因为这会影响两种字体中包含的所有字形。
我的直觉是应该有一个涉及元素的解决方案<charset>
(根据
fontconfig 用户文档,“这个元素至少包含一个 Unicode 代码点或更多元素”)和/或<range>
(“这个元素包含一个范围的两个元素表示”——大概是表示一系列 Unicode 代码点)。不过,我找不到一个如何使用这些元素的示例。
是否可以将 fontconfig 配置为对单个 Unicode 代码点或一系列代码点使用特定字体?
aix - 错误:无法确定 gperf 哈希/查找函数的 len 参数的类型
我想在 AIX os 64 位下构建 fontconfig 库。所以我下载了 fontconfig 源代码并执行了配置命令: ./configure --prefix=/home/stephv/libraries/sharedlib 配置返回以下错误:检查 gperf 哈希/查找函数的 len 参数类型...配置:错误:无法确定 gperf 哈希/查找函数的 len 参数的类型
那么,我该如何解决这个错误呢?
谢谢
python - 让 Anaconda 的 tkinter 了解系统字体或为 Anaconda 安装新字体
我在我的 Debian Sid 笔记本上安装了两个 Python,⑴ 系统的 Python (v.2.7) 和一些实用程序包(包括Tkinter
)和⑵ Anaconda 的 Python 3。
很容易看出两种 Python 发行版有哪些(好吧,这里有多少……)字体。
蟒蛇2
蟒蛇 3
在我看来,Anaconda只关注发行版附带tkinter
的基本 X 字体,请参阅下面的编辑。
你知道一个程序,或者
- 让 Anaconda
tkinter
知道系统字体(首选替代方案)或 - 在 Anaconda 的树中安装一些字体以便
tkinter
可以使用它们?
蒂亚
编辑Anaconda 可用的字体确实是系统字体,但只有已知的字体xfontsel
,即字体路径中可以使用xset
.
我尝试了以下
并xfontsel
展示了大约 30 多个字体系列。使用 Python 3 检查我确认只有两个字体系列被添加到可用字体列表中(即'go'
和'gomono'
- 否'consolas'
等)并产生一个标签
Python 2 和 Python 3 在这两种情况下都成功了,但是 Debian 的 Python 显示了很好的抗锯齿文本,而另一个是(粗略的)位图再现。
所以,从某种意义上说,我已经部分回答了我的问题,但是
- 并非每个字体系列,如 所示
xfontsel
,都被tkinter
- 即使对于极少数被认可的人来说,这种演绎也有太多不足之处......
我想阅读一个更好,更有用的答案。
freetype2 - 在非标准用户主目录中使用 freetype 构建 fontconfig 无法找到 freetype 依赖项
freetype
我通过以下步骤成功构建:
freetype-2.7.1.tar.gz
从下载文件http://www.freetype.org/download.html#stable
2.7.1
版本是可以内置到 GD 库中的版本。和版本阻止了 GD 库的构建2.8
。2.8.1
我现在正在尝试构建fontconfig
,但无法freetype
在以下步骤中找到:
fontconfig-2.12.91.tar.gz
从下载文件https://www.freedesktop.org/software/fontconfig/release/
我正在运行 Ubuntu16.04
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 发行版。
macos - 如何在没有 uuid 的情况下编译 fontconfig
我想创建 fontconfig 的 dylib 但我必须在没有 uuid 的情况下这样做
我的 ./configure 选项是:
但我坚持:
如何在不使用 UUID 的情况下绕过此错误?
linux - 每个程序使用字体
我在同一个系统上使用 phantomjs 和 puppeteer。我正在使用字体文件来支持 PDF 导出中的表情符号。当我使用该字体时,phantomjs 崩溃了,但 puppeteer 中使用的 chromium 浏览器没有。有什么方法可以让我只为 chrome 加载字体文件,而无需让字体在系统范围内应用/usr/share/fonts
. 我在 CentOS 7 机器上。