Code

bug 202103: crash then putting text containing a soft hyphen character (u00AD) onto...
authorcyreve <cyreve@users.sourceforge.net>
Tue, 16 Sep 2008 22:08:41 +0000 (22:08 +0000)
committercyreve <cyreve@users.sourceforge.net>
Tue, 16 Sep 2008 22:08:41 +0000 (22:08 +0000)
src/libnrtype/Layout-TNG-Output.cpp

index d4df3ee37517191a8ef465fee46910a5b8fd9cc7..a93993c563f70f7f494f2d7053c1646761521a36 100644 (file)
@@ -450,9 +450,10 @@ void Layout::fitToPathAlign(SVGLength const &startOffset, Path const &path)
         double character_advance;
         Span const &span = _characters[char_index].span(this);
 
-        for (next_cluster_char_index = char_index + 1 ;
-             next_cluster_char_index < _characters.size() && !_characters[next_cluster_char_index].char_attributes.is_cursor_position;
-             next_cluster_char_index++);
+        for (next_cluster_char_index = char_index + 1 ; next_cluster_char_index < _characters.size() ; next_cluster_char_index++) {
+            if (_characters[next_cluster_char_index].in_glyph != -1 && _characters[next_cluster_char_index].char_attributes.is_cursor_position)
+                break;
+        }
 
         if (next_cluster_char_index == _characters.size()) {
             next_cluster_glyph_index = _glyphs.size();