내 HTML 문서는 다음과 같습니다HTML5 캔버스 CSS3의 @ font-face를 사용하여 텍스트를 표시하지 않습니다
는<!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>
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);
}
하는 사용자 정의를 사용하는 경우 "캔버스"글꼴, 텍스트가 전혀 표시되지 않습니다. 예를 들어 arial과 같이 일반적인 글꼴로 캔버스를 대체하면 잘 표시됩니다. 필자는 HTML에서 <div>
태그를 사용하여 캔버스에 글꼴을 표시하기 전에 글꼴을로드하는 기술을 적용했지만 여전히 기쁨은 없습니다. <div>
태그의 내용은 적절한 캔버스 글꼴을 표시하며 캔버스에는 아무 것도 표시되지 않습니다. 기록을 위해 우분투에서 Chromium v12와 Firefox v6를 실행하고 있습니다.
분명히하기 위해 Chromium의 자바 스크립트 콘솔은 오류를보고하지 않으며 Firefox의 오류 콘솔에서도 아무 것도보고하지 않습니다.
참조 http://stackoverflow.com/questions/2756575/drawing-text-to-canvas-with-font-face-does-not-work-at-the-first-time/8223555#8223555 –