[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-dev
Subject:    [webkit-dev] Platform API for Uniscribe/ComplexTextController?
From:       Kevin Ollivier <kevino () theolliviers ! com>
Date:       2009-11-29 18:27:07
Message-ID: 562D1953-F82A-4DD8-99C3-8F801ABAC767 () theolliviers ! com
[Download RAW message or body]

Hi all,

The wx port is starting to look at getting proper support for complex text, and one \
of the first places I started looking at was the Win and Mac port implementations. I \
noticed that the complex text code in FontWin.cpp and FontComplexTextMac.cpp is \
largely the same, passing the heavy lifting down to their respective complex text \
controllers, and I actually wondered if they could be merged if there were some \
tweaks to the APIs to make them compatible.

That led me to wonder if we couldn't make ComplexTextController one of our platform \
classes and have USE() defines to determine the implementation. Then we could move \
the drawComplexText, floatWidthForComplexText, and offsetForPositionForComplexText \
into Font.cpp guarded by that USE() define. The wx port can provide the native font \
handles the Win/Mac controllers need, so it'd really be great if we could just add \
these into our build to get complex text support working without having to implement \
the complex text methods differently for each platform. 

BTW, I actually already did get UniscribeController compiling, actually, but on \
Windows I had to have the build script copy it to platform/graphics/wx because MSVC \
implicitly puts the current directory first on the path, which was causing it to pick \
up platform/graphics/win/FontPlatformData.h instead of the wx one when compiling that \
file. :( So that's something else that would need to be addressed if ports can start \
sharing these files.

Thanks,

Kevin

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic