如何在fabricJS中应用.otf字体?

时间:2019-06-17 10:47:08

标签: angular canvas fonts fabricjs opentype

我有.otf字体列表,大约有200种字体。

我正在使用opentype.js加载这些字体,如下所示:

opentype.load('HelveticaNeueLTStd-BdCn.otf', (err, font) => {
    if (err) {
        console.error('Error loading font ', err);
        return
    }
    canvas.getActiveObject().set('fontFamily', 'HelveticaNeueLTStd-BdCn');
    canvas.requestRenderAll();
});

但是它不应用我从.otf加载的任何字体系列,如果我对.ttf做同样的事情,那么它工作正常。

1 个答案:

答案 0 :(得分:1)

使用此代码是可能的:首先从服务器加载字体,然后将这些字体作为字体插入html的head标签:

  const a = '<style> @font-face {\n' +
            '    font-family: ' + fontFileName + ';\n' +
            '    src: url(' + url + ') format("opentype");\n' +
            '}</style>';
  $('head').append(a);

URL是:字体文件的Blob。