Bug#866685: libfreetype6: full hinting ignored

2018-08-29 Thread Antoine Beaupré
On 2018-08-22 17:20:56, Antoine Beaupre wrote:
> I have yet to read the upstream article about the v40 rendering. Maybe
> it's just me being picky and too conservative. Maybe I'm just reacting
> badly to a change that is good. But to my eyes, the new font rendering
> is much blurrier than it should be, and I don't see what can justify
> this.

I have reviewed the article in question, and I'm not convinced. It looks
like this was done to work with newer ClearType fonts from Microsoft,
but it doesn't look as good on Liberation. In the article, the examples
given are the Consolas and Georgia fonts, two proprietary fonts from
Microsoft which are not even available for download (let alone
distribution). And sure, in those screenshots the display actually looks
better. But install the freetype-demos package (which I found out from
that article, great!) and try this:


FREETYPE_PROPERTIES="truetype:interpreter-version=35" ftview 16 
./truetype/liberation/LiberationMono-Regular.ttf &
FREETYPE_PROPERTIES="truetype:interpreter-version=40" ftview 16 
./truetype/liberation/LiberationMono-Regular.ttf &


Spoilers: I really think the original renderer does a better job. The
whole argument behind the article is that the original rendering is
"pixely", but the new rendering is pixely as well! It's just more
blurry.

So I am really not convinced this is an improvement, and I think a bug
should be filed upstream on this.

A.

-- 
We have no friends but the mountains.
- Kurdish saying


Bug#866685: libfreetype6: full hinting ignored

2018-08-22 Thread Antoine Beaupre
On Mon, Jul 03, 2017 at 01:57:24PM +1200, Ben Caradoc-Davies wrote:
> On 01/07/17 17:21, Sven Joachim wrote:
> > This is an effect of the subpixel hinting mode which is enabled since
> > freetype 2.7.  Setting FREETYPE_PROPERTIES=truetype:interpreter-version=35
> > in the environment should help, at least it did for me.
> 
> Thanks very much, Sven. I did not appreciate that the so-called subpixel
> changes are an entirely new interpreter that is now used by default even
> when subpixel hinting is turned off.

I agree with that! It was quite a surprise to see my carefully crafted
terminal font become all blurry and fuzzy. I spent quite a bit of time
meddling around with the `fontconfig-config` settings matrix to figure
out what was wrong, until I found this bug. I would *also* have expected
this to be changeable through the debconf menus, or at least visible in
the NEWS notice (which I have also read).

I have made a screenshot (attached) of my different experiments in
trying to revert to the original rendering. In the end, I picked the
"Native autohinter, Full hinting, Automatic subpixel rendering, No
bitmapped fonts" setting in fontconfig-config, with the workaround, to
get the rendering I wanted. It's slightly different than the original
rendering, as the box size is more compact, but I prefer it that way.
The "Always subpixel" setting is the setting I seem to have had in
stretch.

I have yet to read the upstream article about the v40 rendering. Maybe
it's just me being picky and too conservative. Maybe I'm just reacting
badly to a change that is good. But to my eyes, the new font rendering
is much blurrier than it should be, and I don't see what can justify
this.

Maybe this looks better on a 300dpi display, but unfortunately, I'm
still in the previous decade here. ;)

Thanks!

A.

-- 
The fundamental cause of the trouble is that in the modern world the
stupid are cocksure while the intelligent are full of doubt.
   - Bertrand Russell, The Triumph of Stupidity, 1933


signature.asc
Description: PGP signature


Bug#866685: libfreetype6: full hinting ignored

2017-07-14 Thread Corey Hickey

Hi,

I ran into this change and found it disconcerting overall. Since it's an 
upstream change, I don't necessarily expect it to be fixed here, but 
I'll report some of what I learned in the hope that it may be generally 
useful.


There's a detailed description here:
https://www.freetype.org/freetype2/docs/subpixel-hinting.html

In my case, the particularly confusing part was due to upgrading 
fontconfig-config and freetype6 at the same time. When I saw the change 
in fonts, I examined the apt log to see what I had just upgraded, found 
fontconfig-config, and reconfigured it. fontconfig-config clearly 
described a change and how to revert to earlier behavior by changing the 
hinting style, but changing that option to "Full" did nothing. 
Eventually I found and researched the libfreetype6 upgrade and arrived 
at this bug.


I might be able to live with the new font rendering in general. It looks 
rather different in many cases, but overall maybe not worse. I'm rather 
particular about my terminal font, though--I selected it specifically 
because it gives crisp, compact text without being too small to be 
readable. I use:


Bitstream Vera Sans Mono:pixelsize=15

With the v35 renderer and full hinting enabled, the lines of the font 
("strokes"?) end up a single pixel wide, with minimal antialiasing to 
smooth them out.


I tried starting terminals with the following fonts in each of the 
renderers simultaneously. I set it up so that I wouldn't know which 
render was in use until I checked, so as to avoid any inherent bias on 
my part.


DejaVu Sans Mono:style=Book
Liberation Mono:style=Regular
Hack:style=Regular
Inconsolata:style=Medium
Fira Code:style=Regular
Nimbus Mono L:style=Regular
Fantasque Sans Mono:style=Regular
Anonymous Pro:style=Regular

Fira Code, Numbus Mono L, and Fantasque Sans Mono looked the same 
regardless of renderer. The others all looked crisper and cleaner in the 
v35 renderer. In general, I'm trying to get used to the new font 
rendering, but I spend so much time in front of terminals that I need to 
stick to a font that works very well, and the v35 renderer does that.


-Corey



Bug#866685: libfreetype6: full hinting ignored

2017-07-02 Thread Ben Caradoc-Davies

On 01/07/17 17:21, Sven Joachim wrote:

This is an effect of the subpixel hinting mode which is enabled since
freetype 2.7.  Setting FREETYPE_PROPERTIES=truetype:interpreter-version=35
in the environment should help, at least it did for me.


Thanks very much, Sven. I did not appreciate that the so-called subpixel 
changes are an entirely new interpreter that is now used by default even 
when subpixel hinting is turned off. I can confirm that adding the 
following to my $HOME/.config/xfce4/xinitrc restores the full hinting 
that was the default in libfreetype6 2.6:


export FREETYPE_PROPERTIES="truetype:interpreter-version=35"

Kind regards,

--
Ben Caradoc-Davies 
Director
Transient Software Limited 
New Zealand



Bug#866685: libfreetype6: full hinting ignored

2017-06-30 Thread Sven Joachim
On 2017-07-01 13:20 +1200, Ben Caradoc-Davies wrote:

> Please find attached two Thunar screenshots that exhibit the
> problem. Both were produced with identical font settings,
> example-2.6.png with libfreetype6 2.6, and example-2.8 with
> libfreetype6 2.8. The user interface and window title font is
> Liberation Sans, and the terminal font is DejaVu Sans Mono. The effect
> with 2.8 looks like 2.6 with hinting set to none.

This is an effect of the subpixel hinting mode which is enabled since
freetype 2.7.  Setting FREETYPE_PROPERTIES=truetype:interpreter-version=35
in the environment should help, at least it did for me.

See /usr/share/doc/libfreetype6/CHANGES.gz for all the gory details.

Cheers,
   Sven



Bug#866685: libfreetype6: full hinting ignored

2017-06-30 Thread Ben Caradoc-Davies
Package: libfreetype6
Version: 2.8-0.2
Severity: normal

Dear Maintainer,

upgrading to libfreetype6 2.8-0.2 causes full hinting to be ignored. Tested on 
Liberation Sans and Deja Vu Sans Mono under XFCE, with effects seen in both 
GTK2 (full hinting set in XFCE desktop appearance) and GTK3 (full hinting set 
in user fonts.conf). Downgrading to 2.6.3-3.2 fixes the failure.

Kind regards,
Ben.


-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-3-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libfreetype6 depends on:
ii  libc62.24-12
ii  libpng16-16  1.6.29-3
ii  zlib1g   1:1.2.8.dfsg-5

libfreetype6 recommends no packages.

libfreetype6 suggests no packages.

-- no debconf information