[EMAIL PROTECTED] writes:

> Often things that are only defined for _WIN32_WINNT > 0x0400 are not defined 
> in
> the mingw headers, so we need to provide our own definitions anyway. I do 
> think
> it makes it easier for future developers if we use the standard constant names
> instead of inventing our own though, so
>
> #ifndef SPI_GETFONTSMOOTHINGTYPE
> #define SPI_GETFONTSMOOTHINGTYPE 0x0200A
> #endif

Makes sense.  I just didn't know how close this was, legally speaking,
to copying MS code into GPL'd code, and didn't want to risk it.  But
if you say it's fine, I'm happy.

> Usually the system calls are pretty good about returning an error rather than
> crashing if you try to use an unsupported feature, so a good runtime check is
> to check the return value of the function being called. There are many 
> optional
> addons to Windows 95 that add extra functionality (like full Unicode APIs), so
> checking os_subtype is an inferior test IMHO - like testing system-type 
> instead
> of featurep.
>
> I am worried about the performance impact of making two system calls to query
> the configuration potentially every time a character is output (there is some
> limited caching for ASCII, but Asian and East European languages that use
> completely different scripts especially will suffer). I think performance in
> this case is more important than the rare case where a user changes their
> system settings during an Emacs session and starts seeing the display problems
> (which are really nothing more than a minor annoyance), 

Unless you happen to actually use ClearType, in which case it's
killer.

> so I'd be happier moving the check for Cleartype into
> w32_initialize() and just checking a file scope variable in
> w32_native_per_char_metric()

Is there some appropriate windows event (like "application just came
to the foreground", however you spell that in Wind-ese) that we can
use to check the state and set the global?  That would be close to
perfect.  If not, I'll be happy to check once in w32_initialize.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to