* * wrote:
"If the device context is passed as NULL and Uniscribe needs to access
it for any reason, Uniscribe returns the error code E_PENDING. This
code is returned quickly, allowing the application to avoid
time-consuming SelectObject calls."
Whereas the current implementation will silently access an HDC even if
the application passed NULL, which means the application doesn't get a
chance to SelectObject the right font.
I have checked how this works by not selecting a font before the first
ScriptShape. The test run works as as specified and Windows did not
return E_PENDING in this case. My reading of uniscribe is that its not
too fussy about what fonts you use and accepts what ever the default is
in the HDC. The key thing is that once you have initialised a
Script_Cache from a HDC then the font can't be changed cache.
Jeff