Мой HTML-документ:
<!DOCTYPE html>
<HTML>
<HEAD>
<meta charset="utf-8">
<style>
@font-face {
font-family: "canvas";
font-style: normal;
font-weight: normal;
src: local('JesterRegular.woff'), url('JesterRegular.woff') format('woff');
}
</style>
<title>Interactive</title>
</HEAD>
<BODY>
<div style="font-family: canvas">test</div>
<canvas id="simulator">
<h1>Your browser doesn't support this element.</h1>
</canvas>
<script type="text/javascript" src="elements.js"></script>
<script type="text/javascript" src="backgroundgen.js"></script>
<script type="text/javascript" src="tileengine.js"></script>
<script type="text/javascript" src="simulator.js"></script>
</BODY>
</HTML>
Применимая часть моего JavaScript от backgroundgen.js
:
drawTitle: function() {
BackgroundGen.context.fillStyle = BackgroundGen.titleBGColor;
BackgroundGen.context.fillRect(0,0,BackgroundGen.canvas.width,30);
textXpos = BackgroundGen.canvas.width/2;
BackgroundGen.context.textAlign = "center";
BackgroundGen.context.font = '20px "canvas"';
BackgroundGen.context.fillStyle = "rgb(0,0,0)";
BackgroundGen.context.fillText(BackgroundGen.titleText, textXpos, 15);
}
При использовании пользовательского шрифта «canvas» текст вообще не отображается. Если я заменю canvas типичным шрифтом, например, arial, он отображается нормально. Я адаптировал технику загрузки шрифта, прежде чем отображать его на холсте с тегом <div>
в HTML, но до сих пор не радуюсь. Содержимое тега <div>
отображается нормально, правильный шрифт canvas, просто ничего на холсте. Для справки, я использую Chromium v12 и Firefox v6 в Ubuntu.
Чтобы уточнить, консоль JavaScript Chromium не сообщает о каких-либо ошибках, а консоль ошибок Firefox также ничего не сообщает.