Будете ли вы каждый раз использовать один и тот же шрифт?Если это так: захватите локальную копию шрифта, запустите свои тесты локально и кэшируйте их (база данных SQLite? Массив ширин, хранящийся в модуле Python? Эта часть зависит от вас).Однако следует помнить, что ширина предложения, вероятно, не равна сумме ширины его символов из-за кернинга .Если вы хотите быть точным, вам нужно вычислить ширину самого предложения.
Правда ли это нужно делать на сервере?Если ваш клиент, например, веб-браузер, вы можете использовать метод jQuery .width () , чтобы спросить браузер о фактическом размере элемента, или выполнить некоторые манипуляции в вашем собственном JavaScript.
Еще лучше было бы спроектировать SVG с более «жидкой» компоновкой и ожидать, что элемент может увеличиться или уменьшиться до произвольного размера, и использовать простой тупой код, такой как elementtext = elementtext[:100]
ограничить его длину до некоторого заданного порогового значения.В основном, убедитесь, что он работает с определенным количеством текста, а затем убедитесь, что вы не будете использовать больше, чем столько текста.Вы не используете Декларацию независимости в качестве текстовой метки, верно?