[cairo] Failures using user-font backend

Andrea Canciani ranma42 at gmail.com
Wed Jun 30 11:11:06 PDT 2010


Running the test suite using the user font backend shows some interesting bugs:
1) text-glyph-range and toy-font-face make strong assumptions
regarding the behavior of a font backend.
   text-glyph-range assumes that ascii and glyph index for "cairo" are the same
   toy-font-face exit with an assertion (since
cairo_toy_font_face_get_family (font_face) == "")
toy-font-face.c:104: preamble: Assertion `0 == (strcmp)
(cairo_toy_font_face_get_family (font_face), "@cairo:")' failed.

2) pthread-show-text crashes with an assertion on linux, but is fine on MacOS X.
   This probably is caused by non-thread-safe code in the user-font
backend or in scaled-font.

3) halo and halo-transform have an ugly output. I think this loss of
accuracy might be caused by the fixed
   point representation of the paths.

4) text-transform incorrectly clips the glyphs, as if their extents
were not computed correctly

#1 is not really a bug, but the test suite might probably be improved
to handle those tests better.
#2 should probably be fixed as part of making cairo thread safe.
#3 and #4 cause incorrect output.

As per request on IRC channel, I'm posting my observations here (might
be useful as a mini TODO list, too ;) ).
Andrea Canciani


More information about the cairo mailing list