<br><br><div><span class="gmail_quote">On 10/27/06, <b class="gmail_sendername">Josh Triplett</b> &lt;<a href="mailto:josh@freedesktop.org">josh@freedesktop.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Yang JianJun wrote:<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><br>Wow.&nbsp;&nbsp;Thanks for working on this!<br><br>I took a look at your Xft port, and tried to get it working on my system.&nbsp;&nbsp;I
<br>ran into a few issues:<br><br>* When I try to build libXft, I hit a compilation error:<br><br>
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/freetype2
-I/tmp/xcb-util-inst/include -Wall -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-fno-strict-aliasing -I../include/xcb/Xft -g -O2 -MT xftdpy-xcb.lo -MD
-MP -MF .deps/xftdpy-xcb.Tpo -c xftdpy-xcb.c&nbsp;&nbsp;-fPIC -DPIC -o
.libs/xftdpy-xcb.o<br>xftdpy-xcb.c: In function '_XftDisplayInfoGet':<br>xftdpy-xcb.c:152: error: 'XCB_PICT_FORMAT_TYPE' undeclared (first use in this function)<br>xftdpy-xcb.c:152: error: (Each undeclared identifier is reported only once
<br>xftdpy-xcb.c:152: error: for each function it appears in.)<br>xftdpy-xcb.c:152: error: 'XCB_PICT_FORMAT_DEPTH' undeclared (first use in this function)<br>xftdpy-xcb.c:153: error: 'XCB_PICT_FORMAT_RED_MASK' undeclared (first use in this function)
<br>xftdpy-xcb.c:153: error: 'XCB_PICT_FORMAT_GREEN_MASK' undeclared (first use in this function)<br>xftdpy-xcb.c:154: error: 'XCB_PICT_FORMAT_BLUE_MASK' undeclared (first use in this function)<br>xftdpy-xcb.c:154: error: 'XCB_PICT_FORMAT_ALPHA_MASK' undeclared (first use in this function)
<br><br>* I think libpixman has actually become deprecated, though I don't know the<br>&nbsp;&nbsp;suggested replacement offhand.&nbsp;&nbsp;(Possibly this got folded into cairo.)</blockquote><div><br>
No,these errors have nothing to do with libpixman, just because your
xcb-util library is a little old. xcb-util has update for &quot;Rename
enumerations to coding standard&quot;, you should get the latest xcb-util.
XCB_PICT_FORMAT_* now defines in xcb_renderutil.h. Can you run it then? <br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">* You didn't have the Xorg macros on your system when you autotooled libXft,<br>&nbsp;&nbsp;so the XORG_RELEASE_VERSION macro didn't get expanded, and ends up in the
<br>&nbsp;&nbsp;configure script, which tries to execute it as a shell command.</blockquote><div><br>
correct. But it doesnt block the building without that macro. <br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">* Going along with the previous: you checked generated files like configure<br>&nbsp;&nbsp;into your subversion repository.&nbsp;&nbsp;In general, you don't want to do that;
<br>&nbsp;&nbsp;people who pull straight from version control should run ./autogen.sh.<br><br><br>We definitely welcome ports of key libraries like Xft and Pango to XCB.&nbsp;&nbsp;You<br>may want to request an account on <a href="http://freedesktop.org">
freedesktop.org</a>, so that you could work on<br>libXft there; see <a href="http://www.freedesktop.org/wiki/AccountRequests">http://www.freedesktop.org/wiki/AccountRequests</a> for details.<br>Do you have any experience with the git version control system?&nbsp;&nbsp;libXft has a
<br>git repository on <a href="http://freedesktop.org">freedesktop.org</a>, and you could easily create a new libXft<br>git repository for XCB porting work, which would make it easy to merge back in<br>when ready.</blockquote>
<div><br>
yeah, i&nbsp; should&nbsp; work on that  repository.</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Thanks,<br>Josh Triplett<br><br><br><br>
</blockquote></div><br>