Mercurial > octave-libtiff
changeset 20020:1929d9218ac0
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.
author | Pantxo Diribarne <pantxo.diribarne@gmail.com> |
---|---|
date | Tue, 31 Mar 2015 23:51:31 +0200 |
parents | 002576bbba10 |
children | e70df1ff58b7 |
files | libinterp/corefcn/gl2ps-renderer.cc |
diffstat | 1 files changed, 36 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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 <typename T>