[cairo] text on win32

Carl Worth cworth at cworth.org
Thu Feb 1 16:39:32 PST 2007

On Thu, 1 Feb 2007 14:31:00 -0800, "Daniel Amelang" wrote:
> > For now, I am just drawing text with cairo_show_text, but with 1.3.12,
> > only the first letter is shown. It does actually draw all of the text, but
> > the letters are just so far apart that usually only the first one is
> > visible on screen. I can put a screenshot online if desired.

Ouch. That sounds nasty.

> > It takes me a couple hours to get a version of cairo compiled, so I have
> > not tested any other versions. I just know that it works with 1.0 and does
> > not with 1.3.12. Has anyone heard of this before? Is there anything I
> > might have done wrong?

Well, Daniel has confirmed it now. I'm sorry to hear that you can't
build cairo versions any faster than a couple of hours each, (why is
that by the way?). This would be a perfect situation for
git-bisect. The process would be to first get a working copy of git,
(which for win32 has generally required cygwin, although a recent
mingw port[*] is starting to show promise).

Then the process would be as follows:

	git clone git://git.cairographics.org/git/cairo
	cd cairo
	git bisect start
	git bisect good 1.0.0
	git bisect bad 1.3.12

And from there, git would automatically give you the next thing to
checkout, and you could just build and test and do either "git bisect
good" or "git bisect bad" as appropriate. And it would only modify
files that actually changed, so the build speed should be better than
if you were building a full version, (particularly as you narrow in on
the bug).

From a quick check, it would appear that there are 841 candidate
revisions for bisecting from 1.0.0 to 1.3.12. So, hopefully that
wouldn't require more than 10 builds to find the bad commit.

And the great thing about bisect, is that it would guide you to the
exact first commit that introduced this bug, (assuming there is a
single one).

Compare that to manually pulling down and building each of the 1.2.x
releases and 1.3.x snapshots in turn, and in the end only knowing that
the bug was introduced between two versions.

Anyway, if anyone is in a position to do that legwork, that would
obviously be helpful.

> Yes, actually I ran into this exact problem with cairo_show_text on
> windows with 1.3.12 a couple weeks ago. I haven't looked very deep
> into it yet, so I don't have a solution, sorry.

Daniel, were you just going to let this by? Or did you mention it
already and I forgot? Regardless, at least we know about it now. :-)

>                                                 cairo_show_text is
> part of the "toy" text API, which is not meant to be used for "real"
> application development, so I just figured I would skip straight to
> the "real" Win32 glyph/text way of doing things instead of spending
> time debugging the "toy" code. I haven't made any progress since.

It is the toy API, but it still really needs to work. And this would
obviously be a big regression between major releases, so it's
something we should fix before cairo 1.4.0.

> My recommendation is to file a bug. Maybe someone else will have time
> in the near future to look into this.

Consider it filed. I added a note about this to cairo/ROADMAP.


[*] See an announcement of the port of git to mingw here:


The repository is browsable here:


and a README describing current status (no clone through git://
protocol as of this writing---doh!), here:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20070201/619f0c04/attachment-0001.pgp

More information about the cairo mailing list