Пользовательские шрифты Fabricjs частично применяются - PullRequest
0 голосов
/ 26 июня 2019

После этого урока я бы хотел изменить семейство шрифтов текста, используя некоторые пользовательские шрифты.Эти шрифты загружаются с использованием этой библиотеки

При выборе шрифта этот метод запускается:

  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, об отсутствии предварительного загрузчика шрифтов («Невыполнение этого может привести к тому, что тексты, импортированные на холст, будут отображаться с неправильным (по умолчанию) шрифтом».)

Но как вы можете видеть в коде, я использую предварительный загрузчик.

Я что-то не так делаю?

...