X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Flayouts%2Flayout-engine.cpp;h=ccd42aedec0ff89b6123060fdbd7e163b49a845f;hp=3e633baf653bc430b7691e20446c170f11f9bc5c;hb=6c456bd91c102985503b651e4734c5d82221c941;hpb=56f0e94bab1f9ecc097c4a5209716cdc1ede7715 diff --git a/dali-toolkit/internal/text/layouts/layout-engine.cpp b/dali-toolkit/internal/text/layouts/layout-engine.cpp index 3e633ba..ccd42ae 100644 --- a/dali-toolkit/internal/text/layouts/layout-engine.cpp +++ b/dali-toolkit/internal/text/layouts/layout-engine.cpp @@ -470,6 +470,7 @@ struct Engine::Impl void SetGlyphPositions( const GlyphInfo* const glyphsBuffer, Length numberOfGlyphs, + float outlineWidth, Vector2* glyphPositionsBuffer ) { // Traverse the glyphs and set the positions. @@ -479,7 +480,8 @@ struct Engine::Impl // so the penX position needs to be moved to the right. const GlyphInfo& glyph = *glyphsBuffer; - float penX = ( 0.f > glyph.xBearing ) ? -glyph.xBearing : 0.f; + float penX = ( 0.f > glyph.xBearing ) ? -glyph.xBearing + outlineWidth : outlineWidth; + for( GlyphIndex i = 0u; i < numberOfGlyphs; ++i ) { @@ -604,6 +606,7 @@ struct Engine::Impl SetGlyphPositions( layoutParameters.glyphsBuffer + lineRun->glyphRun.glyphIndex, ellipsisLayout.numberOfGlyphs, + layoutParameters.outlineWidth, glyphPositionsBuffer + lineRun->glyphRun.glyphIndex - layoutParameters.startGlyphIndex ); } @@ -963,6 +966,7 @@ struct Engine::Impl // Sets the positions of the glyphs. SetGlyphPositions( layoutParameters.glyphsBuffer + index, layout.numberOfGlyphs, + layoutParameters.outlineWidth, glyphPositionsBuffer + index - layoutParameters.startGlyphIndex ); // Updates the vertical pen's position. @@ -1043,7 +1047,7 @@ struct Engine::Impl const CharacterIndex characterVisualIndex = bidiLine.characterRun.characterIndex + *bidiLine.visualToLogicalMap; const GlyphInfo& glyph = *( layoutParameters.glyphsBuffer + *( layoutParameters.charactersToGlyphsBuffer + characterVisualIndex ) ); - float penX = ( 0.f > glyph.xBearing ) ? -glyph.xBearing : 0.f; + float penX = ( 0.f > glyph.xBearing ) ? -glyph.xBearing - layoutParameters.outlineWidth : -layoutParameters.outlineWidth; Vector2* glyphPositionsBuffer = glyphPositions.Begin();