Synfig Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
OPEN  Bug report #3  -  Rotating text 180 degrees fails
Posted Dec 08, 2012 - updated Sep 20, 2013
action_vote_minus_faded.png
0
Votes
action_vote_plus_faded.png
Issue details
  • Type of issue
    Bug report
  • Status
     
    Confirmed
  • Assigned to
    Not assigned to anyone
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     Imported User
  • Owned by
    Not owned by anyone
  • Category
    Rendering
  • Resolution
    Not determined
  • Priority
    Not determined
  • Targetted for
    icon_milestones.png Not determined
  • Tags
    icon_customdatatype.png text
  • Difficulty
    icon_customdatatype.png Not determined
Issue description
dooglus:

If I rotate text by 179.99 degrees or 180.01 degrees, the text turns upside down, as I would expect.

If I rotate by 180.00 degrees, the text isn't rotated at all.

Example .sif file: http://dooglus.rincevent.net/rotatebug.sif

Screenshot of how it looks in synfigstudio: http://dooglus.rincevent.net/rotatebug.png
Steps to reproduce this issue
Nothing entered.

#5
Comment posted by
 Imported User
Dec 10, 18:48
pabs:

Just leaving a note for myself that this bug is in the synfig renderer, not synfigstudio.
#6
Comment posted by
 Imported User
Dec 10, 18:49
dooglus:

synfig-core/trunk/src/modules/lyr_std/rotate.cpp has specific code to short-cut the rotation if it's 180 degrees:

if(amount.dist(Angle::deg(180))==Angle::deg(0))

I expect that's what triggers this bug.
#7
Comment posted by
 Imported User
Dec 10, 18:49
genete:

Stretch a text with (-60,60) doesn't mirror horizontally the text but (60,-60) yes. I think it is related with the same issue (rotation) There is a note in the code about a bad render in the BMP format with the pixel height. I will see if that is causing the problem.
#8
Comment posted by
 Imported User
Dec 10, 18:50
genete:

I mean, (60,-60) mirrors it vertically properly. ;)
#9
Comment posted by
 Imported User
Dec 10, 18:50
genete:

Commenting the bmp checking issue in the lyr_freetype.cpp file doesn't seems to solve the issue.
#10
Comment posted by
 Imported User
Dec 10, 18:50
genete:

Confirmed as still a problem in the latest git version
#11
Comment posted by
 Imported User
Dec 10, 18:51
genete:

The problem is caused by the assumption of the Layer_FreeType class that the tl and br of the render description is defining a non mirrored render description.

The stretch in all not first quadrant cases and the rotate layer in the 180 degrees rotation triggers this assumption. It is needed to fix the Layer_FreeType class to solve this bug.
#13
Comment posted by
 djay
icon_reply.pngSep 20, 09:16, in reply to comment #11
Commenting synfig-core/trunk/src/modules/lyr_std/rotate.cpp specific code to short-cut the rotation if it's 180 degrees:

/* if(amount.dist(Angle::deg(180))==Angle::deg(0)) { .... }
  • /


Seems to (easily) solve the 180° issue and don't affect other things (maybe render time in specific 180° case a bit slower?) BUT do not solve Stretch a text with (-60,60) doesn't mirror horizontally the text but (60,-60) has mentionned in comment#7

NOTA : With Cairo render, no problem occur

Imported User wrote:
genete:

The problem is caused by the assumption of the Layer_FreeType class that
the tl and br of the render description is defining a non mirrored render
description.

The stretch in all not first quadrant cases and the rotate layer in the 180
degrees rotation triggers this assumption.
It is needed to fix the Layer_FreeType class to solve this bug.