После этого урока я бы хотел изменить семейство шрифтов текста, используя некоторые пользовательские шрифты.Эти шрифты загружаются с использованием этой библиотеки
При выборе шрифта этот метод запускается:
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](https://i.stack.imgur.com/n0v2W.png)
И вот когда я выбираю новый шрифт (здесь, Animatic SC)
![enter image description here](https://i.stack.imgur.com/WMnPa.png)
Как видите, новый шрифт применяется только к некоторым символам, а другие теперь используют шрифт по умолчанию.
Меня поразило то, что он каким-то образоманалогично тому, что описано в примере fabric.js, об отсутствии предварительного загрузчика шрифтов («Невыполнение этого может привести к тому, что тексты, импортированные на холст, будут отображаться с неправильным (по умолчанию) шрифтом».)
Но как вы можете видеть в коде, я использую предварительный загрузчик.
Я что-то не так делаю?