И так
Всем спасибо за советы
Но я пошёл путём рисования в SVG - всё работает теперь даже лучше, кроме одной проблемы.
Проблема с шириной блока под текст...
Я пошёл по наипростому пути и сделал следующий способ.
ширна = кол-во символов * 10
но вот проблема в том, что разные символы имеют разную ширину... Как поступить в данной ситуации? Может стоит написать отдельную функцию, в которой будут размеры каждого символа в px? И таким образом считать