Fabricjs自定义字体得到部分应用

时间:2019-06-26 11:01:38

标签: fonts fabricjs

this tutorial之后,我想使用一些自定义字体来更改文本的字体系列。这些字体是使用this library

加载的

选择字体后,将触发此方法:

  setFont = (font) => {
    const myfont = new FontFaceObserver(font.family)
    myfont.load()
      .then(() => {
        // when font is loaded, use it.
        const canvas = document
          .getElementById(`${this.props.printingZone}-canvas`)
          .fabric
        setTimeout(() => {
          canvas.getActiveObject().set('fontFamily', font.family)
          canvas.requestRenderAll()
        }, 500)
      }).catch((e) => {
        console.log(e)
      })
  }

不幸的是,这不能按预期工作。

这是原始文本: enter image description here

在这里,一旦我选择了一种新字体(在这里是Animatic SC)

enter image description here

如您所见,新字体仅应用于某些字符,而其他字符现在使用默认字体。

让我印象深刻的是,它在某种程度上类似于fabric.js示例中所描述的内容,关于不使用字体预加载器(“不这样做可能会导致文本 导入到画布上以使用错误的(默认)字体进行渲染。“)

但是正如您在代码中看到的那样,我正在使用预加载器。

我做错什么了吗?

0 个答案:

没有答案