<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:verdana,helvetica,sans-serif;font-size:10pt"><div>Hi DevTeam<font size="2">,<br><br>I would like to submit the attached patch to your consideration.<br>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 endian X client-server configuration.<br>This case is quite atypical but it can be found in enterprise environments 
where servers are grouped by function, for example: login, presentation 
(X servers), batch processing, etc.<br>Here are the technical details:<br><br>1. X client<br>----------<br>All X clients run in RHEL 4 x86_64 Linux machines (little endian).<br>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<br>Red Hat Enterprise Linux AS release 4 (Nahant Update 7)<br><br>2. X
 server<br>-----------<br>All X servers run in Solaris machines (big endian)<br>SunOS 5.10 Generic_138888-06 sun4u sparc SUNW,Sun-Fire-V440<br>--------------------------------------------------------------<br>&gt; xdpyinfo<br>name of display:&nbsp;&nbsp;&nbsp; :13.0<br>version number:&nbsp;&nbsp;&nbsp; 11.0<br>vendor string:&nbsp;&nbsp;&nbsp; Citrix Systems Inc<br>vendor release number:&nbsp;&nbsp;&nbsp; 59809<br>maximum request size:&nbsp; 4194300 bytes<br>motion buffer size:&nbsp; 256<br>bitmap unit, bit order, padding:&nbsp;&nbsp;&nbsp; 32, MSBFirst, 32<br>image byte order:&nbsp;&nbsp;&nbsp; MSBFirst<br>number of supported pixmap formats:&nbsp;&nbsp;&nbsp; 3<br>supported pixmap formats:<br>&nbsp;&nbsp;&nbsp; depth 1, bits_per_pixel 1, scanline_pad 32<br>&nbsp;&nbsp;&nbsp; depth 8, bits_per_pixel 8, scanline_pad 32<br>&nbsp;&nbsp;&nbsp; depth 24, bits_per_pixel 32, scanline_pad 32<br>keycode range:&nbsp;&nbsp;&nbsp; minimum 8, maximum
 207<br>focus:&nbsp; window 0x1000003, revert to PointerRoot<br>number of extensions:&nbsp;&nbsp;&nbsp; 14<br>&nbsp;&nbsp;&nbsp; BIG-REQUESTS<br>&nbsp;&nbsp;&nbsp; DOUBLE-BUFFER<br>&nbsp;&nbsp;&nbsp; Extended-Visual-Information<br>&nbsp;&nbsp;&nbsp; GLX<br>&nbsp;&nbsp;&nbsp; MIT-SHM<br>&nbsp;&nbsp;&nbsp; MIT-SUNDRY-NONSTANDARD<br>&nbsp;&nbsp;&nbsp; RECORD<br>&nbsp;&nbsp;&nbsp; SECURITY<br>&nbsp;&nbsp;&nbsp; SGI-GLX<br>&nbsp;&nbsp;&nbsp; SHAPE<br>&nbsp;&nbsp;&nbsp; SYNC<br>&nbsp;&nbsp;&nbsp; TOG-CUP<br>&nbsp;&nbsp;&nbsp; XC-MISC<br>&nbsp;&nbsp;&nbsp; XTEST<br>default screen number:&nbsp;&nbsp;&nbsp; 0<br>number of screens:&nbsp;&nbsp;&nbsp; 1<br><br>screen #0:<br>&nbsp; dimensions:&nbsp;&nbsp;&nbsp; 1280x800 pixels (325x203 millimeters)<br>&nbsp; resolution:&nbsp;&nbsp;&nbsp; 100x100 dots per inch<br>&nbsp; depths (1):&nbsp;&nbsp;&nbsp; 24<br>&nbsp; root window id:&nbsp;&nbsp;&nbsp; 0x26<br>&nbsp; depth of root window:&nbsp;&nbsp;&nbsp; 24
 planes<br>&nbsp; number of colormaps:&nbsp;&nbsp;&nbsp; minimum 1, maximum 1<br>&nbsp; default colormap:&nbsp;&nbsp;&nbsp; 0x22<br>&nbsp; default number of colormap cells:&nbsp;&nbsp;&nbsp; 256<br>&nbsp; preallocated pixels:&nbsp;&nbsp;&nbsp; black 0, white 16777215<br>&nbsp; options:&nbsp;&nbsp;&nbsp; backing-store NO, save-unders NO<br>&nbsp; largest cursor:&nbsp;&nbsp;&nbsp; 32x32<br>&nbsp; current input event mask:&nbsp;&nbsp;&nbsp; 0xfa2033<br>&nbsp;&nbsp;&nbsp; KeyPressMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KeyReleaseMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EnterWindowMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; LeaveWindowMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ButtonMotionMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StructureNotifyMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; SubstructureNotifyMask&nbsp;&nbsp;
 SubstructureRedirectMask FocusChangeMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; PropertyChangeMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ColormapChangeMask&nbsp; <br>&nbsp; number of visuals:&nbsp;&nbsp;&nbsp; 1<br>&nbsp; default visual id:&nbsp; 0x23<br>&nbsp; visual:<br>&nbsp;&nbsp;&nbsp; visual id:&nbsp;&nbsp;&nbsp; 0x23<br>&nbsp;&nbsp;&nbsp; class:&nbsp;&nbsp;&nbsp; TrueColor<br>&nbsp;&nbsp;&nbsp; depth:&nbsp;&nbsp;&nbsp; 24 planes<br>&nbsp;&nbsp;&nbsp; available colormap entries:&nbsp;&nbsp;&nbsp; 256 per subfield<br>&nbsp;&nbsp;&nbsp; red, green, blue masks:&nbsp;&nbsp;&nbsp; 0xff0000, 0xff00, 0xff<br>&nbsp;&nbsp;&nbsp; significant bits in color specification:&nbsp;&nbsp;&nbsp; 8 bits<br>-----------------------------------------------------------------<br><br>3. Test application<br>------------------<br>The application used to test the submitted patch was 'rxvt-unicode' linked to patched versions of Xft and
 Freetype as follows:<br><br>* freetype_2.4.3 + infinality patches:<br><span><a rel="nofollow" target="_blank" href="http://www.infinality.net/files/freetype-add-subpixel-hinting-infinality-20101114-1.patch"><span class="yshortcuts" id="lw_1305672071_0">http://www.infinality.net/files/freetype-add-subpixel-hinting-infinality-20101114-1.patch</span></a></span><br><span><a rel="nofollow" target="_blank" href="http://www.infinality.net/files/freetype-enable-subpixel-hinting-infinality-20100909-1.patch"><span class="yshortcuts" id="lw_1305672071_1">http://www.infinality.net/files/freetype-enable-subpixel-hinting-infinality-20100909-1.patch</span></a></span><br><span><a rel="nofollow" target="_blank" href="http://www.infinality.net/files/freetype-entire-infinality-patchset-20101114-1.patch"><span class="yshortcuts" id="lw_1305672071_2">http://www.infinality.net/files/freetype-entire-infinality-patchset-20101114-1.patch</span></a></span><br><span><a
 rel="nofollow" target="_blank" href="http://www.infinality.net/files/freetype-filter-envvar-fix-20101117-1.patch"><span class="yshortcuts" id="lw_1305672071_3">http://www.infinality.net/files/freetype-filter-envvar-fix-20101117-1.patch</span></a></span><br><br>*
 libXft_2.2.0<br><span><a rel="nofollow" target="_blank" href="http://archive.ubuntu.com/ubuntu/pool/main/x/xft/xft_2.1.14.orig.tar.gz"><span class="yshortcuts" id="lw_1305672071_4"></span></a></span><span><a rel="nofollow" target="_blank" href="http://archive.ubuntu.com/ubuntu/pool/main/x/xft/xft_2.1.14-1ubuntu1.diff.gz"><span class="yshortcuts" id="lw_1305672071_5"></span></a></span><span><a target="_blank" href="https://launchpad.net/ubuntu/+archive/primary/+files/xft_2.2.0.orig.tar.gz">https://launchpad.net/ubuntu/+archive/primary/+files/xft_2.2.0.orig.tar.gz</a></span><br><span><a target="_blank" href="https://launchpad.net/ubuntu/+archive/primary/+files/xft_2.2.0-2ubuntu2.diff.gz">https://launchpad.net/ubuntu/+archive/primary/+files/xft_2.2.0-2ubuntu2.diff.gz</a></span><br><br>patched with:<br>libXft-2.2.0/debian/patches/100-libXft-2.1.10-lcd-filter-3.patch<br><br>-&gt; and &lt;-<br>xft_2.2.0-subpixel-hinting-no-image-swap.patch
 (attached)<br><br><br>* rxvt-unicode_9.10<br><span><a rel="nofollow" target="_blank" href="http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-9.10.tar.bz2"><span class="yshortcuts" id="lw_1305672071_6">http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-9.10.tar.bz2</span></a></span><br>&nbsp;&nbsp;&nbsp;&nbsp; <br>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.<br><br>I have also attached a sample image of the overall result.<br><br>Thanks &amp; BR,<br><br>/Mario. <br></font></div>



</div></body></html>