我正在为我的应用程序使用fabric.js和一些自定义字体。字体通过webfont加载器从谷歌加载。我需要拉丁语和西里尔语子集。
WebFont.load({
google: {
families: ['Lobster::latin,cyrillic', 'Marck+Script::latin,cyrillic']
},
active: function() {
var itext = new fabric.IText('абвгдеёжзийклмнопрстуфцшщьыъэюя', {
fontFamily: 'Lobster',
fontWeight: 'normal',
textDecoration: 'normal',
top: 200,
left: 0
});
canvas.add(itext).renderAll();
itext.setCoords();
})
当我创建IText对象时,他的边界框可能不适合实际文本。 boundingBox的宽度太大或太小。它不会出现在每个自定义字体中,甚至不会出现任何字符串长度。禁用对象缓存(如此处https://github.com/kangax/fabric.js/issues/3512)也没有帮助。这是小提琴。 https://jsfiddle.net/cheeseq/mzbck8nv/2/