Когда я рисую текст на холсте с гарнитурой, загруженной через @ font-face, текст отображается неправильно. Он вообще не отображается (в Chrome 13 и Firefox 5), или неправильный шрифт (Opera 11). Этот тип неожиданного поведения происходит только на первом рисунке с гарнитурой. После этого все работает нормально.
Это стандартное поведение или что-то?
Спасибо.
PS: ниже приведен исходный код контрольного примера
<code><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>@font-face and <canvas></title>
<style id="css">
@font-face {
font-family: 'Press Start 2P';
src: url('fonts/PressStart2P.ttf');
}
</style>
<style>
canvas, pre {
border: 1px solid black;
padding: 0 1em;
}
</style>
</head>
<body>
<h1>@font-face and <canvas></h1>
<p>
Description: click the button several times, and you will see the problem.
The first line won't show at all, or with a wrong typeface even if it does.
<strong>If you have visited this page before, you may have to refresh (or reload) it.</strong>
</p>
<p>
<button id="draw">#draw</button>
</p>
<p>
<canvas width="250" height="250">
Your browser does not support the CANVAS element.
Try the latest Firefox, Google Chrome, Safari or Opera.
</canvas>
</p>
<h2>@font-face</h2>
<pre id="view-css">
Сценарий
var x = 30,
у = 10;
$ ('# draw'). click (function () {
var canvas = $ ('canvas') [0],
ctx = canvas.getContext ('2d');
ctx.font = '12px "Нажмите Start 2P"';
ctx.fillStyle = '# 000';
ctx.fillText («Привет, мир!», x, y + = 20);
ctx.fillRect (x - 20, y - 10, 10, 10);
});
$ ( '# Показов CSS') текст ($ ( '# CSS') текст ().).
$ ( '# Вид-скрипт') текст ($ ( '# скрипт') текст ().).