font属性は、フォントのスタイル・サイズ・種類を指定する際に使用します。
指定方法は、CSSのfontプロパティと同様です。
ただし、inherit(親要素の値を継承)や initial(初期値)のような、プロパティに依存しない値を指定することはできません。
また、CSSのline-heightプロパティに相当する行の高さは、 normal で固定されています。
これらを含めて無効な値を指定すると無視されます。
font属性を指定しない場合のテキストの初期状態は、
フォントのスタイル normal 、フォントのサイズ 10px 、フォントの種類 sans-serif(ひげ無し・ゴシック系)となります。
もし、値に larger や smaller 、 bolder や lighter などの相対的なキーワードや、
パーセント(%)・em・exなどの相対的な単位の長さを指定した場合には、
<canvas>要素に適用されている
font-sizeプロパティや
font-weightプロパティの値から相対的に算出されます。
@font-faceによる指定も有効です。
尚、ビットマップフォントは変形を適用した際の見た目が汚くなるため、
ユーザーエージェントはベクターフォントのみを利用するべきとされています。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvasで図形を描く</title>
<script type="text/javascript">
<!--
function test() {
//描画コンテキストの取得
var canvas = document.getElementById('sample');
if (canvas.getContext) {
var context = canvas.getContext('2d');
//ここに具体的な描画内容を指定する
//指定なし
context.fillText("指定なし", 20, 30);
//14px 'MS ゴシック'の場合
context.font = "14px 'MS ゴシック'";
context.fillText("14px 'MS ゴシック'の場合", 20, 60);
//14px 'MS 明朝'の場合
context.font = "bold 14px 'MS 明朝'";
context.fillText("bold 14px 'MS 明朝'の場合", 20, 90);
//20px sans-serifの場合
context.font = "italic bold 20px sans-serif";
context.fillText("italic bold 20px sans-serifの場合", 20, 120);
}
}
//-->
</script>
</head>
<body onLoad="test()">
<h2>Canvasで図形を描く</h2>
<canvas width="300" height="150" id="sample" style="background-color:yellow;">
図形を表示するには、canvasタグをサポートしたブラウザが必要です。
</canvas>
</body>
</html>