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
|
---
title: CanvasRenderingContext2D.font
slug: Web/API/CanvasRenderingContext2D/font
tags:
- API
- Canvas
- Property
translation_of: Web/API/CanvasRenderingContext2D/font
---
<div>{{APIRef}}</div>
<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.font</code></strong> – свойство<strong> </strong>Canvas 2D API, определяющее текущие стили рисуемого текста. Это строка, которая использует синтаксис <a href="/en-US/docs/Web/CSS/font" title="en/CSS/font">CSS font</a>.</p>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox"><em>ctx</em>.font = <em>value</em>;
</pre>
<h3 id="Опции">Опции</h3>
<dl>
<dt><code>value</code></dt>
<dd>Строка {{domxref("DOMString")}} с разобранным CSS {{cssxref("font")}} значением. Значение по умолчанию – "10px sans-serif".</dd>
</dl>
<h2 id="Примеры">Примеры</h2>
<h3 id="Использование_пользовательского_шрифта">Использование пользовательского шрифта</h3>
<p>Этот пример задает в свойстве <code>font</code> другие <code>font-size</code> и <code>font-family</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="Результат">Результат</h4>
<p>{{ EmbedLiveSample('Использование_пользовательского_шрифта', 700, 180) }}</p>
<h3 id="Загрузка_шрифта_с_помощью_CSS_Font_Loading_API">Загрузка шрифта с помощью CSS Font Loading API</h3>
<p>С помощью {{domxref("FontFace")}} API, вы можете явно загрузить шрифт перед использованием его в <code>canvas</code>.</p>
<pre class="brush: js">let f = new FontFace('test', 'url(x)');
f.load().then(function() {
// Ready to use the font in a canvas context
});</pre>
<h2 id="Спецификации">Спецификации</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="Поддержка_браузерами">Поддержка браузерами</h2>
<p>{{Compat("api.CanvasRenderingContext2D.font")}}</p>
<h3 id="Особенности_Gecko">Особенности Gecko</h3>
<ul>
<li>Браузеры на основе Gecko, например Firefox, имеют не стандандартное и устаревшее свойство <code>ctx.mozTextStyle</code>. Используйте <code>ctx.font</code> вместо него.</li>
<li>In Gecko, when setting a system font as the value of a canvas 2D context's {{domxref("CanvasRenderingContext2D.font", "font")}} (e.g., <code>menu</code>), getting the font value used to fail to return the expected font (it returns nothing). This is fixed in Firefox's <a href="https://wiki.mozilla.org/Quantum/Stylo">Quantum/Stylo</a> parallel CSS engine, released in Firefox 57 ({{bug(1374885)}}).</li>
</ul>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li>Интерфейс, определяющий это свойство: {{domxref("CanvasRenderingContext2D")}}</li>
</ul>
|