Hi all,
I'm using Microsoft Office 2002 under wine. According to the instructions here:
http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-an...
...I've enabled font anti-aliasing, and it does work for fonts above a particular point size. However, it seems to turn itself off below a certain size. How can I configure the minimum font size at which to allow anti-aliasing?
I've looked through the wine source and didn't see any obvious references to font size in the anti-aliasing-related code.
Thanks,
Avery
On Thu, Dec 3, 2009 at 4:02 PM, Avery Pennarun apenwarr@gmail.com wrote:
Hi all,
I'm using Microsoft Office 2002 under wine. According to the instructions here:
http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-an...
...I've enabled font anti-aliasing, and it does work for fonts above a particular point size. However, it seems to turn itself off below a certain size. How can I configure the minimum font size at which to allow anti-aliasing?
Try changing the dpi in winecfg.
On Thu, Dec 3, 2009 at 5:37 PM, Austin English austinenglish@gmail.com wrote:
On Thu, Dec 3, 2009 at 4:02 PM, Avery Pennarun apenwarr@gmail.com wrote:
I'm using Microsoft Office 2002 under wine. According to the instructions here:
http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-an...
...I've enabled font anti-aliasing, and it does work for fonts above a particular point size. However, it seems to turn itself off below a certain size. How can I configure the minimum font size at which to allow anti-aliasing?
Try changing the dpi in winecfg.
Heh. Well, that seems to work, in that 10pt fonts are now anti-aliased, except it happens because my 10pt fonts are much bigger than before :) That's not quite what I was looking for.
It seems like the anti-alias feature is disabled based on the *pixel* size of the font?
Avery
Avery Pennarun wrote:
On Thu, Dec 3, 2009 at 5:37 PM, Austin English austinenglish@gmail.com wrote:
On Thu, Dec 3, 2009 at 4:02 PM, Avery Pennarun apenwarr@gmail.com wrote:
I'm using Microsoft Office 2002 under wine. According to the instructions here:
http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-an...
...I've enabled font anti-aliasing, and it does work for fonts above a particular point size. However, it seems to turn itself off below a certain size. How can I configure the minimum font size at which to allow anti-aliasing?
Try changing the dpi in winecfg.
Heh. Well, that seems to work, in that 10pt fonts are now anti-aliased, except it happens because my 10pt fonts are much bigger than before :) That's not quite what I was looking for.
It seems like the anti-alias feature is disabled based on the *pixel* size of the font?
Avery
I am not sure if this is the case here, but often the fonts themselves actually set a minimum size for anti-aliasing. The font designer decides at what point the anti-aliasing would degrade the usability of the glyphs and turns it off. I know this is the case with many Asian fonts.
Have you tried with other fonts? Maybe you need to find a small character font designed for point sizes 10 and below.
-aric
On Thu, Dec 3, 2009 at 7:33 PM, Aric Stewart aric@codeweavers.com wrote:
Avery Pennarun wrote:
On Thu, Dec 3, 2009 at 5:37 PM, Austin English austinenglish@gmail.com wrote:
On Thu, Dec 3, 2009 at 4:02 PM, Avery Pennarun apenwarr@gmail.com wrote:
I'm using Microsoft Office 2002 under wine. According to the instructions here:
http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-an...
...I've enabled font anti-aliasing, and it does work for fonts above a particular point size. However, it seems to turn itself off below a certain size. How can I configure the minimum font size at which to allow anti-aliasing?
Try changing the dpi in winecfg.
Heh. Well, that seems to work, in that 10pt fonts are now anti-aliased, except it happens because my 10pt fonts are much bigger than before :) That's not quite what I was looking for.
It seems like the anti-alias feature is disabled based on the *pixel* size of the font?
I am not sure if this is the case here, but often the fonts themselves actually set a minimum size for anti-aliasing. The font designer decides at what point the anti-aliasing would degrade the usability of the glyphs and turns it off. I know this is the case with many Asian fonts.
Have you tried with other fonts? Maybe you need to find a small character font designed for point sizes 10 and below.
Hmm... good point. So I just tried Times New Roman (Italic) in Excel 2002.
Results in Windows XP:
- Smoothing:Standard - no anti-aliasing up to 15pt, anti-aliasing starting at 16pt - Smoothing:Cleartype - always anti-aliased (and looks great even on my CRT)
Results in Wine (regardless of FontSmoothing=1/2 or FontSmoothingType=1/2):
- no anti-aliasing up to 15pt; anti-aliasing starting at 16pt
So is the problem just that cleartype isn't kicking in at all sizes, just because the font requests that anti-aliasing doesn't kick in? What part of the system is responsible for making this decision? Maybe it's not wine, which is why it's so hard to find it in the source code :)
Thanks,
Avery
I think some time ago this was explained as a NOTABUG in freetype, which actually obeys the font's preferences and if the font supplies special images for smaller font sizes, it uses them WITHOUT aliasing them, which seems logical. Windows seems to lazily alias everything.
If you can find a way to disable embedded bitmaps it might help. The related bug is at https://savannah.nongnu.org/bugs/?func=detailitem&item_id=21205
Mike.
On Thu, Dec 3, 2009 at 8:41 PM, Avery Pennarun apenwarr@gmail.com wrote:
On Thu, Dec 3, 2009 at 7:33 PM, Aric Stewart aric@codeweavers.com wrote:
Avery Pennarun wrote:
On Thu, Dec 3, 2009 at 5:37 PM, Austin English austinenglish@gmail.com wrote:
On Thu, Dec 3, 2009 at 4:02 PM, Avery Pennarun apenwarr@gmail.com wrote:
I'm using Microsoft Office 2002 under wine. According to the instructions here:
http://www.wine-reviews.net/wine-reviews/tips-n-tricks/how-to-enable-font-an...
...I've enabled font anti-aliasing, and it does work for fonts above a particular point size. However, it seems to turn itself off below a certain size. How can I configure the minimum font size at which to allow anti-aliasing?
Try changing the dpi in winecfg.
Heh. Well, that seems to work, in that 10pt fonts are now anti-aliased, except it happens because my 10pt fonts are much bigger than before :) That's not quite what I was looking for.
It seems like the anti-alias feature is disabled based on the *pixel* size of the font?
I am not sure if this is the case here, but often the fonts themselves actually set a minimum size for anti-aliasing. The font designer decides at what point the anti-aliasing would degrade the usability of the glyphs and turns it off. I know this is the case with many Asian fonts.
Have you tried with other fonts? Maybe you need to find a small character font designed for point sizes 10 and below.
Hmm... good point. So I just tried Times New Roman (Italic) in Excel 2002.
Results in Windows XP:
- Smoothing:Standard - no anti-aliasing up to 15pt, anti-aliasing
starting at 16pt
- Smoothing:Cleartype - always anti-aliased (and looks great even on my CRT)
Results in Wine (regardless of FontSmoothing=1/2 or FontSmoothingType=1/2):
- no anti-aliasing up to 15pt; anti-aliasing starting at 16pt
So is the problem just that cleartype isn't kicking in at all sizes, just because the font requests that anti-aliasing doesn't kick in? What part of the system is responsible for making this decision? Maybe it's not wine, which is why it's so hard to find it in the source code :)
Thanks,
Avery
On Thu, Dec 3, 2009 at 10:31 PM, Mike Kaplinskiy mike.kaplinskiy@gmail.com wrote:
I think some time ago this was explained as a NOTABUG in freetype, which actually obeys the font's preferences and if the font supplies special images for smaller font sizes, it uses them WITHOUT aliasing them, which seems logical. Windows seems to lazily alias everything.
If you can find a way to disable embedded bitmaps it might help. The related bug is at https://savannah.nongnu.org/bugs/?func=detailitem&item_id=21205
Hmm, thanks for the link. If I understand correctly, that only seems to be important for the newer "cleartype" fonts. I'm just using plain Times New Roman.
Updated information: if I load up gedit (the gnome text editor) and tell it to use Times New Roman 12, it *is* anti-aliased (depending on my settings in gnome-control-center). However, the exact same font isn't anti-aliased in wine.
Does wine use fontconfig to pick up this stuff?
Avery
Avery Pennarun wrote:
On Thu, Dec 3, 2009 at 10:31 PM, Mike Kaplinskiy mike.kaplinskiy@gmail.com wrote:
I think some time ago this was explained as a NOTABUG in freetype, which actually obeys the font's preferences and if the font supplies special images for smaller font sizes, it uses them WITHOUT aliasing them, which seems logical. Windows seems to lazily alias everything.
If you can find a way to disable embedded bitmaps it might help. The related bug is at https://savannah.nongnu.org/bugs/?func=detailitem&item_id=21205
Hmm, thanks for the link. If I understand correctly, that only seems to be important for the newer "cleartype" fonts. I'm just using plain Times New Roman.
Updated information: if I load up gedit (the gnome text editor) and tell it to use Times New Roman 12, it *is* anti-aliased (depending on my settings in gnome-control-center). However, the exact same font isn't anti-aliased in wine.
Does wine use fontconfig to pick up this stuff?
Avery
All our glyphs come from freetype directly. So it is the freetype library that makes that decision.
A quick search on freetype and cleartype shows this http://david.freetype.org/cleartype-patents.html
Looks like it is a big patent mess.
But in short I do not think this is a wine issue but more a freetype issue. It looks like there are special parameters that could be passed to FT_Open_Face to force hinting (looking at the freetype release notes). But that would require a bit more investigation if you are interested. And then you would have to prove when windows does this.
thanks! -aric