[cairo] Help needed using different fonts

Deepak Kumar JAIN deepak19dec at gmail.com
Mon Aug 29 06:00:44 PDT 2011


Hello Maarten

I am working with MS Visual Studio 2008 on 64 bit windows with cairo and
pango.

This is the following code.
*
draw_text (cairo_t *cr)
{
#define RADIUS 150
#define N_WORDS 10
#define FONT "Monotype Corsiva,27"
  PangoLayout *layout;
  PangoFontDescription *desc;
  int i;
  /* Center coordinates on the middle of the region we are drawing
   */
  /* Create a PangoLayout, set the font and text */
  layout = pango_cairo_create_layout (cr);
  pango_layout_set_text (layout, "Text", -1);
  desc = pango_font_description_from_string (FONT);
  pango_layout_set_font_description (layout, desc);
  pango_font_description_free (desc);
  /* Draw the layout N_WORDS times in a circle */
      int width, height;
      double red;
      cairo_save (cr);
      /* Gradient from red at angle == 60 to blue at angle == 240 */
      cairo_set_source_rgb (cr, 1, 0, 0);
      /* Inform Pango to re-layout the text with the new transformation */
      pango_cairo_update_layout (cr, layout);
      pango_layout_get_size (layout, &width, &height);
      cairo_move_to (cr, - ((double)width / PANGO_SCALE) / 2, - RADIUS);
      pango_cairo_show_layout (cr, layout);
      cairo_restore (cr);
  /* free the layout object */
  g_object_unref (layout);
}
int main (int argc, char **argv)
{
  cairo_t *cr;
  char *filename;
  cairo_status_t status;
  cairo_surface_t *surface;
  filename = "montotype1.png";
  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                        2 * RADIUS, 2 * RADIUS);
  cr = cairo_create (surface);
  cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
  cairo_paint (cr);
  draw_text (cr);
  cairo_destroy (cr);
  status = cairo_surface_write_to_png (surface, filename);
  cairo_surface_destroy (surface);
  if (status != CAIRO_STATUS_SUCCESS)
    {
      g_printerr ("Could not save png to '%s'\n", filename);
      return 1;
    }
  cin.get();
  return 0;
}*

Working with Times Roman, I used ",;" and it worked but when I try Monotype
Corsiva, it throws the same warning as

PANGO Warning: Couldn't load font " Monotype Corsiva -not Rotated 27",
falling back to "Sans Not -Rotated 27" , expect ugly output.

Thanks,
Deepak




On Mon, Aug 29, 2011 at 2:47 PM, Maarten Bosmans <mkbosmans at gmail.com>wrote:

> 2011/8/29 Deepak Kumar JAIN <deepak19dec at gmail.com>:
> > Thanks Maarten;
> >
> > But still some of the fonst dont work and I get the same warning
> >
> > fonts like Monotype Corsiva. What Should I do for those fonts?
>
> So it was fixed for Times New Roman, but not for Monotype Corsiva?
> Weird. What did you do to make times work?
> Did you use pango_font_description_set_family?
>
> Please provide some more background info of the code that fails, error
> messages and info on the platform you are on.
>
> Maarten
>
> > On Mon, Aug 29, 2011 at 11:11 AM, Maarten Bosmans <mkbosmans at gmail.com>
> > wrote:
> >>
> >>
> >>
> http://blogs.operationaldynamics.com/andrew/software/java-gnome/use-comma-in-font-description
> >>
> >> 2011/8/29 Deepak Kumar JAIN <deepak19dec at gmail.com>:
> >> >
> >> > Hello All,
> >> >
> >> > I am new to Cairo Graphics. I heard about cairoGraphics from a
> developer
> >> > at
> >> > SHARP labs.
> >> >
> >> > I am developing a text manipulation plugin which do several things
> like
> >> > underline, strikeout text, etc.
> >> >
> >> > But I want to write the text in different fints like Times new Roman,
> >> > Arial
> >> > , Courier, etc depending on what user prefers. These fonts will be
> input
> >> > by
> >> > the user and then on the basis of input by user, I have to write a
> text
> >> > on
> >> > the image.  But I am not able to write the text with Times New Roman.
> >> > I am using pango_font_description_from_string(FONT) where FONT is
> >> > defined as
> >> > #define FONT "Arial 27". It works for Arial but when I try to use
> Times
> >> > New
> >> > Roman, it says
> >> > " Pango Warning" couldn't load font Times ", falling back to "Sans not
> >> > Rotaed 27" , expect ugly output.
> >> >
> >> > Please help me in this regard by suggesting how should I proceed?
> >> >
> >> > Thanks,
> >> >
> >> > Deepak JAIN
> >> >
> >> > --
> >> >
> >> > Thanks & Regards,
> >> > Deepak Kumar JAIN
> >> > Internship student,
> >> > Orange Labs,France Telecom,
> >> > Rennes, France
> >> > Contact: +33(0)6 31 15 44 66
> >> > www.deepakkumarjain.co.cc
> >> >
> >> > "I err therefore I am "- Saint Augustine
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> >
> >> > Thanks & Regards,
> >> > Deepak Kumar JAIN
> >> > Internship student,
> >> > Orange Labs,France Telecom,
> >> > Rennes, France
> >> > Contact: +33(0)6 31 15 44 66
> >> > www.deepakkumarjain.co.cc
> >> >
> >> > "I err therefore I am "- Saint Augustine
> >> >
> >> >
> >> > --
> >> > cairo mailing list
> >> > cairo at cairographics.org
> >> > http://lists.cairographics.org/mailman/listinfo/cairo
> >> >
> >
> >
> >
> > --
> >
> > Thanks & Regards,
> > Deepak Kumar JAIN
> > Internship student,
> > Orange Labs,France Telecom,
> > Rennes, France
> > Contact: +33(0)6 31 15 44 66
> > www.deepakkumarjain.co.cc
> >
> > "I err therefore I am "- Saint Augustine
> >
> >
>



-- 

Thanks & Regards,
Deepak Kumar JAIN
Internship student,
Orange Labs,France Telecom,
Rennes, France
Contact: +33(0)6 31 15 44 66
www.deepakkumarjain.co.cc

"*I err therefore I am *"- Saint Augustine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20110829/50b76f5a/attachment.html>


More information about the cairo mailing list