Ian Hickson wrote:
I have introduced the following APIs:
context.font
context.textAlign
context.textBaseline
context.fillText()
context.strokeText()
context.measureText()
They are defined here:
http://www.whatwg.org/specs/web-apps/current-work/#text
I haven't provided a way to render text to or along a path, nor a way to
do vertical text, nor a way to measure anything but the nominal layout
width of text (e.g. there's no way to measure bounding boxes or get
baseline metrics). I also haven't provided a way to render document
fragments straight to a canvas.
Here is some of the feedback on canvas related to text. I have snipped the
feedback that wasn't constructive or didn't provide anything beyond
requests for features without use cases and rationale, or that just
bickered back and forth without making progress. If I snipped something
that you think I should have responded to, please let me know. (I did take
everything into account, even the bits that I haven't included below.)
I haven't made many comments below, because I didn't really have much to
say. There were a lot of proposals and requests, but at the end of the day
there didn't seem to be strong arguments in favour of some things or other
things, so I haven't tried to defend the proposed API I put in the spec
relative to the other APIs that were proposed. (I did take the various
proposals that were made into account, and tried to adopt the best parts
of each one.)
If you have further feedback, please send comments to the list, as usual.
I can't see any mention that support for Text is optional. Is it
reasonable with browsers approaching major releases ?
The TextMetrics MUST return have 2 Float readonly properties : the width
and height. The width alone is not enough.
The methods fillText() and strokeText() could have a 5th optional
boolean argument called wrapText ( false by default ) to specify if the
text should wrap or the font-size be decrease in case the text is wider
than maxWidth.
It is unclear whether the transformations affect the text.
--
Mathieu 'p01' HENRI
JavaScript developer, Opera Software ASA