From 1633a91c3a1fd6eb4d981d9117c7a4ba96d1f562 Mon Sep 17 00:00:00 2001 From: Marc Jeanmougin Date: Sat, 20 Apr 2019 00:16:59 +0200 Subject: Removes style on empty lines --- src/file-update.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/file-update.cpp') diff --git a/src/file-update.cpp b/src/file-update.cpp index 5489ee499..de2f17ad6 100644 --- a/src/file-update.cpp +++ b/src/file-update.cpp @@ -205,6 +205,26 @@ void sp_file_convert_text_baseline_spacing(SPDocument *doc) sp_file_text_run_recursive(fix_update, doc->getRoot()); } +void _remove_style_on_empty_lines(SPObject *o) +{ + std::vector cl = o->childList(false); + for (std::vector::const_iterator ci = cl.begin(); ci != cl.end(); ++ci) { + if (SP_IS_TSPAN(*ci) and (*ci)->childList(false).empty() and (*ci)->getAttribute("sodipodi:role")=="line" ) { + (*ci)->style->clear(); + } + } +} + + + +void sp_file_remove_style_on_empty_lines(SPDocument *doc) +{ + sp_file_text_run_recursive(_remove_style_on_empty_lines, doc->getRoot()); + sp_file_text_run_recursive(fix_update, doc->getRoot()); +} + + + void sp_file_convert_font_name(SPDocument *doc) { sp_file_text_run_recursive(fix_font_name, doc->getRoot()); -- cgit v1.2.3