Inkscape: A Vector Drawing Tool

Inverted ruler co-ordinate system

Reported by Md-seymour on 2003-12-14
358
This bug affects 59 people
Affects Status Importance Assigned to Milestone
Inkscape
High
Krzysztof Kosinski
Declined for 0.47.x by ScislaC
inkscape (Ubuntu)
Medium
Unassigned

Bug Description

The y-axis of the rulers' co-ordinate system is
inverted (increasing upwards), and places the origin on
the bottom left of the viewport. The SVG spec places the
default origin on the top left of the viewport, and has
the co-ordinate system increasing to the right and
downwards.

Mental-users (mental-users) wrote :

This needs to be fixed, but from talking to Lauris it requires some
very wide-reaching changes. It may be a while before this is
fixed.

Bryce Harrington (bryce) wrote :

I think this qualifies as a feature request, since the current
system is functioning properly as designed. Moving to the
RFE queue.

Bug Importer (bug-importer) wrote :

damn. this is an annoying issue. how's progress on it?

vonHalenbach (lustik) wrote :

I see this as a design fault. So i bump importance up. This needs to be fixed.

Changed in inkscape:
assignee: nobody → lustik
importance: Medium → High
status: New → Confirmed
Maximilian Albert (cilix) wrote :

True. It is also a hindrance during development because one constantly needs to switch between different coordinate systems. The earlier this is addressed the better.

vonHalenbach (lustik) on 2007-12-20
Changed in inkscape:
assignee: lustik → nobody
Tom Davidson (tjd-mit) wrote :

I have merged in a couple RFEs requesting the ability to switch the y-axis direction as dupes. Since I imagine that if/when this is implemented either a) there will be an option to toggle axis direction or b) those RFEs will become moot...

Mark Crutch (markc-qsiuk) wrote :

Just a "me too" for an option to have the origin and coordinate system as per SVG. I'm currently playing around with some hand-coded SMIL on a complex image, and it's annoying to find that I can't simply use the coordinates from Inkscape directly in my code due to the inverted y-axis.

markww (markww) wrote :

Whoa the coordinate system has been in cartesian format since 2004?

Yeah a choice to flip to image coordinates would be great for direct SVG support.

I guess I will write a converter now in the meantime, blast! Otherwise inkscape is great, thanks for this software.

Clay Enga (clayton-enga) wrote :

I noticed, as described above, the UI (rulers and status bar) uses one coordinate system whereas the saved SVG file uses a different coordinate system.

But that's not all. The UI is not totally self-consistent in its use of coordinates. Try importing an image file, then right click on the image and choose "Image Properties" from the context menu. The coordinates shown are based on origin at top left -- in contrast to the rulers and status bar which use bottom left origin.

As a new user, this stood out to me as being unintuitive (everything else I've tried so far in Inkscape is pretty slick though :-)

Antonio Roberts (hellocatfood) wrote :

It's also inconsistent with scribus, which is a real shame!

F1LT3R (director-hyper-metrix) wrote :

Apart from general weird OS related bugs, Inkscape is a well-rounded app with a lot of neat features. Great work guys!

I also find this Y axis extremely annoying, because every other co-ordinate system I work with uses Y=0 as top left. It does seem like there are no "good" reasons to keep the Cartesian system, so change it. And as a new-user of Inkscape, I have to say... "I will move to the next freeware SVG creator instantly when I find one with a standard Y axis."

I understand that recoding any deep feature of an app can be a confusing and time-consuming process, but it can make or break the software.

jdv145 (jandevries145) wrote :

I am using the latest beta and still i cant seem to find a way to set the origin to the top-left.
I really hope this gets done for the 0.47 release because this is the first program every i have used that has this weird coordinate system. Its also a bit annoying to have such a great app like inkscape without a "normal" coordinate system

ScislaC (scislac) wrote :

This would be far too great of a change to introduce so late in this dev cycle. I tell you what though, I will see what we can do to try and get people interested in it being a goal to fix for 0.48.

pbhj (pbhj) wrote :

When one alters the units does the scale alter too? I noticed the hint is still in px even if I set my preferred units as mm - I can't currently see the left hand ruler so can't tell if this changes.

I imagine if the ruler display is changing then adding the feature to alter the scale when the units are altered is close to trivial?

Raimund Andersen (anderse-gmx) wrote :

Now 0.48 is just around the corner, and this bug - yes, I think it's a bug! - is still unassigned.

This is getting procrastinated on and on since six years now!!

When will users like me, who frequently edit the source xml code, be able to work with this otherwise very great tool in a reasonable way?

jimmac (jimmac) wrote :

This is truly biting me every single time I need to change page size as it requires repositioning of everything afterwards. A serious workflow killer.

tigert (tuomas-kuosmanen) wrote :

I have to agree with jimmac here... It's also very frustrating when working on a workflow that requires both Gimp and Inkscape, or websites as everything related to coordinates is not easily translated between.

For example in Maemo5 "Fremantle" (Nokia N900) theme work when we were developing the theme template, I had to always export the canvas as PNG, do a selection in Gimp and check out the coordinates there. I could have looked it up from Inkscape object properties toolbar if the y-coordinate wasnt flipped around compared to everything else.. :-/

lemasney (lemasney-gmail) wrote :

This is more of a nuisance than a hindrance to me, but I'd love to see it fixed too.

Duggeek (duggeek) wrote :

I would agree that the core of the issue here is interoperability; how working with Inkscape should be consistent with open– and closed-source tools of similar purpose. Designers become used to a coordinate system with zero at the top, not the bottom. I, too count myself among those that think this is backwards.

Over six years have gone by since it was first mentioned. Has the project become any simpler? Will the passage of time make this any less of an issue? This issue will grow in complexity right along with Inkscape itself. My point is, the sooner this is remedied, the better.

IMHO, to be considered a "real" design tool, rather than an open-source novelty or hobbyist's sandbox, Inkscape needs to consider whether it will conform to the norms of digital design.

If you want an opportunity to "plus" this bug, then make it a configuration option. (y-axis from top-down or bottom-up)

This is just a shame of the most advanced OSS vector app. Looking for alternative. Now thinking about it, Inkscape haven't introduced any new "feature" for a long time, UI is still terribly wrong, and developers refuse to comment on issues reported by users.. Way to go

jimmac (jimmac) wrote :

Dusan, you're certainly going to help the matter by disrespecting the developers with blatantly wrong trolling. Way to go.

As for #19, I don't see this as primarily an interoperability issue. It is a workflow issue. For an evolving UI mockup or creating derivate versions you will constantly need to resize the canvas. And currently this means repositioning everything (including layer visibility toggling) after you've resized. And most of the time you need to resize based on how your mockup is tall, so it means either iterating or using a clumsy workaround of keeping an unfilled rectangle and resizing to its dimensions (which can lead to sub-pixel shifts easily).

In any case, this bug is seriously annoying for the inkscape-loving UI/web designer.

@jimmac: thanks, I am active on issue trackers long enough to know that, but come on! 6 years old issue! All I'm asking for is an explanation, on why it's so hard to fix it.

ScislaC (scislac) wrote :

Dusan,

If you think it's so easy to fix, know that we are more than happy to accept a patch from you. ;) Developers have commented on it and agree that it needs to be fixed. It's just not as easy to fix as you would like. If this was as straightforward as you wish it were, it would have been fixed long ago.

Would you like it if you upgraded Inkscape and all of your old documents were flipped upside down, objects misplaced, things that were transformed (scaled/rotated) to be even more oddly handled, etc? Those are just some of the possibilities of what is expected to go wrong. For this to be handled properly, it needs to be ensured that we retain full and painless backwards compatibility. That is the primary reason it hasn't been touched. For the record we inherited this issue from sodipodi when it was forked, so the issue is actually older than 6 years...

Honestly though, the proper fix for this is to default to top-left oriented coordinates, but to have the coordinate system completely customizable by the user so they can define their preference per-document for where 0,0 is located. It's much better to fix this the right way than to have to make multiple passes on the code.

Jon A. Cruz (jon-joncruz) wrote :

Dusan,

The explanation is in the code. Just grab it and look around.

Things started out with hardcoded math and assumptions spread all over the code base in all sorts of methods. If one has assumptions coded in to each and every function that does part of UI or editing work or such, that does take quite a bit to fix.

Among other things there *HAS* been a lot of work going on to address this. We even have a complete stand-alone math library now as part of this work. So it has not just been ignored, as you imply.

To answer specifically:

"Has the project become any simpler?"

Yes, it has. The complexity is perhaps even an order of magnitude less that it was originally.

"Will the passage of time make this any less of an issue?"

Yes, it will. See lib2geom and other work. By cleaning up hardcoded assumptions that are spread all over and instead unifying them to single locations it is getting much less of an issue to address.

"This issue will grow in complexity right along with Inkscape itself."

No, it won't. The work that will be required to specifically address this has been *reducing* in complexity as Inkscape code has matured.

Sometimes I feel like I'm trying to measure objects while standing on my head. The vertical ruler is really strange and unnatural.

Apart from that, I can't think of anything negative to say. The Inkscape team is doing an outstanding job. Thank you guys for all your hard work. This software is one of the main reasons I made the move to Linux. Linux Mint is awesome, and so are you.

@ScislaC: I never mentioned that I think it's easy to fix, or that I am capable of patching something. I would rather avoid discussion on backward compatibility, it's way too controversial.

@Jon A. Cruz: If I understand it correctly, you are working on abstracting coordinate system, right? That's quite a complex task. I don't think assumptions are that bad, Inkscape will probably stay a 2D vector drawing tool, it might be a bit of overkill to add such a complexity in order to get rid of assumptions about coord. system.

Rad3k (trueradzian) wrote :

@Dusan
From what I understand, those assumptions became the main obstacle on the way to fixing this bug. And splitting the code into sections which make as little assumptions as possible about the others may be a complex task, but it actually leads to overall reduction of complexity of the source code.

Thomas Holder (speleo3) wrote :

Since this problem is supposed to "require some very wide-reaching changes" I guess nobody ever did a serious attempt to fix it. I claim (or rather hope) that it is actually not that hard, I'd like to dig into this but unfortunately do have very little time currently to do inkscape hacking.

Attached is my first patch to start inverting desktop coordinates. Maybe someone will hook up and finish it :-)

Krzysztof Kosinski (tweenk) wrote :

I worked from Thomas's patch for a bit and now I have a version that has SVG coordinates and I see no obvious breakage. Will commit after some further testing.

Changed in inkscape:
status: Confirmed → In Progress
assignee: nobody → Krzysztof Kosinski (tweenk)
Changed in inkscape:
status: In Progress → Fix Committed
milestone: none → 0.48
Krzysztof Kosinski (tweenk) wrote :

Fixed in r9288. Please report any regressions you find.

Thomas Holder (speleo3) wrote :

looks good. Regressions that I observe:

 * Text cursor initially blinks downwards
 * Pasted objects are always placed to the page center instead of mouse position
 * Zoom (CTRL+Mouse Wheel) always zooms to page center instead of mouse position

~suv (suv-lp) wrote :

I would strongly argue to make this change configurable: there are other use cases for Inkscape besides artistic drawings and web design that depend on having a 1.quadrant coordinate system e.g. when using Inkscape for technical drawings (CAD applications have the origin in the lower left corner - besides offering user-configurable and object-related named coordinate systems). Configuration options ideally include the option to freely relocate the origin in relation to the defined page (e.g. move the origin to the middle of the page).

related reports:
Bug #170347 “ability to set coordinate origin”
Bug #171488 “User-defined coordinate system”

Krzysztof Kosinski (tweenk) wrote :

Thomas: those three are fixed in r9295. Also fixed is wrong positioning of guides.

However, I don't know whether we'll be able to release with this change: 3D boxes are flipped vertically. If I don't find a way to fix this, I'll have to revert to the old coordinate system, or remove editing support for 3D Boxes created in 0.47 and earlier.

Krzysztof Kosinski (tweenk) wrote :

The remaining regressions proved impossible to fix properly without introducing a backwards compatibility mechanism at the XML level. It's too late to introduce it in the 0.48 release cycle, so this will have to wait until 0.49.

Changed in inkscape:
milestone: 0.48 → 0.49
status: Fix Committed → In Progress
~suv (suv-lp) wrote :

(Fix for inverted coordinate system committed in r9288 was reverted in r9298)

~suv (suv-lp) on 2010-07-02
tags: added: ui

This is an annoying problem right now trying to match locations of graphics within an svg with coordinates in a browser. Constantly having to convert the numbers.
ALMOST every coordinate system especially where technology is concerned, is increasing top to bottom and left to right.
Please fix this one eventually.

Changed in inkscape (Ubuntu):
status: New → Confirmed
tags: added: patch
tags: added: patch-rejected-upstream
removed: patch
Changed in inkscape (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Medium
description: updated
Alan Wolfe (alan-wolfe) wrote :

I'm using inkscape as the basis of a level editor for a 2d indie game and hit this problem.

I was really confused why everything was upside down... took me a couple hours to figure out what was goin on (i thought it was my projection matrix or a left handed vs right handed coordinate system at first).

it would be nice if this were fixed so that the rulers matched reality!

U-Fong Chua (chuaufong) wrote :

Totally agree. Hope this will be fixed soon (or add this feature to flip the ruler) soon.

Other than that, Inkscape rocks! You guys did awesome job!

joe Berg (bergsigns) wrote :

I am in full agree about this amazing product... and am wondering if the coordinate issue is why it won't sent files to my Universal Laser. Anybody have some light for me? It won't work at all.

joe Berg (bergsigns) wrote :

full agreement, that is.

scott garner (dty6ux-scott) wrote :

A great tool. Just want to bump this, 'cuz.. damn... :)

ottadini (ben-harrison) wrote :

Hello, I'm a bit confused about the status of the fixes / patches to this bug. Krzysztof Kosinski wrote that there were some regressions, and the fix was reverted.
Is this bug going to be fixed in time for the 0.49 release? Just curious, and really hoping it will be.

ScislaC (scislac) wrote :

ottadini: Krzysztof hasn't indicated otherwise. Either way, there is plenty of time and Inkscape 0.49 isn't on the horizon for anytime relatively soon. I really hope when it lands it does also take care of ~suv's (and my own) concern that was mentioned in https://bugs.launchpad.net/inkscape/+bug/170049/comments/32

Stuart Morgan (MythTV) (gbee) wrote :

Forgive me for being a back-seat driver, I know how frustrating it can be to receive unsolicited and uninformed comments from random users, yet here I go any way.

I can't speak for anyone else, but all I really need is for coordinates to be displayed in the GUI using the correct origin and it really doesn't matter at all how they are represented internally.

Does the difficulty in implementing this arise from trying to change the whole internal coordinate system? Some of the comments seem to suggest this because they mention backwards compatibility and the xml (perhaps erroneously because the xml ironically is correct). If that's the case, has the possibility of flipping the values only upon display as an interim fix been considered? This may involve touching more areas of the code than the proper fix, but it sidesteps the backwards compatibility issues and is much less likely to introduce regressions because it shouldn't touch any positioning code.

paul (pchristison) wrote :

I edit metafile technical documents and would love to use Inkscape.

Unfortunately the Y coordinates has been a show stopper for years. (I've fawned over IS for over 4 years wishing I could use it or had the technical knowhow to fix it.)

It is virtually impossible to create or edit any metafile in Inkscape as it reverses the y data points. Even if you only open, then save the document, it reverses the metadata y coordinates.

This is a major incompatibility for using Inkscape as any part of a tool set, or process for technical documents, which relegates it to become a stand alone art tool with very limited use.

A real shame, as its a beautiful piece of work which is missing usage in whole industries due to this single flaw.

Sure you guys are all smarter than I am, but why not make the y axis user configurable . . . and let users deal with the results. A metafile could be embedded in the document itself to "record" the way the document was saved and autoconfig the IS viewer and ruler orientation when opening the file, so it doesn't create incompatibility between Inkscape users.

paniq (paniq) wrote :

Longtime Inkscape user, very much love the app and will use and recommend it for many years to come, but the fact that this bug has been filed 9 years ago, is prioritized "High" and still not fixed makes me chuckle a bit.

Like many others, I need to be able to write off x/y origins in images into stylesheets, and it's unnerving having to fire up python and convert each y coordinate via document_height - y. If you guys can't fix it at the XML level, please just give me an alternate mode for the lower right X/Y coordinates for a start, that would already help sooo much.

Don't try to get the holy grail, have a heart and live with a hack for a while, will ya? :)

ScislaC (scislac) wrote :

The reality is that we acknowledge the importance of the bug, but we need to actually fix it, not put a bandaid on it. Something that tends to happen if a "hack" fix is applied, the real underlying problem is never addressed and properly fixed. At one point Krzysztof had applied a coordinate fix to trunk, but it still had some issues which need to be worked out. It's still targeted for the next major Inkscape release (0.49), so there's still hope for you that it will be fixed in the next major release. Oh, and the holy grail for the coordinates fix would actually be fully customizable coordinates.

v1nce (vincent-pennec) wrote :

I'm with ~suv about 1.quadrant coordinate system being quite handy.

I don't understand why the SVG spec didn't include an option to invert the Y-Axis.
Sure you can use a scale 1,-1 for the root viewport but then the text will be drawn upside down.

ScislaC (scislac) on 2012-11-19
Changed in inkscape:
milestone: 0.49 → none
ottadini (ben-harrison) wrote :

> Changed in inkscape:
> milestone: 0.49 → none

Hi devs, very sad to see this fall down. I wonder if there can be a different way to solve this?

paul (pchristison) wrote :

7 years watching this. I concur, its sad this is not addressed. It is a block on following SVG standards and a block of serious nag to many would be user's.

What can us non-dev folks do to help make this happen?

Well. One proposal could be to put a bounty on FreedomSponsors.org . Let's
put it there and make some noise :) . Gimp will get a vastly improved
resizing tool thanks to sponsors there.

I've had this gripe with Inkscape for as long as I've used it too. I'm
coping, thought, no problem.
Actually, I'm using Inkscape as the main editor in my work as a UI designer
for the last 1.5 years and I'm pretty happy with the results. For me, it's
clearly time to pay back that favour, even in hard cash.

On Sun, Jan 13, 2013 at 7:27 PM, paul <email address hidden> wrote:

> 7 years watching this. I concur, its sad this is not addressed. It is
> a block on following SVG standards and a block of serious nag to many
> would be user's.
>
> What can us non-dev folks do to help make this happen?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

Jarl Arntzen (jarl-arntzen) wrote :

Hi everyone. I registered this issue in the "kickstarting" section on FreedomSponsors. This means that if you need this issue that bad, you can go to http://www.freedomsponsors.org/core/issue/127/create-moveable-ruler-origin-in-inkscape-inverted-co-ordinate-system and offer a few bucks for it.

I'm offering $30 for starters.

Jarl Arntzen (jarl-arntzen) wrote :

Hi everyone. I need this bug/feature so much that I'm willing to pay 30.00 bucks for it.
 This offer is registered at FreedomSponsors (http://www.freedomsponsors.org/core/issue/127/create-moveable-ruler-origin-in-inkscape-inverted-co-ordinate-system).
 Once you solve it (according to the acceptance criteria described there), just create a FreedomSponsors account and mark it as resolved (oh, you'll need a Paypal account too)
 I'll then check it out and will gladly pay up!

 If anyone else would like to throw in a few bucks to elevate the priority on this issue, you should check out FreedomSponsors!

paul (pchristison) wrote :

Thanks for the feedback . . .

Thinking out loud, I'm willing to put a bounty pledge in if someone on the
Inkscape dev leadership team can come up with scope.

Anyone interested in seeing if we can "crowd fund" this issue to the point
we get leading stakeholders of Inkscape involved ? ? ?

In the meanwhile, i'll look into FreedomSponsors . . . when I have a chance.

On Tue, Jan 15, 2013 at 4:38 PM, Jarl Arntzen <email address hidden>wrote:

> Well. One proposal could be to put a bounty on FreedomSponsors.org . Let's
> put it there and make some noise :) . Gimp will get a vastly improved
> resizing tool thanks to sponsors there.
>
> I've had this gripe with Inkscape for as long as I've used it too. I'm
> coping, thought, no problem.
> Actually, I'm using Inkscape as the main editor in my work as a UI designer
> for the last 1.5 years and I'm pretty happy with the results. For me, it's
> clearly time to pay back that favour, even in hard cash.
>
>
> On Sun, Jan 13, 2013 at 7:27 PM, paul <email address hidden> wrote:
>
> > 7 years watching this. I concur, its sad this is not addressed. It is
> > a block on following SVG standards and a block of serious nag to many
> > would be user's.
> >
> > What can us non-dev folks do to help make this happen?
> >
> > --
> > You received this bug notification because you are subscribed to the bug
> > report.
> > https://bugs.launchpad.net/bugs/170049
> >
> > Title:
> > Inverted ruler co-ordinate system
> >
> > To manage notifications about this bug go to:
> > https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
> >
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> In Progress
> Status in “inkscape” package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

--
--
Paul

paul (pchristison) wrote :
lemasney (lemasney-gmail) wrote :

I just sponsored the freedomsponsors project for $30.

vaifrax (vaifrax) wrote :

I tried to simply add a multiplier and an offset for each ruler which seems to work as expected. (I did not yet manage to link scalar input values of the gui to the actual values but this should not be hard.)

This idea could solve the problem of some users I guess, however there would be a few open questions or issues:
- should new grids by default have their origin set at the current ruler origin?
- coordinates in the svg are not influenced, it's just the ruler numbers that change
- what's the best way to integrate in the gui? 4 number input fields for multipliers and offsets could be used
- for my default A4 page, setting an inverted y axis requires the user to enter a non integer ruler offset, that's not user friendly at all
- with this solution, an inverted y axis might introduce precision issues due to a double transformation
- an advantage is compatibility, nothing changes (except additional metadata how to display the rulers)

Would this be an acceptable solution? How should the gui look like?

paul (pchristison) wrote :

Thanks for joining the bounty group, Lemasney.

paul (pchristison) wrote :

Vaifrax - below is an attempted patch which may give you approach insight. https://bugs.launchpad.net/inkscape/+bug/170049/+attachment/1261051/+files/invert-ruler-v1.diff

I know it broke others things, but not exactly sure what. After that there has been no real effort described.

Just so you understand, each person's bounty may have slightly different requirements, so review them.

Maybe they can be fully combined into a single spec. Also, some of us only require an install or a working version, while others require the fix to be in an approved released.

I'm willing to pay for a reasonably stable working version . . .

I'll try to write some out some basic requirements for my needs . . . give me several days to get back to you.

paul (pchristison) wrote :

Bounty for this fix including adding dpi to the ruler scale is now at $170.
http://www.freedomsponsors.org/core/issue/127/inverted-ruler-co-ordinate-system

lemasney (lemasney-gmail) wrote :

It's my pleasure. In regards to the way in which it should be implemented,
it's been resolved in other systems, like Corel Draw, with a click and drag
from corner where rulers meet to set origin. I think this would work
perfectly.

On Fri, Feb 8, 2013 at 9:36 AM, paul <email address hidden> wrote:

> Bounty for this fix including adding dpi to the ruler scale is now at $170.
>
> http://www.freedomsponsors.org/core/issue/127/inverted-ruler-co-ordinate-system
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> In Progress
> Status in “inkscape” package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

--

John LeMasney
lemasney on Facebook, Twitter, and everywhere else.
http://about.me/lemasney
6095539498
http://john.lemasney.com

vaifrax (vaifrax) wrote :

I have partly implemented what I described in #57, I still have work to do on the GUI elements.
See attached image for how it could look like (this is also the easiest to implement that I can think of for now).

@lemasney: I did not quite understand, click and drag on that corner then moves the origin? Or is the origin set where the mouse drag is released?
Your suggestion from #61 could be used in addition, good idea.

-- Scaling of offset/origin --
In which units should the origin be specified? It could use the 'default units' or the same ones as in the page size settings, but this would in general not match the rulers. If it was scaled by the ruler multiplier it would also change when the multiplier was changed.

-- Grid origin --
It probably often makes sense to specify the grid origin relative to the ruler origin. But sometimes you may want to keep an existing grid steady while just moving the ruler origin, so should there be an option for each grid to choose either 'relative to ruler origin' or 'absolute position'?

I will try to fix a few remaining gui glitches and will report back within a few days.

lemasney (lemasney-gmail) wrote :

So to be clear. Where the vertical ruler and the horizontal ruler meet in
the upper left hand corner, click and drag out as though you were dropping
a grid line. Instead of a grid line, you'd set the origin of the ruler. It
would also set the origin of the grid. Units and other measurements should
be inherited from the document settings.

On Sat, Feb 9, 2013 at 4:23 AM, vaifrax <email address hidden> wrote:

> I have partly implemented what I described in #57, I still have work to do
> on the GUI elements.
> See attached image for how it could look like (this is also the easiest to
> implement that I can think of for now).
>
> @lemasney: I did not quite understand, click and drag on that corner then
> moves the origin? Or is the origin set where the mouse drag is released?
> Your suggestion from #61 could be used in addition, good idea.
>
> -- Scaling of offset/origin --
> In which units should the origin be specified? It could use the 'default
> units' or the same ones as in the page size settings, but this would in
> general not match the rulers. If it was scaled by the ruler multiplier it
> would also change when the multiplier was changed.
>
> -- Grid origin --
> It probably often makes sense to specify the grid origin relative to the
> ruler origin. But sometimes you may want to keep an existing grid steady
> while just moving the ruler origin, so should there be an option for each
> grid to choose either 'relative to ruler origin' or 'absolute position'?
>
> I will try to fix a few remaining gui glitches and will report back
> within a few days.
>
> ** Attachment added: "possible user interface"
>
> https://bugs.launchpad.net/inkscape/+bug/170049/+attachment/3521809/+files/ruler-ui-suggestion.png
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> In Progress
> Status in “inkscape” package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

--

John LeMasney
lemasney on Facebook, Twitter, and everywhere else.
http://about.me/lemasney
6095539498
http://john.lemasney.com

Jarl Arntzen (jarl-arntzen) wrote :

@vaifrax: Cool stuff. I look forward to testing this out. The main task is to make the origin move at all and to make sure that the rest of the app still works as it should. E.g. moving origin to top left corner and then enter some positive numeric x/y values should work but I'm willing to test any partial solution towards that too.

vaifrax (vaifrax) wrote :

Due to some problems I have with the gui and to make future changes easier, I'm rewriting the gui code I had so far.

@jarl-arntzen: have you tested my partial solution?

lemasney (lemasney-gmail) wrote :

I'm also willing to test. Was there a link to a patch or build? I'm on a
Mac, so it may diversify the test.

On Thu, Feb 14, 2013 at 9:57 AM, vaifrax <email address hidden> wrote:

> Due to some problems I have with the gui and to make future changes
> easier, I'm rewriting the gui code I had so far.
>
> @jarl-arntzen: have you tested my partial solution?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> In Progress
> Status in “inkscape” package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

--

John LeMasney
lemasney on Facebook, Twitter, and everywhere else.
http://about.me/lemasney
6095539498
http://john.lemasney.com

vaifrax (vaifrax) wrote :

@lemasney: here is a partially working first step to a possible solution which only affects rulers and mouse pointer status coordinates:
https://code.launchpad.net/~vaifrax/inkscape/bugfix170049
You can find text boxes in the document properties; in the current state keyboard input does not always trigger an update, make sure to subsequently click on the spinner buttons (up/down) to trigger the update.
Thanks for testing.

My attempt rewriting the GUI part currently fails with a crash, I guess it will still take me some time to finish.

vaifrax (vaifrax) wrote :

I rewrote the gui code and hopefully fixed all issues, please test.
Use the patch or branch https://code.launchpad.net/~vaifrax/inkscape/bugfix170049

future work:
- for convenience, add buttons to set origin relative to page (see #62)
- for convenience, add draggable origin (see #61, #63)
- use origin as default for new grids
- optionally specify guides relative to this origin

vaifrax (vaifrax) wrote :

oops, found some debugging messages I forgot, updated now

lemasney (lemasney-gmail) wrote :

Exciting! Can't wait to test.

On Fri, Feb 15, 2013 at 5:19 PM, vaifrax <email address hidden> wrote:

> oops, found some debugging messages I forgot, updated now
>
> ** Patch added: "removed some more debugging messages"
>
> https://bugs.launchpad.net/inkscape/+bug/170049/+attachment/3530900/+files/bugfix170049_partial2.patch
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> In Progress
> Status in “inkscape” package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

--

John LeMasney
lemasney on Facebook, Twitter, and everywhere else.
http://about.me/lemasney
6095539498
http://john.lemasney.com

Jarl Arntzen (jarl-arntzen) wrote :

I'll get around to test a build tonight or tomorrow. Sorry about the delay.
Den 16. feb. 2013 00.40 skrev "lemasney" <email address hidden>
følgende:

> Exciting! Can't wait to test.
>
>
> On Fri, Feb 15, 2013 at 5:19 PM, vaifrax <email address hidden>
> wrote:
>
> > oops, found some debugging messages I forgot, updated now
> >
> > ** Patch added: "removed some more debugging messages"
> >
> >
> https://bugs.launchpad.net/inkscape/+bug/170049/+attachment/3530900/+files/bugfix170049_partial2.patch
> >
> > --
> > You received this bug notification because you are subscribed to the bug
> > report.
> > https://bugs.launchpad.net/bugs/170049
> >
> > Title:
> > Inverted ruler co-ordinate system
> >
> > Status in Inkscape: A Vector Drawing Tool:
> > In Progress
> > Status in “inkscape” package in Ubuntu:
> > Triaged
> >
> > Bug description:
> > The y-axis of the rulers' co-ordinate system is
> > inverted (increasing upwards), and places the origin on
> > the bottom left of the viewport. The SVG spec places the
> > default origin on the top left of the viewport, and has
> > the co-ordinate system increasing to the right and
> > downwards.
> >
> > To manage notifications about this bug go to:
> > https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
> >
>
>
> --
>
> John LeMasney
> lemasney on Facebook, Twitter, and everywhere else.
> http://about.me/lemasney
> 6095539498
> http://john.lemasney.com
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

vaifrax (vaifrax) wrote :

another update, in case you use autotools the new files were not compiled, fixed now (thanks ~suv)

vaifrax (vaifrax) wrote :

Could someone else than me test the patch and report back, please?
I won't continue with improvements until the more experienced devs agree that this is the way to go.
cheers

Jarl Arntzen (jarl-arntzen) wrote :

@vaifrax: Hi! I havn't been able to build this on my system yet due to other commitments. I would however like to pay you for your efforts so far and I'd like to encourage you to keep up the good work. I'll pay my original pledge now and make a new one so you can keep on improving this.

However, when I attempt to make the payment on FreedomSponsors.org, I get this error message:

"The programmer(s) who solved this issue do not have a verified Paypal account yet, so you cannot pay them at this time.
Please leave a comment for them, asking them to update their profile page with an email of a verified Paypal account, then come back here again."

Have you added your PayPal account info to FreedomSponsors.org?

vaifrax (vaifrax) wrote :

@jarl-arntzen: Thanks. Even though I spent many days trying to get this little bit of patch working (mainly because of lack of experience), I'm not sure if this idea of mine will be an accepted solution and make it into the official build. I'm not against receiving money but especially in this case it is probably better spent for something else.

If I continue to improve this does not depend on money but rather on some dev's opinions if this makes sense. And I hope this will be soon as I will have very little time from April on.
Anyway, I will write an email to the dev mailing list and try to get some attention to the topic there.

Can someone give a hint where money is needed most? Servers, build infrastructure? Support for meetings for developers?

Krzysztof Kosinski (tweenk) wrote :

The patch by vaifrax does not address the actual issue, which is that Inkscape internally uses 'desktop coordinates' in many places. These 'desktop coordinates' are hardcoded as an Y-grows-upwards system that starts at the bottom left corner of the page. A proper solution will be composed of two parts:

1. Remove the dependence on the desktop-to-document transformation from all code that deals with document elements rather than UI elements
2. Provide an UI to set an arbitrary zoom transform (e.g. scaling + translation) as the desktop-to-document transformation.

The patch from vaifrax does only 2 and only partially, since it does not actually change the desktop-to-document transformation, but tacks on an extra transformation between some of the UI controls and the desktop coordinates. This approach further complicates things and is untractable in the long run.

Furthermore, fixing this problem requires removing or significantly rewriting support for 3D boxes, which contain a fatal bug and write desktop coordinates to the SVG.

vaifrax (vaifrax) wrote :

I tried looking at the svg side and I'm a little confused.

How about, as a first step, modifying inkscape so that rulers and mouse pointer coordinate status use the origin that is indirectly defined by the viewbox? What about the viewbox units? Second step would be a gui to actually configure the viewbox within inkscape in a user friendly way. Finally, using those coordinates directly for new objects instead of inserting another transformation (I think this is what Krzysztof wrote in the previous post).
(viewbox reference: http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute )
I played around with a hand coded svg, in case anyone else is interested I attached it.

This alone does not allow setting up an inverted y axis (to enable having y axis pointing up like now) but it looks like there is a ‘svg:transform’ attribute for that. Inverting the axis would also require things like flipping text, I think?
(svg:transform reference: http://www.w3.org/TR/SVG/coords.html#SVGGlobalTransformAttribute )

Maybe it helps if we can agree on how coordinate systems should be defined in the svg and how inkscape should display units and rulers?
I feel like I haven't really understood all issues.

lemasney (lemasney-gmail) wrote :

I was not able to compile for Mac OS. I'm sure it's no fault of anyone but
me, but this is why I have not been able to test.

On Thu, Feb 28, 2013 at 2:34 PM, vaifrax <email address hidden> wrote:

> I tried looking at the svg side and I'm a little confused.
>
> How about, as a first step, modifying inkscape so that rulers and mouse
> pointer coordinate status use the origin that is indirectly defined by the
> viewbox? What about the viewbox units? Second step would be a gui to
> actually configure the viewbox within inkscape in a user friendly way.
> Finally, using those coordinates directly for new objects instead of
> inserting another transformation (I think this is what Krzysztof wrote in
> the previous post).
> (viewbox reference: http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute)
> I played around with a hand coded svg, in case anyone else is interested I
> attached it.
>
> This alone does not allow setting up an inverted y axis (to enable having
> y axis pointing up like now) but it looks like there is a ‘svg:transform’
> attribute for that. Inverting the axis would also require things like
> flipping text, I think?
> (svg:transform reference:
> http://www.w3.org/TR/SVG/coords.html#SVGGlobalTransformAttribute )
>
> Maybe it helps if we can agree on how coordinate systems should be defined
> in the svg and how inkscape should display units and rulers?
> I feel like I haven't really understood all issues.
>
> ** Attachment added: "viewbox with origin in the center of the page"
>
> https://bugs.launchpad.net/inkscape/+bug/170049/+attachment/3551689/+files/viewbox-test.svg
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> In Progress
> Status in “inkscape” package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

--

John LeMasney
lemasney on Facebook, Twitter, and everywhere else.
http://about.me/lemasney
6095539498
http://john.lemasney.com

Changed in inkscape:
status: In Progress → Triaged
milestone: none → 1.0
Jayson Bourne (jaysonb) wrote :

Having read all that is written here over several years I came to the following conclusion:

Surely somewhere someone must be sitting laughing at us, because they know something we don't.
Every time someone tries to address this issue it gets shot down. Without explanation!
The developers don't seem to need the correct SVG coordinate system, and don't care to fix it for their users.

Half the people on here are now willing to pay to get this working and I am sure there are or will be pay-for apps out there that comply to the SVG spec regarding this issue.

It is ok to say your application has been downloaded x-million times, but how many of those people uninstalled it shortly afterwards because of unfixed bugs like this?

I'm outta here... This is not worth the effort.

Keep your broken-ware!

Jayson

ScislaC (scislac) wrote :

Jayson: Thank you for adding absolutely nothing of value here other than whining that a free piece of software isn't the most perfect tool for you personally. It HAS been discussed about why various attempts to fix this over the years have been shot down... basically we need to maintain compatibility with documents created in the past and fix it properly once and for all. Various features in the software currently expect the coordinates to exist as they do now and it's not a quick fix. If it was, it would have been fixed.

I'm sorry you feel somehow personally slighted for something nobody has asked you to pay for or to use. We're currently working with our legal counsel on the framework to allow payed projects under the umbrella of our organization and I wouldn't be surprised if someone were to take this on once that is in place. Either way, almost everyone who works on this project is volunteering. Anyone being payed is being done so by a third party and the terms of their arrangement (including what they are working on) is not something we have control over.

lemasney (lemasney-gmail) wrote :

ScislaC++

I love all that you (and team) do, always. I use Inkscape every day,
and love all of it, even the parts that are not perfect, because it's free,
it's ours, and if I wanted to, I could learn how to fix it myself. I
certainly
would not complain about any piece of open source software not being
exactly as I wanted it, since the point of open source software is that
I can make it precisely as I wish at any time. I have that ability.

Thank you.

John LeMasney.

Take a look at my portfolio of design work:
http://lemasney.com/consulting/design-portfolio/
See my schedule and propose a meeting here: http://www.doodle.com/lemasney
Check out my upcoming public
talks<https://www.google.com/calendar/embed?src=pdst7j4q666373rccaibb6osuk%40group.calendar.google.com&ctz=America/New_York>
on
technology, design and more.
Subscribe to lemasney.com updates
here<http://lemasney.com/consulting/?blogsub=confirming#subscribe-blog>to
read what I have to say about design, technology, and branding in your
email.

John LeMasney
<email address hidden>
609-553-9498
lemasney.com

On Sun, Mar 9, 2014 at 4:29 AM, ScislaC <email address hidden> wrote:

> Jayson: Thank you for adding absolutely nothing of value here other than
> whining that a free piece of software isn't the most perfect tool for
> you personally. It HAS been discussed about why various attempts to fix
> this over the years have been shot down... basically we need to maintain
> compatibility with documents created in the past and fix it properly
> once and for all. Various features in the software currently expect the
> coordinates to exist as they do now and it's not a quick fix. If it was,
> it would have been fixed.
>
> I'm sorry you feel somehow personally slighted for something nobody has
> asked you to pay for or to use. We're currently working with our legal
> counsel on the framework to allow payed projects under the umbrella of
> our organization and I wouldn't be surprised if someone were to take
> this on once that is in place. Either way, almost everyone who works on
> this project is volunteering. Anyone being payed is being done so by a
> third party and the terms of their arrangement (including what they are
> working on) is not something we have control over.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/170049
>
> Title:
> Inverted ruler co-ordinate system
>
> Status in Inkscape: A Vector Drawing Tool:
> Triaged
> Status in "inkscape" package in Ubuntu:
> Triaged
>
> Bug description:
> The y-axis of the rulers' co-ordinate system is
> inverted (increasing upwards), and places the origin on
> the bottom left of the viewport. The SVG spec places the
> default origin on the top left of the viewport, and has
> the co-ordinate system increasing to the right and
> downwards.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/inkscape/+bug/170049/+subscriptions
>

To post a comment you must log in.