blob: d2812c474d24197e2203752aa822401eee9217b9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
---
title: CanvasRenderingContext2D.font
slug: Web/API/CanvasRenderingContext2D/font
tags:
- API
- Canvas
- CanvasRenderingContext2D
- Property
- Reference
translation_of: Web/API/CanvasRenderingContext2D/font
---
<div>{{APIRef}}</div>
<p><strong><code>CanvasRenderingContext2D.font</code></strong> は Canvas 2D API のプロパティで、テキストを描画するときに用いられる現在のテキストスタイルを指定します。この文字列は <a href="/ja/docs/Web/CSS/font">CSS font</a> の記述子と同じ構文を用います。</p>
<h2 id="Syntax">構文</h2>
<pre class="brush: js"><em>ctx</em>.font = <em>value</em>;
</pre>
<h3 id="Options">オプション</h3>
<dl>
<dt><code>value</code></dt>
<dd>{{domxref("DOMString")}} で、 CSS の {{cssxref("font")}} の値として解釈されるものです。既定のフォントは 10px sans-serif です。</dd>
</dl>
<h2 id="Examples">例</h2>
<h3 id="Using_a_custom_font">カスタムフォントの使用</h3>
<p>この例では、 <code>font</code> プロパティを使用して、カスタムフォントの太さ、大きさ、ファミリーを指定します。</p>
<h4 id="HTML">HTML</h4>
<pre class="brush: html"><canvas id="canvas"></canvas>
</pre>
<h4 id="JavaScript">JavaScript</h4>
<pre class="brush: js">const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.font = 'bold 48px serif';
ctx.strokeText('Hello world', 50, 100);
</pre>
<h4 id="Result">結果</h4>
<p>{{ EmbedLiveSample('Using_a_custom_font', 700, 180) }}</p>
<h3 id="Loading_fonts_with_the_CSS_Font_Loading_API">CSS Font Loading API でフォントを読み込む</h3>
<p>{{domxref("FontFace")}} API の助力により、canvas で使用する前にフォントを明示的に読み込むことができます。</p>
<pre class="brush: js">let f = new FontFace('test', 'url(x)');
f.load().then(function() {
// canvas コンテキストでフォントを使用する準備ができた
});</pre>
<h2 id="Specifications">仕様書</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
<tr>
<td>{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-font", "CanvasRenderingContext2D.font")}}</td>
<td>{{Spec2('HTML WHATWG')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザ実装状況</h2>
<p>{{Compat("api.CanvasRenderingContext2D.font")}}</p>
<h2 id="Gecko-specific_notes" name="Gecko-specific_notes">Gecko 固有の注意事項</h2>
<ul>
<li>Firefox など Gecko ベースのブラウザーでは、このプロパティのほかに標準外かつ非推奨の <code>ctx.mozTextStyle</code> を定義しています。代わりに <code>ctx.font</code> を使用してください。</li>
<li>Gecko では、システムフォントをキャンバスの 2D コンテキストの {{domxref("CanvasRenderingContext2D.font", "font")}} (例えば <code>menu</code>) の値として設定した場合、フォントの値を取得しても期待したフォントが返されない (何も返されない) ことがありました。これは、Firefox 57 でリリースされた Firefox の並列 CSS エンジン <a href="https://wiki.mozilla.org/Quantum/Stylo">Quantum/Stylo</a> で修正されました (bug 1374885)。</li>
</ul>
<h2 id="See_also">関連情報</h2>
<ul>
<li>このメソッドを定義するインターフェイスである {{domxref("CanvasRenderingContext2D")}}</li>
</ul>
|