From e87d8bb20267b83ba6ef665aabc70a3e26307fd9 Mon Sep 17 00:00:00 2001 From: Marco Cecchetti Date: Tue, 15 Nov 2022 10:56:15 +0100 Subject: svg export filter: when a text field is too small, its content is wrong When the text field width is too small, the placeholder text spans several lines. That stopped the js engine to substitute the text field placeholder with the right content. This is a workaround but it should work in the majority of cases. A complete solution needs to support svg text wrapping. Change-Id: Ide52e08acd35b3764b8abc600e4b467acea0a248 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142794 Tested-by: Andras Timar Reviewed-by: Andras Timar --- filter/source/svg/presentation_engine.js | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js index cf49ba565192..dbfe2ab0f914 100644 --- a/filter/source/svg/presentation_engine.js +++ b/filter/source/svg/presentation_engine.js @@ -5401,6 +5401,29 @@ function getTextFieldType ( elem ) else if (sContent === '
') sFieldType = aHeaderClassName; } + + if( sFieldType ) + return sFieldType; + + var aTextPortionElement = getElementByClassName( elem, 'TextPortion' ); + if( aTextPortionElement ) + { + var sContent = aTextPortionElement.textContent + if( sContent.indexOf( '' ) != -1 ) + sFieldType = aSlideNumberClassName; + else if( sContent.indexOf( '' ) != -1 ) + sFieldType = aDateTimeClassName; + else if( sContent.indexOf( '' ) != -1 ) + sFieldType = aDateClassName; + else if( sContent.indexOf( '