cppcanvas/source/mtfrenderer/emfplus.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
New commits: commit 36977f7404c8c3255792dc9995d213510a2cdb11 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Apr 27 16:58:05 2017 +0100 crashtesting: more crashing on exporting fdo31814-3.emf to odg Change-Id: I4cb359b426daed6c5d83c4ed4b85fe87de9d739a diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index a4411c22bcfe..cdead7a030ff 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -1280,9 +1280,12 @@ namespace cppcanvas EMFPStringFormat *stringFormat = static_cast< EMFPStringFormat* >( aObjects[ formatId & 0xff ] ); css::rendering::FontRequest aFontRequest; - LanguageTag aLanguageTag( static_cast< LanguageType >( stringFormat->language ) ); - aFontRequest.Locale = aLanguageTag.getLocale( false ); - SAL_INFO("cppcanvas.emf", "EMF+\t\t Font locale, Country:" << aLanguageTag.getCountry() <<" Language:" << aLanguageTag.getLanguage() ); + if (stringFormat) + { + LanguageTag aLanguageTag( static_cast< LanguageType >( stringFormat->language ) ); + aFontRequest.Locale = aLanguageTag.getLocale( false ); + SAL_INFO("cppcanvas.emf", "EMF+\t\t Font locale, Country:" << aLanguageTag.getCountry() <<" Language:" << aLanguageTag.getLanguage() ); + } SAL_INFO("cppcanvas.emf", "EMF+\t\t TODO Use all string formatting attributes during drawing"); double cellSize = setFont (aFontRequest, flags & 0xff, rFactoryParms, rState); commit c63a90453b59352950bbccce93a210964ccb7c14 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Apr 27 16:55:05 2017 +0100 crashtesting: crash on exporting fdo31814-3.emf to odg since commit f9af0abce2c266a53f536a207a62bc691213f6a0 Date: Sat Apr 15 01:44:46 2017 +0200 EMF+ Add initial support for EmfPlusStringFormat Object The EmfPlusStringFormat object specifies text layout, display manipulations, and language identification. With this commit the support for font language and country was added. Also Bold style is applied, for strings which needs that. elsewhere the pattern is to mask with 0xff to restrict to the hardcoded 256 size, so do that here too Change-Id: Iba5bcc3fabe836c963b3eef47a864e87425675c7 diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index bd13102eb6a6..a4411c22bcfe 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -1278,7 +1278,7 @@ namespace cppcanvas OUString text = read_uInt16s_ToOUString(rMF, stringLength); - EMFPStringFormat *stringFormat = static_cast< EMFPStringFormat* >( aObjects[ formatId ] ); + EMFPStringFormat *stringFormat = static_cast< EMFPStringFormat* >( aObjects[ formatId & 0xff ] ); css::rendering::FontRequest aFontRequest; LanguageTag aLanguageTag( static_cast< LanguageType >( stringFormat->language ) ); aFontRequest.Locale = aLanguageTag.getLocale( false );
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits