Opened 16 years ago
Closed 16 years ago
#2753 closed bug (invalid)
Subpixel antialiasing doesn't work with hinting on
Reported by: | idefix | Owned by: | stippi |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | User Interface | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | x86 |
Description
When 'Character hinting' is set to 'On', it doesn't matter what "Antialiasing type" is set to: the font rendering is the same.
Only when 'Character hinting' is set to 'Off', you'll see different font rendering: see attached screenshots of Appearance.
Tested with hrev27600 under VMware.
Attachments (5)
Change History (25)
by , 16 years ago
Attachment: | Gray-on.png added |
---|
by , 16 years ago
Attachment: | Gray-off.png added |
---|
Grayscale antialiasing with character hinting off.
comment:1 by , 16 years ago
Status: | new → assigned |
---|
You have to enable patented code in libfreetype for it to work with hinting on. See headers/libs/freetype2/freetype/config/ftoption.h for more info. In another words, you have to build your own Haiku image, since this option is not enabled in the source repository. The preflet should mention this, so I leave the bug open.
comment:2 by , 16 years ago
Shouldn't the option better be removed (or at least disabled) depending on whether or not you compiled support for this into freetype? You could just include the ftoption.h header, and check for it.
comment:3 by , 16 years ago
Yes, that's what I am doing right now. :-) That's why I assigned the bug to me and didn't close it. :-)
comment:5 by , 16 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Uhm yes, but this 'fix' completely removes all the options.
I mainly use Haiku with hinting off: on my LCD-monitor with Subpixel antialiasing on and on my CRT-monitor with Grayscale antialiasing. Now I can't choose these options anymore.
A much better solution would have been to allow the 'Subpixel+hinting'-option, but display a text in the space under the controls describing why this option doesn't work.
comment:6 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
The option is shown only when you've compiled that feature in. No need to bother you if it's not available anyway, and no one asks you to build Haiku yourself either.
comment:7 by , 16 years ago
Ok, fixed again in hrev27653. As idefix is pointing out, only a certain combination of features is unavailable. As seems to be the case for him, some people like to hurt their eyes and have fonts blurry by disabling hinting. That of course makes glyph shapes more truthfully to the font, the same philosophy is witnessed by MacOS X on-screen font rendering... <shrug>
;-)
comment:10 by , 16 years ago
Platform: | All → x86 |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
Uncommented line in headers/libs/freetype2/freetype/config/ftoption.h but both hinting and LCD subpixel antialiasing set to on leaves fonts only grayscale even if filter strength is set to off see screenshot attachment.
comment:11 by , 16 years ago
forgot to mention rev 28589, maybe a mandatory trac field would be handy
comment:12 by , 16 years ago
I can assure you it works, because I use it all the time. What option exactly have you enabled?
comment:13 by , 16 years ago
I uncommented /* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
in http://svn.berlios.de/svnroot/repos/haiku/haiku/trunk/headers/libs/freetype2/freetype/config/ftoption.h and rebuild Haiku.
The message about the MS patent in Appearance is now gone but as you can see from the screenshot fonts are still rendered grayscale only. With hinting off I can clearly see LCD subpixel does work.
comment:14 by , 16 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
You need to remove all previous FreeType objects before building it after this change. Ie. a "rm -rf generated/objects/haiku/x86/release/libs/freetype2" should do the trick.
comment:15 by , 16 years ago
Yes, it works after I deleted the objects, thanks. It looks better then great, that means terrific!
comment:16 by , 16 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
Looks like changeset:28837 broke Subpixel antialiasing, text is always rendered with Grayscale antialiasing.
Tested with hrev28862.
comment:17 by , 16 years ago
Just a note: It's generally considered bad practice to re-open old bugs for new regressions.
follow-up: 19 comment:18 by , 16 years ago
rev 28859 subpixel anti-aliasing is working correctly looks like it wasn't changeset:28837
comment:19 by , 16 years ago
Replying to umccullough:
Just a note: It's generally considered bad practice to re-open old bugs for new regressions.
Sorry, I won't do that again.
Replying to nutela:
rev 28859 subpixel anti-aliasing is working correctly looks like it wasn't changeset:28837
You're right, I made a mistake here. Subpixel antialiasing is working correctly with hrev28886.
This ticket can be closed again. This time for good! :)
comment:20 by , 16 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
Grayscale antialiasing with character hinting on.