javascript - FabricJS 自定义字体在节点画布上呈现不正确
问题描述
在 AWS Lambda 中让自定义字体与 FabricJS / node-canvas 一起使用时,我遇到了障碍。字体正在加载,但是当它们被渲染到画布上时,它们被完全破坏并出现在一行而不是多行上。字母间距(字距调整)也搞砸了,问题可能是因为这个......?
在浏览器中:
服务器端(AWS Lambda + node-canvas + FabricJS)
有没有人对这里发生的事情有最模糊的想法?我已经尝试更改 charSpacing 并且不起作用:(我知道可以在节点画布中呈现浏览器中可以看到的内容的精确副本,因为另一个服务正在使用 FabricJS 做同样的事情......
我将永远感激这方面的任何帮助!并提前感谢!!!
凯尔
基于另一个 SO 问题(字符宽度计算错误,某些字体可以自动缩进)我试过fabric.util.clearFabricFontCache();
了,但这没有效果。
节点画布版本:2.6.1
FabricJS 版本:3.6.3
通过消除过程 - 我相信文本框字体/字体系列详细信息正在被缓存。我已经从加载中删除了自定义字体,我仍然在渲染自定义字体......我在 loadFromJSON 之后使用了 clearFabricFontCache() 并且它仍然显示自定义字体!
解决方案
我遇到了同样的问题。我遵循了这种方法:
fabric.nodeCanvas.registerFont(__dirname + '/test/fixtures/Ubuntu-Regular.ttf', {
family: 'Ubuntu', weight: 'regular', style: 'normal'
});
一切正常。
推荐阅读
- flutter - Flutter:将数据放入第二个菜单时,dropdown_formfield 0.1.1 插件出现问题
- javascript - CSS 排除级联类
- ios - Swift - 自定义大小的 UITableViewCell 中的 UICollectionView 分页
- python - 鼠兔频道在一段时间后停止消耗
- google-cloud-platform - 在 Google BigQuery 中更改计划查询的显示名称
- module - Yocto 加载内核模块
- mongodb - MongoDB 中的 MapReduce - 按类别计数
- javascript - 如何将坐标数据从一个类传递到 React 中的另一个类
- erp - 如果 PO 项目交叉引用到 Job In infor syteline,是否有任何方法可以自动接收采购订单?
- python - 将 Glue ETL 作业加载到雪花中时出错