Вы можете измерить текст, чтобы получить ширину предложения следующим образом:
ctx.measureText('I am a sentence').width
Вы можете сделать это, потому что вы устанавливаете шрифт непосредственно в контексте, чтобы соответствовать любому тексту в стиле CSS в вашем HTML, который вы пытаетесь действительно измерить.
ctx.font = '24px MyFont';
Но что, если я хочу применить whitespace: pre
к тексту? Кажется, я получаю странные результаты, которые не соответствуют действительности.
Что я пытаюсь сделать, так это просто вычислить слова, которые могут безопасно поместиться в одной строке. Вот и все. Но иногда то, что я измеряю, меньше того, что отображается, поэтому я начинаю подозревать, что метод измерения холста на самом деле не является точным инструментом.
Как точно измерить ширину предложения с учетом всех особенностей стиля, таких как letter-spacing
, whitespace: pre
и т. д.?