X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fdocument.cpp;h=57b89250d3f882036bccd658b66a58df0bf5477f;hp=16cb8f9f6f6bc17a8d4c2af3339fcbf5d28a5aab;hb=1ccfbc6588b569fdf1ac195f8999231169b7957d;hpb=2a1715c907ba3ccfb952e9630c3fe305655637e0 diff --git a/src/document.cpp b/src/document.cpp index 16cb8f9..57b8925 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -130,6 +130,8 @@ int Document::ClipObjectToQuadChild(int object_id, QuadTreeNodeChildren type) m_objects.data_indices.push_back(m_objects.data_indices[object_id]); return 1; } + case GROUP: + break; default: Debug("Adding %s -> %s", m_objects.bounds[object_id].Str().c_str(), TransformToQuadChild(m_objects.bounds[object_id], type).Str().c_str()); m_objects.bounds.push_back(TransformToQuadChild(m_objects.bounds[object_id], type)); @@ -613,6 +615,8 @@ pair Document::ParseSVGPathData(const string & d, const SVGM x[0] = (relative) ? x[0] + dx : dx; y[0] = (relative) ? y[0] + dy : dy; + x0 = x[0]; + y0 = y[0]; //Debug("mmoveto %f,%f", Float(x[0]),Float(y[0])); command = (command == "m") ? "l" : "L"; } @@ -798,7 +802,8 @@ void Document::AddText(const string & text, Real scale, Real x, Real y) { kerning = stbtt_GetCodepointKernAdvance(&m_font, text[i-1], text[i]); } - x += Real(font_scale) * Real(left_side_bearing + kerning); + Debug("%c: lsb %d, kern %d, adv_width %d", text[i], left_side_bearing, kerning, advance_width); + x += Real(font_scale) * Real(kerning); AddFontGlyphAtPoint(&m_font, text[i], font_scale, x, y); x += Real(font_scale) * Real(advance_width); }