浏览代码

Merge pull request #78543 from 3dnikita/fix-svg-in-ot-tag-closing

Fix SVG tag closing for OT font glyphs
Rémi Verschelde 2 年之前
父节点
当前提交
18bc912bc0
共有 2 个文件被更改,包括 12 次插入2 次删除
  1. 6 1
      modules/text_server_adv/thorvg_svg_in_ot.cpp
  2. 6 1
      modules/text_server_fb/thorvg_svg_in_ot.cpp

+ 6 - 1
modules/text_server_adv/thorvg_svg_in_ot.cpp

@@ -121,7 +121,12 @@ FT_Error tvg_svg_in_ot_preset_slot(FT_GlyphSlot p_slot, FT_Bool p_cache, FT_Poin
 				for (int i = 0; i < parser->get_attribute_count(); i++) {
 					xml_body += vformat(" %s=\"%s\"", parser->get_attribute_name(i), parser->get_attribute_value(i));
 				}
-				xml_body += ">";
+
+				if (parser->is_empty()) {
+					xml_body += "/>";
+				} else {
+					xml_body += ">";
+				}
 			} else if (parser->get_node_type() == XMLParser::NODE_TEXT) {
 				xml_body += parser->get_node_data();
 			} else if (parser->get_node_type() == XMLParser::NODE_ELEMENT_END) {

+ 6 - 1
modules/text_server_fb/thorvg_svg_in_ot.cpp

@@ -121,7 +121,12 @@ FT_Error tvg_svg_in_ot_preset_slot(FT_GlyphSlot p_slot, FT_Bool p_cache, FT_Poin
 				for (int i = 0; i < parser->get_attribute_count(); i++) {
 					xml_body += vformat(" %s=\"%s\"", parser->get_attribute_name(i), parser->get_attribute_value(i));
 				}
-				xml_body += ">";
+
+				if (parser->is_empty()) {
+					xml_body += "/>";
+				} else {
+					xml_body += ">";
+				}
 			} else if (parser->get_node_type() == XMLParser::NODE_TEXT) {
 				xml_body += parser->get_node_data();
 			} else if (parser->get_node_type() == XMLParser::NODE_ELEMENT_END) {