Bug 44788

Summary: regression in cairo_set_font_size/cairo_show_text
Product: cairo Reporter: Erik de Castro Lopo <erikd>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED INVALID QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.10.2   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Text program demonstrating the problem.

Description Erik de Castro Lopo 2012-01-14 15:31:42 UTC
Created attachment 55587 [details]
Text program demonstrating the problem.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=655929

Attached very simple C program compiled and run as follows:

    gcc -Wall `pkg-config --cflags --libs cairo` test.c -o test && \
    ./test && \
    eog test.png 

produces incorrect results in Debian testing with libcairo2 1.10.2 and
correct results in Debian stable with libcario2 version 1.8.10.

The output file generated by the test program (test.png) has two
lines of text. There should be one line of large text and one line
of small text. With libcario2 from testing, both lines are the 
large size.
Comment 1 Chris Wilson 2012-01-14 16:26:01 UTC
Do you actually have a terminus-30? I doubt it, so I believe the effect you are seeing is due to font substitution, the rules for which should be provided by fontconfig and not cairo itself.
Comment 2 Erik de Castro Lopo 2012-01-14 17:01:16 UTC
(In reply to comment #1)
> Do you actually have a terminus-30? I doubt it, so I believe the effect you are
> seeing is due to font substitution, the rules for which should be provided by
> fontconfig and not cairo itself.

Yes, you are right.

So what has changed between cairo 1.8.10 and cairo 1.10.2 that changes the font substitution? It works correctly with cairo 1.8.10.
Comment 3 Erik de Castro Lopo 2012-01-14 17:53:43 UTC
Moving from Terminus to 'DejaVu Sans Mono' font fixed all my problems and DejaVu is probably more widely available.

Marking this as resolved.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.