On 28.06.2012 20:30, fantasai wrote:
On 06/28/2012 07:10 AM, Ben Bucksch wrote:
Thanks fantasai :-), for the answer.
On 28.06.2012 08:16, fantasai wrote:
so for a 600px image you want printed at 600dpi, size your image as
1in, rather than as 600px, and it should print properly.
Well, it's not as simple as one image, it's a Javascript library that
generates the output. The JS lib must get "4920px" as
width from DOM/style APIs, and that must print as 21cm width in 600
dpi. That would solve it, and I *should* be able to set
this via CSS rules.
In CSS, the ratio of px to cm is fixed
Well, that's the problem, then. It's inherently wrong.
Yes, we realize that. Unfortunately, the correct behavior (which is
described in
older revisions of CSS2.1) turned out to not be Web-compatible: the
Web assumes
everyone is running 96dpi and that therefore 'width: 1in' is equal to
'width: 96px'.
Yes, sure, I know that part. I understand and agree. I don't object for
this to be the default.
I'm just saying that if I make a page specifically for print, I must be
able to explicitly say "I don't want this 'make it look like on the
screen' hack, I want the full device resolution, render the page with
this". I need a (document-wide) CSS rule that sets device pixel == CSS
pixel, or alternatively a concrete dpi value that affects CSS pixels.
I just want my page to use the full printer resolution, I want 4920 CSS
pixel width for a printed DIN A4 page, that's all. That must be possible.
From what I understand, we just need to add the CSS rule and let
nsDeviceContext::SetDPI()
http://mxr.mozilla.org/comm-central/source/mozilla/gfx/src/nsDeviceContext.cpp#281
use it, correct?
Ben
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout