Я не верю, что существует какой-либо способ решить эту проблему при использовании fabric.js
Текст в fabric.js можно произвольно масштабировать, но затем он растеризуется и отображается как объект типа canvasлюбое другое изображение.
В демонстрационных материалах fabric.js вы можете видеть, что текст будет растягиваться, как изображение, до тех пор, пока ввод не будет завершен, а затем он будет заново отображен в новом изображении в этом масштабе.
![Before, during, and after scaling a textbox in fabric.js](https://i.stack.imgur.com/oxAQX.png)
Зная, что это так, как fabric.js обрабатывает текст, можно выбрать две шкалы, которые дают совершенно разные результаты:
![Two text bodies of similar size with very different weights.](https://i.stack.imgur.com/v6LfJ.png)
На изображении выше вы можете видеть, что два шрифта имеют почти одинаковый размер, но справа (немного больше) был растеризован так, что, кажется, имеетсмелее внешний вид.Это лучший пример, который я мог воспроизвести за ограниченное время.
Вот почему рендеринг объектов fabric.js в вашем браузере с меньшим разрешением, чем на сервере, приводит к тому, что шрифт выглядит немного иначе.
Если вы попытаетесь отобразить версию браузера в том же размере, что и сервер, вы, вероятно, получите те же результаты.