我正在使用图库来生成一些带有自定义字体的文本。在查看Text的文档时,尚不清楚如何指定特定的.ttf字体文件?我尝试使用不同的.ttf文件,例如下面的示例,但是没有人起作用。
discountText :: Maybe Int -> Diagram B
discountText discount =
case discount of
Nothing -> mempty
Just value ->
text (show value ++ " %") # font "Roboto-Light.ttf" # fontSize 90
另一个替代方法似乎是SVGFonts,但我想在没有其他库的情况下实现这一目标。那么你们如何在图表中设置自定义字体?
UPD:我发现以下给出的答案非常具有解释性。为了解决这个问题,我实际上最终使用了SVGFonts,它增加了将.ttf转换为.svg的额外步骤,但是确实可以完成工作。
答案 0 :(得分:4)
Diagrams
中的字体处理高度依赖于后端。 diagrams-cairo
应该能够在您的系统上使用任何TTF字体。在Linux上,它将使用FontConfig查找名称。它应该在其他操作系统上使用操作系统提供的字体查找机制,但我不记得自己进行过此测试。
您打算使用什么后端?我偏爱diagrams-cairo
来进行文本处理,但这是最困难的后端安装,尤其是在非Linux上。自从我上次测试他们的文本处理以来,其他后端也可能有所改善。