<p>&nbsp; According to all the suggestions above,i plan to accomplish the following works:</p>
<p>* drop the dependency on an external libpixman. Instead, incorporate the code from libpixregion needed for xft into the xft source tree.</p>
<p>* migrate to work on <a href="http://freedesktop.org">freedesktop.org</a>.</p>
<p>* avoid duplicating the code of every source file in Xft, actually some source files dont need change(xftxlfd.c, xftstr.c, xftname.c, xftdbg.c, xftinit.c).</p>
<p>* rename the functions which use different parameter types than the X functions in Xft,following the new XCB conventions.</p>
<div>* finish the equivalent functionality to XGetDefault in xft-xcb.</div>
<div>&nbsp;</div>
<div>Jianjun</div><br><br>
<div><span class="gmail_quote">On 10/28/06, <b class="gmail_sendername">Ian Osgood</b> &lt;<a href="mailto:iano@quirkster.com">iano@quirkster.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>---------- Original Message ----------------------------------<br>From: &quot;Yang JianJun&quot; &lt;<a href="mailto:supermaper@gmail.com">
supermaper@gmail.com</a>&gt;<br>Date:&nbsp;&nbsp;Fri, 27 Oct 2006 14:50:57 +0800<br><br>&gt;hi,all<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have ported libXft and Pango to XCB backend, It works well now.<br>&gt;For some reasons I picked Pango-1.8 which use Xft for rendering instead of
<br>&gt;cairo. I removed pangox backend in pango, just use pangoxft which build<br>&gt;directly on the lates XCB.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default backend of libXft is X11 ,the configure option is<br>&gt;&quot;--enable-xcb&quot; if you want to use the XCB 
backend.The same as xft, pango<br>&gt;also use &quot;--enable-xcb&quot; to enable pangoxft to build on XCB. In addition,<br>&gt;some Xlib functions in Xft have not ported yet,includes XGetDefault and<br>&gt;XRenderQuerySubpixelOrder. I just hard-code the default values.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All my work is available from<br>&gt;<a href="http://svn.sourceforge.net/viewvc/gtk-xcb/">http://svn.sourceforge.net/viewvc/gtk-xcb/</a>. Have a look at that and let me<br>&gt;know if you have more questions.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Any suggestion is welcome, thanks!<br>&gt;<br>&gt;--jianjun<br><br>Excellent work! I'm glad you could put my composite_text functions to use.<br><br>XGetDefault requires using the XResource extension and perhaps putting a utility
<br>library on top of it, something like Xlib's resource manager. I'm not sure how much<br>work we should put into this. Aren't XResource style settings being replaced with<br>better mechanisms?<br><br>QuerySubPixelOrder is just an accessor to the QueryPictFormats reply. See:
<br><br>xcb_render_util_query_formats(c)<br>xcb_render_query_pict_formats_subpixels_iterator()<br><br>The subpixels iterator is indexed by screen number. (Note, this requires Render<br>version 6 or later; you seem to be checking for version 3.)
<br><br>Could you indicate which source files in Xft you had to modify (if any) for XCB?<br>Alternatively, rebuild your SVN repository so the history starts with your starting<br>version of Xft.<br><br>I also encourage you to register with Freedesktop so you can integrate your work
<br>into the main libXft repository on <a href="http://freedesktop.org">freedesktop.org</a>.&nbsp;&nbsp;Next steps would be to figure<br>out how to avoid duplicating the code of every source file in Xft, since duplicated<br>code leads to maintenance headaches. It should also be possible to merge all the
<br>xft_render_composite_textN functions into XftGlyphSpecRender to avoid code<br>duplication.<br><br>Also, the XCB functions should have different names than the X functions, since<br>they are using different parameter types (connections vs. Display, for example).
<br>Perhaps follow the new XCB conventions: xcb_ft_glyph_spec_render, for example.<br><br>Ian<br><br></blockquote></div><br>