@@ -1101,17 +1101,20 @@ void map_parser::parse_text_symbolizer(rule & rule, xml_node const& node)
11011101 placements = std::make_shared<text_placements_dummy>();
11021102 placements->defaults .from_xml (node, fontsets_, false );
11031103 }
1104- if (strict_ && ! placements-> defaults . format_defaults . fontset )
1104+ if (placements)
11051105 {
1106- ensure_font_face (placements->defaults .format_defaults .face_name );
1106+ if (strict_ && !placements->defaults .format_defaults .fontset )
1107+ {
1108+ ensure_font_face (placements->defaults .format_defaults .face_name );
1109+ }
1110+ text_symbolizer sym;
1111+ parse_symbolizer_base (sym, node);
1112+ put<text_placements_ptr>(sym, keys::text_placements_, placements);
1113+ set_symbolizer_property<symbolizer_base,composite_mode_e>(sym, keys::halo_comp_op, node);
1114+ set_symbolizer_property<symbolizer_base,halo_rasterizer_enum>(sym, keys::halo_rasterizer, node);
1115+ set_symbolizer_property<symbolizer_base,transform_type>(sym, keys::halo_transform, node);
1116+ rule.append (std::move (sym));
11071117 }
1108- text_symbolizer sym;
1109- parse_symbolizer_base (sym, node);
1110- put<text_placements_ptr>(sym, keys::text_placements_, placements);
1111- set_symbolizer_property<symbolizer_base,composite_mode_e>(sym, keys::halo_comp_op, node);
1112- set_symbolizer_property<symbolizer_base,halo_rasterizer_enum>(sym, keys::halo_rasterizer, node);
1113- set_symbolizer_property<symbolizer_base,transform_type>(sym, keys::halo_transform, node);
1114- rule.append (std::move (sym));
11151118 }
11161119 catch (config_error const & ex)
11171120 {
0 commit comments