The current logic for implementing the anti-aliased text config option assumes that text is not already anti-aliased unless we turn it on. This isn't true for the Mac. What we really want to do is enforce the current value of the config option, but make the default different under Aqua and the rest of the world.
Note that the default is "on" for the OS X implementation of Metal under 1.3.1, but "off" under 1.4.1. This was a documented change to be more consistent with other Metal implementations. We could choose to differentiate between JDK versions if we wish, but I think it makes more sense to only enable anti-aliasing by default under Aqua for all JDK versions. Also keep in mind that we currently only enforce this option for the DefinitionsPane. We should probably manipulate the relevant system property at startup to ensure that all components act consistently. I'm not sure if this will work as a live update -- I believe there is a mention of this specific situation in the README for the 1.4.1 DP releases. (The details are under NDA, so we probably shouldn't discuss them in this forum.)
If someone other than me implements this feature, please look at the documentation file at drjava/platform/package.html. If it isn't clear enough, please let me know and I will update it.
Logged In: YES
user_id=429731
I put together the original anti-aliasing code in some spare
time, and I have to mention, based on what I've read on the
forums, it is next to *impossible* to enable anti-aliasing
everywhere without overriding the paintComponent method of
*every* component, or using a LookAndFeel like
"smoothmetal", which is availble on SourceForge. That's why
I just did it for the DefinitionsPane.
If there's a good approach to enabling it globally, I'm
interested. On the other hand, if this causes more
headaches than the slight eye candy it provides, I'm ok with
dropping the feature entirely. It never made it to a stable
release anyway.
Logged In: YES
user_id=429731
Something that might help out on the Mac-- apparently
there's a system property for it that you can set globally.
If only it were that easy everywhere else.
com.apple.macosx.AntiAliasedTextOn = true/false
The catch is, I think this is only supposed to be set when
starting up, but I'm not sure. There's some info on it in
the OS X Java documentation.