В настоящее время я создаю игру, используя Javascript и HTML холст.
Я столкнулся с проблемой, когда создавал функцию для изменения семейства шрифтов CanvasRenderingContext2D.font
, не меняя ничего другого . Моя функция выглядит так.
function font(ctx, fontName='sans-serif') {
/*
consider cases where ctx.font is in form:
'10px Arial', '10px 10px', '10px "Arial Arial"', '10px'
*/
ctx.font = ctx.font.split('px')[0] + 'px ' + fontName;
return ctx.font; // ignore this part
}
Я хочу сделать эту функцию применимой к любой ситуации.
Проблема в том, что я не уверен, что эта функция справится с любыми ситуация.
И мой вопрос такой: Есть ли шанс, что CanvasRenderingContext2D.font
не примет форму '... [font size]px [font family]'
? Потому что в противном случае моя функция будет определенно сломаться (например, если она может быть в форме '... [font size]px [font family] ...'
, часть после семейства шрифтов будет полностью удалена)
И это дополнительно, но кто-нибудь знает, как лучше всего установить семейство шрифтов CanvasRenderingContext2D.font
, не влияя ни на что другое? Я пробовал искать, но не нашел ответа. Спасибо :)
(PS Я почти уверен, что SOF - подходящее место, чтобы опубликовать это, а не обзор кода, извините, если я ошибаюсь!)