# HG changeset patch # User Pantxo Diribarne # Date 1427838691 -7200 # Node ID 1929d9218ac0f622f6577a2cec31552721da03cc # Parent 002576bbba1025c01264510266bff98e2d0b1397 Fix fontname search, fontweight and fontangle for printing (bug #44668) * gl2ps-renderer.cc (glps_renderer::set_font): make fontame matching case insensitive * gl2ps-renderer.cc (glps_renderer::set_font): also add supported bold and italic fonts. diff -r 002576bbba10 -r 1929d9218ac0 libinterp/corefcn/gl2ps-renderer.cc --- a/libinterp/corefcn/gl2ps-renderer.cc Thu Apr 02 10:35:35 2015 -0700 +++ b/libinterp/corefcn/gl2ps-renderer.cc Tue Mar 31 23:51:31 2015 +0200 @@ -227,20 +227,50 @@ fontsize = props.get ("fontsize_points").double_value (); - caseless_str fn = props.get ("fontname").string_value (); + caseless_str fn = props.get ("fontname").xtolower ().string_value (); + bool isbold = + (props.get ("fontweight").xtolower ().string_value () == "bold"); + bool isitalic = + (props.get ("fontangle").xtolower ().string_value () == "italic"); + fontname = ""; if (fn == "times" || fn == "times-roman") - fontname = "Times-Roman"; + { + if (isitalic && isbold) + fontname = "Times-BoldItalic"; + else if (isitalic) + fontname = "Times-Italic"; + else if (isbold) + fontname = "Times-Bold"; + else + fontname = "Times-Roman"; + } else if (fn == "courier") - fontname = "Courier"; + { + if (isitalic && isbold) + fontname = "Courier-BoldOblique"; + else if (isitalic) + fontname = "Courier-Oblique"; + else if (isbold) + fontname = "Courier-Bold"; + else + fontname = "Courier"; + } else if (fn == "symbol") fontname = "Symbol"; else if (fn == "zapfdingbats") fontname = "ZapfDingbats"; else - fontname = "Helvetica"; - - // FIXME: add support for bold and italic + { + if (isitalic && isbold) + fontname = "Helvetica-BoldOblique"; + else if (isitalic) + fontname = "Helvetica-Oblique"; + else if (isbold) + fontname = "Helvetica-Bold"; + else + fontname = "Helvetica"; + } } template