What I did for all the applications was open them up and push the mouse pointer around and look at the x y values to find the origin. Which reminds me, that’s how I determined that LibreCAD uses the bottom left not the centre, I am talking about its default modelling window, whatever that is called, am I missing the point?
@ Juergen and Yorik (and everyone else)
Did you notice what I said about Inskape having a different origin than the SVG standard, I thought that looked significant. Although svg origin is top left Inscape is using bottom left, so it must be converting somewhere. Could we use that somehow, look at their code, copy it, use the lib that inkscape talks to. Inskcape is a front end and a lib as far as I understand it. So I started reading the link below.
Actually if you look up the SVG standard it actually says that there are two things to consider firstly the "canvas" which is an infinite plane and then "SVG viewport", which is what we can think of as being in effect our paper size. However this is just the initial viewport, which has identical coordinates system with the canvas. You can then nest more viewports inside the initial and subsequent viewports. You then define a transform from one viewport to the viewport in which it is nested. The transforms of different types are available e.g. lineal, skew, rotate. http://www.w3.org/TR/SVG11/coords.html
from the link above
Using the above information, the SVG user agent determines the viewport, an initial viewport coordinate system and an initial user coordinate system such that the two coordinates systems are identical. Both coordinates systems are established such that the origin matches the origin of the viewport (for the root viewport, the viewport origin is at the top/left corner), and one unit in the initial coordinate system equals one "pixel" in the viewport. (See Initial coordinate system.) The viewport coordinate system is also called viewport space and the user coordinate system is also called user space.
this link takes to the specific paragraph on SVG viewport Transformshttp://www.w3.org/TR/SVG11/coords.html# ... wUserSpace
It seems to me that for our drawings we should be using the initial viewport for the paper size then nest another with a lineal transform to define the space for the boarder, then nest another viewport within the nested viewport with the appropriate transforms to flip our orientation of our coordinates system to that which we desire.
Having said all the above, I am only being a 5 minute expert after a quick read. But Inskape must be doing something like this because it is flipping its coordinates system in EXACTLY the manner that we want, based on what Norm said is normal for all those CAD applications he has experience with.