On Mar 18, 2006, at 4:05 PM, Mike Emmel wrote:

On 3/18/06, David Hyatt <[EMAIL PROTECTED]> wrote:
You are not intended to initialize the native binding in the Font
constructor.  The "native" side is created lazily when the properties
of the font are queried.  Font is still in flux though (there are
more changes coming to the Mac side that will make the design a bit
more clear).

dave

Okay but I'm not sure why not ..  in any case that decision should be
left to the implementor I'd think.

Fonts are created for all objects in the RenderTree. This includes objects that do not use the font values for anything. Here's an example:

<img style="font-weight:bold; font-size:36px; display:block">

This image has a Font object that knows it is 36px and bold, but do you really want to create and access a native font resource when the font is effectively never going to be used? The answer (for obvious performance reasons) is no.

The design is that Font is a promise. If you start asking it for actual metrics or to paint, then at that time the native font data should be accessed as needed.

I'm happy to wait for the changes  your
speaking of  but this is a good example were a bit of design
documentation would be useful IMHO.


Yeah. Keep in mind Font is extremely young and in a state of flux. A lot of the design/classes are just now emerging (e.g., FontDataSet, etc.) and more of the Mac code is going to move over to this new design and become cross-platform.

I would advise doing what we did on Win32 (see FontWin.cpp) and (for now) just hack an implementation that does very basic text and then move on to something else. If you wait a bit you'll find a lot more of the functionality will have become cross-platform, and then you'll have to do a lot less work.

dave
([EMAIL PROTECTED])

_______________________________________________
webkit-dev mailing list
[email protected]
http://www.opendarwin.org/mailman/listinfo/webkit-dev

Reply via email to