* * wrote:
According to MSDN, the "pending" error is to give the calling app a chance to select the matching font back into the DC if the information wasn't cached. I think that the get_script_cache function is broken, in that it should return the pending error if the HDC isn't provided, since the HDC in the cache might no longer have the same font selected. However maybe some applications don't deal with the pending case properly.
The functionality tests ok in Windows the way it is implemented. What you are asking for is not the way it actually works. Having tested a few applications, they all seem to handle the E_PENDING ok. In Windows the cache contains font info to speed up the uniscribe processing so many apps only pass the psc and not the HDC. There is a rule that once you have an script_cache the caller can't change the font. If he does it is his fault and he can fix it. In our case we currently only seek conformance with Windows.
Jeff Latimer