HTML5-холст не поддерживает многострочное рисование текста, поэтому нет никакого реального влияния на тип выравнивания.
Если вы хотите поддерживать перевод строки, вы должны сами это сделать, вы можете увидеть предыдущийобсуждение этого здесь: HTML5 Canvas - могу ли я каким-либо образом использовать перевод строки в fillText ()?
Это моя реализация для переноса слов / перевода строки:
function printAtWordWrap(context, text, x, y, lineHeight, fitWidth) {
fitWidth = fitWidth || 0;
lineHeight = lineHeight || 20;
var currentLine = 0;
var lines = text.split(/\r\n|\r|\n/);
for (var line = 0; line < lines.length; line++) {
if (fitWidth <= 0) {
context.fillText(lines[line], x, y + (lineHeight * currentLine));
} else {
var words = lines[line].split(' ');
var idx = 1;
while (words.length > 0 && idx <= words.length) {
var str = words.slice(0, idx).join(' ');
var w = context.measureText(str).width;
if (w > fitWidth) {
if (idx == 1) {
idx = 2;
}
context.fillText(words.slice(0, idx - 1).join(' '), x, y + (lineHeight * currentLine));
currentLine++;
words = words.splice(idx - 1);
idx = 1;
}
else
{ idx++; }
}
if (idx > 0)
context.fillText(words.join(' '), x, y + (lineHeight * currentLine));
}
currentLine++;
}
}
здесь нет поддержки выравнивания или обоснования, вам придется добавить ее в