Recent

Author Topic: LCD font hinting setting on a multi-monitor setup  (Read 1842 times)

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
LCD font hinting setting on a multi-monitor setup
« on: November 27, 2016, 11:28:20 pm »
Hi,

I'm developing with a 3 monitor setup. All were in landscape mode and
everything was fine. Yesterday I decided to rotate the two outer
monitors into portrait mode. Since I've done that I've noticed that text
now appear slightly blurry.

I imagine the reason being because I have LCD anti-aliasing / hinting
enabled and the physical LCD monitor pixels are arranged in horizontal
RGB order. Rotating the monitors by 90° means I need to tell the font
rendering library (in this case FreeType2) that the physical pixels are
now in a different order.

Here is my current ~/.fonts.conf setting for that:

Code: XML  [Select][+][-]
  1.   <!-- values are 0-5: unknown, rgb, bgr, vrgb, vbgr, none  -->
  2.   <match target="font">
  3.     <edit mode="assign" name="rgba">
  4.       <const>rgb</const>
  5.     </edit>
  6.   </match>
  7.  

Simply changing the value to "vrgb" fixes the problem for the outer two
monitors, but then my center monitor (still in landscape orientation)
renders blurry text.

Finally my question. Anybody know if you can specify different LCD
Hinting settings for different monitors in a multi-monitor setup? I'm
using X11 under FreeBSD, but the same issue should apply to any Linux
running X11 too.

As a compromise, if I change the above setting to "unknown", it then
renders the font hinting in grayscale, and that doesn't actually look to
bad for all three monitors. LCD hinting (color hinting) is slightly
sharper, but the grayscale at least doesn't make the outer monitors look
blurry.

Anybody found a way to tweak the font hinting in such a monitor
arrangement (where you have both landscape and portrait monitors)?

Regards,
  Graeme
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

 

TinyPortal © 2005-2018