emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PING] ClearType Patch


From: David Abrahams
Subject: Re: [PING] ClearType Patch
Date: Wed, 08 Jun 2005 11:46:58 -0400
User-agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (windows-nt)

Eli Zaretskii <address@hidden> writes:

>> From: David Abrahams <address@hidden>
>> Date: Wed, 08 Jun 2005 09:45:16 -0400
>> 
>> Sorry to be a pest, but as easy as it was, solving this problem did
>> take significant effort on my part.
>
> Thank you for your work.
>
> However, with only a few days past, you could have waited a few more
> before deciding that your patches were ignored.

Sorry, but I have a lot on my plate, so once I start waiting a few
more days it's likely to drop off my radar screen.

>> So could someone please either render a judgement about how the patch
>> should be changed, or check it in as is, or give me CVS write
>> permission so I can do it myself?
>
> I'm bothered by the funky W32_* macros, so I'd like to hear from
> people who know more than myself about the intricacies of MSVC and
> MinGW whether there's no cleaner way to do this.  Hard-coding macros
> from system headers (that's what those #define's are, right?) 

Yep.

> in Emacs doesn't sound like a good idea to me.

Agreed, but I think the use of -D_WIN32_WINNT=0x0400 on the compiler
command-line may be similarly bad (and is the reason I transcribed
those constants).

> Also, according to what I see in the MinGW headers, I'm not sure I
> understand the problem.  I see SPI_GETFONTSMOOTHING in winuser.h,
> whose definition is unaffected by the value of _WIN32_WINNT.  

I'm compiling with msvc 7.1; I don't know what MinGW does.

> I don't
> see the other two constants in the MinGW headers.  So please explain
> in more detail the problem that caused you to define your own macros:
> what macros you wanted to use, 

SPI_GETFONTSMOOTHING

  This one is in fact available for _WIN32_WINNT == 0x400; I should
  have used it directly.

SPI_GETFONTSMOOTHINGTYPE
FE_FONTSMOOTHINGCLEARTYPE

  These two are only enabled for _WIN32_WINNT >= 0x0501


> where they are defined,

WinUser.h, IIRC

> and why the value of _WIN32_WINNT prevents you from using them.

Because they are #ifdef'd out when _WIN32_WINNT takes certain values.

> Finally, MSDN seems to indicate that SPI_GETFONTSMOOTHINGTYPE is
> unsupported on Windows 9x, so it sounds like your code should be
> disabled for those versions of Windows.

Right, I should use an #ifdef _WIN32_WINNT >= 0x0501 ... except of
course that the build process subverts that by forcing _WIN32_WINNT to
0x400.

> A ChangeLog entry for the patches would also be nice, btw.

I will be happy to write one.  I assume the format to follow is used
in the ChangeLog file at the top of emacs' CVS tree?

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]