<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fabien.menager</id>
	<title>WHATWG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fabien.menager"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/wiki/Special:Contributions/Fabien.menager"/>
	<updated>2026-04-05T03:53:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Text_in_Canvas&amp;diff=3641</id>
		<title>Text in Canvas</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Text_in_Canvas&amp;diff=3641"/>
		<updated>2009-04-22T12:48:50Z</updated>

		<summary type="html">&lt;p&gt;Fabien.menager: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Currently, the Canvas API does not include the ability to draw text strings. That makes several potential Canvas applications, such as dynamic graphs or maps, more complex than necessary. Instead of using the text facilities of the platform, Canvas applications need to bundle their own vector fonts or use inaccessible pre-rendered images for text display. Thus, using Canvas it is unattractive for authors and users are forced to use a proprietary plugin (Flash) for some applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case Description ==&lt;br /&gt;
&lt;br /&gt;
* Maps (Street names, ...)&lt;br /&gt;
* All kinds of graphs needing labels&lt;br /&gt;
* Games (High score, &amp;quot;Game Over&amp;quot; etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Current Limitations ===&lt;br /&gt;
&#039;&#039;Explanation of why the current markup is insufficient.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Possible workarounds and the associated problems are described in great detail at http://canvaspaint.org/blog/2006/12/rendering-text/&lt;br /&gt;
&lt;br /&gt;
Executive Summary:&lt;br /&gt;
&lt;br /&gt;
* Images are large and do not scale&lt;br /&gt;
* Vector fonts are large, too&lt;br /&gt;
&lt;br /&gt;
Moreover, the workarounds make accessibility more difficult, and authors need to worry about font copyright, normally addressed by the users operating system vendor&lt;br /&gt;
&lt;br /&gt;
=== Current Usage and Workarounds ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Some evidence that this feature is desperately needed on the web.  You may provide a separate examples page for listing these.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* http://osteele.com/sources/javascript/docs/textcanvas&lt;br /&gt;
* http://canvaspaint.org/blog/2006/12/rendering-text/&lt;br /&gt;
* http://www.random.abrahamjoffe.com.au/public/JavaScripts/canvas/fontGenerator.htm&lt;br /&gt;
* http://minijoe.com/ota/emulator?sid=canvasoids&lt;br /&gt;
* http://minijoe.com/ota/emulator?sid=canvasout&lt;br /&gt;
* http://code.google.com/p/canvas-text/ A full implementation of the spec for any browser&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Explanation of how and why new markup would be useful.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The problems described in &amp;quot;Current Limitations&amp;quot; would disappear :)&lt;br /&gt;
&lt;br /&gt;
=== Requests for this Feature ===&lt;br /&gt;
&lt;br /&gt;
* http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2006-October/007363.html&lt;br /&gt;
* http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2006-June/006527.html&lt;br /&gt;
&lt;br /&gt;
== Proposed Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== My Solution ===&lt;br /&gt;
:&#039;&#039;Brief description of the solution and of how it address the problem at hand.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
see http://rhino-canvas.sourceforge.net/www/drawstring.html#api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Processing Model ====&lt;br /&gt;
:&#039;&#039;Explanation of the changes introduced by this solution. It explains how the document is processed, and how errors are handled. This should be very clear, including things such as event timing if the solution involves events, how to create graphs representing the data in the case of semantic proposals, etc.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Limitations ==== &lt;br /&gt;
:&#039;&#039;Cases not covered by this solution in relation to the problem description; other problems with this solution, if any.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Implementation ==== &lt;br /&gt;
:&#039;&#039;Description of how and why browser vendors would take advantage of this feature.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Adoption ==== &lt;br /&gt;
:&#039;&#039;Reasons why page authors would use this solution.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Feature Request]]&lt;/div&gt;</summary>
		<author><name>Fabien.menager</name></author>
	</entry>
</feed>