<html><body><div style="color:#000; background-color:#fff; font-family:bookman old style, new york, times, serif;font-size:12pt"><div><span>With regards to surface backends, I am still having trouble compiling Pango. </span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span>Thanks for the help from this mailing list for compiling the Cairo package.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span>When I configure Pango, it complains that I don't have usable back ends for Cairo.</span></div><div style="color: rgb(0, 0,
0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span>I successfully installed Free Type 2 fonts. When checking the config.log file for Pango, it seems that I still need two things with Cairo.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span>The error message:</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><span></span></div><pre class="alt2" style="background-color: rgb(244, 244, 244); font-size: 13px; margin-top: 0px;
margin-bottom: 0px; padding: 6px; border: 1px inset; width: 640px; height: 146px; overflow: auto;">checking for CAIRO... yes
checking which cairo font backends could be used... none
configure: Disabling cairo support
configure: error: *** Could not enable any backends.
*** Must have at least one backend to build Pango.</pre><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;">Has been posted by many people on the internet. I don't see a good solution.</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;">When I tried the quarz with cairo, it asked for another package that I have no clue where to get it. </div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;">The harfbuzz can be downloaded but
cannot be made because a make file bug, when it was looking for the glibc-2.0 that was apparently in the LDFLAGS macro in the Makefile, but somehow this harfbuzz package is not using it when doing the linking. If any one has some experience, please let me know.</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'bookman old style', 'new york', times, serif; background-color: transparent; font-style: normal;"><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"> <div style="font-family: 'bookman old style', 'new york', times,
serif; font-size: 12pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1"> <font size="2" face="Arial"> <b><span style="font-weight:bold;">From:</span></b> "cairo-request@cairographics.org" <cairo-request@cairographics.org><br> <b><span style="font-weight: bold;">To:</span></b> cairo@cairographics.org <br> <b><span style="font-weight: bold;">Sent:</span></b> Thursday, July 11, 2013 12:01 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> cairo Digest, Vol 96, Issue 14<br> </font> </div> <div class="y_msg_container"><br>Send cairo mailing list submissions to<br> <a ymailto="mailto:cairo@cairographics.org" href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<br> <a href="http://lists.cairographics.org/mailman/listinfo/cairo"
target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br>or, via email, send a message with subject or body 'help' to<br> <a ymailto="mailto:cairo-request@cairographics.org" href="mailto:cairo-request@cairographics.org">cairo-request@cairographics.org</a><br><br>You can reach the person managing the list at<br> <a ymailto="mailto:cairo-owner@cairographics.org" href="mailto:cairo-owner@cairographics.org">cairo-owner@cairographics.org</a><br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of cairo digest..."<br><br><br>Today's Topics:<br><br> 1. Re: support for external surface backends (Matt Sealey)<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Wed, 10 Jul 2013 16:21:24 -0500<br>From: Matt Sealey <<a ymailto="mailto:neko@bakuhatsu.net"
href="mailto:neko@bakuhatsu.net">neko@bakuhatsu.net</a>><br>To: Sebastian Reichel <<a ymailto="mailto:sre@ring0.de" href="mailto:sre@ring0.de">sre@ring0.de</a>><br>Cc: <a ymailto="mailto:cairo@cairographics.org" href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>Subject: Re: [cairo] support for external surface backends<br>Message-ID:<br> <CAHCPf3sJ0spCsp4pdTnAjnD3+1SphFVeCGUB1QUhtMjh8=<a ymailto="mailto:zCFw@mail.gmail.com" href="mailto:zCFw@mail.gmail.com">zCFw@mail.gmail.com</a>><br>Content-Type: text/plain; charset=ISO-8859-1<br><br>On Mon, Jul 8, 2013 at 5:57 PM, Sebastian Reichel <<a ymailto="mailto:sre@ring0.de" href="mailto:sre@ring0.de">sre@ring0.de</a>> wrote:<br>> Hi,<br>><br>> We have a Chinese lasercutter at our hackspace, which uses some<br>> obscure proprietary format. We are currently reverse engineering<br>> the protocol and have written a simple tool, which
translates the<br>> format into svg using cairo. So far so easy :)<br>><br>> But we also want to support translating the other way around. For<br>> this we thought about hooking into cairo as surface backend like<br>> this:<br>><br>> -----<br>> cairo_surface_t *surface;<br>> cairo_t *cr;<br>><br>> surface = laser_cutter_surface_not_part_of_cairo(some, params);<br>> cr = cairo_create(surface);<br>><br>> do_some_cairo_stuff();<br>> -----<br>><br>> The backend does not really fit into a default cairo installation<br>> and IMHO it does not fit into the cairo repository at all. Thus<br>> we would like to put it into an additional library, which implements<br>> the surface interface.<br>><br>> The problem is, that the cairo API does not allow external surface<br>> backends if I'm not mistaken. I mainly see two reasons for this:<br>><br>> 1. cairo_surface_type_t is a
compile-time-generated enum in cairo's<br>> sourcecode<br>> 2. cairo_surface_t and cairo_backend_t are not exposed in the<br>> public API<br>><br>> Are there any plans to make these kind of setups possible with<br>> cairo?<br><br>I never saw any plans but I'd be pleased to suggest a route to doing<br>it. I think cairo should support loadable backends - it would go to<br>solve this problem and also to mitigate the strange features that if<br>you compile in a backend to libcairo suddenly you end up with shared<br>dependencies. Any app wanting to use simple image surfaces or xlib<br>surfaces on a system with cairo compiled to use GLES suddenly then is<br>implicitly linked to GLES, EGL (maybe VG) and so on, which is rather<br>an odd circumstance (the net effect is that on the Ubuntu systems I<br>run, for example, building Cairo to use GLES means the entire GLES<br>stack ends up in the initramfs because of
Plymouth's dependency on<br>libcairo - but Plymouth doesn't use Cairo EGL or GLES backends)<br><br>I don't advocate making externally developed backends available,<br>though, that requires fixing down a surface API and exposing it.<br>Having a patch which integrates your backend then building Cairo for<br>yourself should suffice, though. What should happen is when you try<br>and create a surface, cairo knows which backend to load at that point,<br>loads it (and pulls in dependencies if it's using dlopen) and then the<br>backend will work - or not. In the case it does not load, cairo can<br>essentially fail creating a surface on that backend.<br><br>Cairo backend detection is already supported by being broken into<br>separate pkgconfig files but the backends themselves are not separate,<br>soaking memory and dynamic linker time (and as above, maybe space<br>which increases boot time) which should probably eventually get<br>solved. Applications can know
at THEIR build time which backends are<br>installed via pkgconfig so they should basically not be calling<br>backends without detecting their installation, and at runtime only the<br>relevant backends would be loaded for each application as per<br>build-time requirement of that application (by virtue of a<br>context/surface init).<br><br>Someone would need to map out the interdependency of initializing a<br>backend and what might be missing in the indirect functions associated<br>with it that need to be split.<br><br>Matt Sealey <<a ymailto="mailto:neko@bakuhatsu.net" href="mailto:neko@bakuhatsu.net">neko@bakuhatsu.net</a>><br><br><br>------------------------------<br><br>_______________________________________________<br>cairo mailing list<br><a ymailto="mailto:cairo@cairographics.org" href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br><a href="http://lists.cairographics.org/mailman/listinfo/cairo"
target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br><br>End of cairo Digest, Vol 96, Issue 14<br>*************************************<br><br><br></div> </div> </div> </blockquote></div> </div></body></html>