From 1c1d81211e14986917817b674c9c4230e84a304b Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Wed, 25 Mar 2009 11:28:43 +0000 Subject: ** Fixes bug #576694 2009-03-25 Matthew Barnes ** Fixes bug #576694 * widgets/table/e-cell-text.c (build_layout): * widgets/text/e-text.c (reset_layout): Handle absolute font sizes correctly. svn path=/trunk/; revision=37474 --- widgets/ChangeLog | 7 +++++++ widgets/table/ChangeLog | 7 +++++++ widgets/table/e-cell-text.c | 7 ++++++- widgets/text/e-text.c | 8 ++++++-- 4 files changed, 26 insertions(+), 3 deletions(-) (limited to 'widgets') diff --git a/widgets/ChangeLog b/widgets/ChangeLog index 527ebb8dee..3305630c4b 100644 --- a/widgets/ChangeLog +++ b/widgets/ChangeLog @@ -1,3 +1,10 @@ +2009-03-25 Matthew Barnes + + ** Fixes part of bug #576694 + + * text/e-text.c (reset_layout): + Handle absolute font sizes correctly. + 2009-02-14 Matthew Barnes * text/e-text.c: diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog index 8abd4d19a2..df2e783606 100644 --- a/widgets/table/ChangeLog +++ b/widgets/table/ChangeLog @@ -1,3 +1,10 @@ +2009-03-26 Matthew Barnes + + ** Fixes part of bug #576694 + + * e-cell-text.c (build_layout): + Handle absolute font sizes correctly. + 2009-02-26 Chenthill Palanisamy ** Part of fix for bug #573198 diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c index a539e031eb..bb767c7bb0 100644 --- a/widgets/table/e-cell-text.c +++ b/widgets/table/e-cell-text.c @@ -593,16 +593,21 @@ build_layout (ECellTextView *text_view, int row, const char *text, gint width) PangoFontDescription *desc = NULL, *fixed_desc = NULL; char *fixed_family = NULL; gint fixed_size = 0; + gboolean fixed_points = TRUE; fixed_desc = pango_font_description_from_string (ect->font_name); if (fixed_desc) { fixed_family = (char *)pango_font_description_get_family (fixed_desc); fixed_size = pango_font_description_get_size (fixed_desc); + fixed_points = !pango_font_description_get_size_is_absolute (fixed_desc); } desc = pango_font_description_copy (gtk_widget_get_style (GTK_WIDGET (((GnomeCanvasItem *)ecell_view->e_table_item_view)->canvas))->font_desc); pango_font_description_set_family (desc, fixed_family); - pango_font_description_set_size (desc, fixed_size); + if (fixed_points) + pango_font_description_set_size (desc, fixed_size); + else + pango_font_description_set_absolute_size (desc, fixed_size); /* pango_font_description_set_style (desc, PANGO_STYLE_OBLIQUE); */ pango_layout_set_font_description (layout, desc); pango_font_description_free (desc); diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c index a88ecec75d..5f3906fc71 100644 --- a/widgets/text/e-text.c +++ b/widgets/text/e-text.c @@ -426,8 +426,12 @@ reset_layout (EText *text) pango_layout_context_changed (text->layout); text->font_desc = pango_font_description_new (); - pango_font_description_set_size (text->font_desc, - pango_font_description_get_size ((GTK_WIDGET (item->canvas))->style->font_desc)); + if (!pango_font_description_get_size_is_absolute ((GTK_WIDGET (item->canvas))->style->font_desc)) + pango_font_description_set_size (text->font_desc, + pango_font_description_get_size ((GTK_WIDGET (item->canvas))->style->font_desc)); + else + pango_font_description_set_absolute_size (text->font_desc, + pango_font_description_get_size ((GTK_WIDGET (item->canvas))->style->font_desc)); pango_font_description_set_family (text->font_desc, pango_font_description_get_family ((GTK_WIDGET (item->canvas))->style->font_desc)); pango_layout_set_font_description (text->layout, text->font_desc); -- cgit v1.2.3