freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ft-devel] [patch] libXft subpixel hinting no image swap


From: Mario Vergara
Subject: [ft-devel] [patch] libXft subpixel hinting no image swap
Date: Mon, 16 May 2011 17:10:19 -0700 (PDT)

Hi DevTeam,

I would like to submit the attached patch to your consideration.
It solves a problem regarding bad rendering (e.g. 'yellow halo' font background) when subpixel hinting is enabled in libXft and the application runs in a mixed endianness X client-server configuration.
Despite this case being atypical, it can be found in enterprise environments where servers are grouped by function, for example: login, presentation (X servers), batch processing, etc.
Here are the technical details:

1. X client
----------
All X clients run in RHEL 4 x86_64 Linux machines (little endian).
Linux 2.6.9-78.0.17.ELsmp #1 SMP Thu Mar 5 04:58:34 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 7)

2. X server
-----------
All X servers run in Solaris machines (big endian)
SunOS 5.10 Generic_138888-06 sun4u sparc SUNW,Sun-Fire-V440
--------------------------------------------------------------
> xdpyinfo
name of display:    :13.0
version number:    11.0
vendor string:    Citrix Systems Inc
vendor release number:    59809
maximum request size:  4194300 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, MSBFirst, 32
image byte order:    MSBFirst
number of supported pixmap formats:    3
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 207
focus:  window 0x1000003, revert to PointerRoot
number of extensions:    14
    BIG-REQUESTS
    DOUBLE-BUFFER
    Extended-Visual-Information
    GLX
    MIT-SHM
    MIT-SUNDRY-NONSTANDARD
    RECORD
    SECURITY
    SGI-GLX
    SHAPE
    SYNC
    TOG-CUP
    XC-MISC
    XTEST
default screen number:    0
number of screens:    1

screen #0:
  dimensions:    1280x800 pixels (325x203 millimeters)
  resolution:    100x100 dots per inch
  depths (1):    24
  root window id:    0x26
  depth of root window:    24 planes
  number of colormaps:    minimum 1, maximum 1
  default colormap:    0x22
  default number of colormap cells:    256
  preallocated pixels:    black 0, white 16777215
  options:    backing-store NO, save-unders NO
  largest cursor:    32x32
  current input event mask:    0xfa2033
    KeyPressMask             KeyReleaseMask           EnterWindowMask         
    LeaveWindowMask          ButtonMotionMask         StructureNotifyMask     
    SubstructureNotifyMask   SubstructureRedirectMask FocusChangeMask         
    PropertyChangeMask       ColormapChangeMask 
  number of visuals:    1
  default visual id:  0x23
  visual:
    visual id:    0x23
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
-----------------------------------------------------------------

3. Test application
------------------
The application used to test the submitted patch was 'rxvt-unicode' linked to patched versions of Xft and Freetype as follows:

* freetype_2.4.3 + infinality patches:
http://www.infinality.net/files/freetype-add-subpixel-hinting-infinality-20101114-1.patch
http://www.infinality.net/files/freetype-enable-subpixel-hinting-infinality-20100909-1.patch
http://www.infinality.net/files/freetype-entire-infinality-patchset-20101114-1.patch
http://www.infinality.net/files/freetype-filter-envvar-fix-20101117-1.patch

* libXft_2.1.14
http://archive.ubuntu.com/ubuntu/pool/main/x/xft/xft_2.1.14.orig.tar.gz
http://archive.ubuntu.com/ubuntu/pool/main/x/xft/xft_2.1.14-1ubuntu1.diff.gz

patched with:
libXft-2.1.14/debian/patches/001_no_export_freetype.diff
libXft-2.1.14/debian/patches/100-libXft-2.1.10-lcd-filter-3.patch

-> and <-
xft_2.1.14-subpixel-hinting-no-image-swap.patch (attached)


* rxvt-unicode_9.10
http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-9.10.tar.bz2
    
Based on your experience, I wonder if you could review the patch and let me know if it solves a general issue or it is only applicable to my particular case.

I have also attached a sample image of the overall result.

Thanks & BR,

/Mario.


 

Attachment: xft_2.1.14-subpixel-hinting-no-image-swap.patch
Description: Binary data

Attachment: rxvt-unicode_no_image_swap_patch.png
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]