[gl2ps] Translate pixels to points
Pantxo Diribarne
pantxo.diribarne at gmail.com
Sat Feb 4 15:15:50 CET 2017
Le 27/10/2016 à 10:26, Pantxo Diribarne a écrit :
>
>
>
>> I'd like to come back to this discussion in regard to the
>> discrepancy between SVG and EPS output size: from a
>> M-by-N *pixels* opengl viewport, gl2ps draws a M-by-N
>> *points* figure for EPS format and a M-by-N *pixels*
>> figure for SVG format.
>> I think one of those should be fixed.
>>
>> As I said in the beginning of the discussion, I'd vote
>> for introducing a new "resolution" (default 72 pixels per
>> inch) argument for gl2psBeginPage. This would provide a
>> way to translate screen coordinates into whatever units
>> we like in gl2ps.
>>
>> Pantxo
>
> I like your suggestion. That would simplify things. Are
> you working on a patch?
>
> Since "points" has a different meaning for Linux, Windows
> (96 ppi), and Mac (72 ppi), should the default change with
> os? Or is the ppi always 72 for pdf?
>
> Ben
>
>
> Why does the screen resolution (hardware+software) have to be
> OS specific (pure software)?
>
> As for the patch, I'd like to hear opinions before going
> ahead. In particular the approach I propose will change the
> signature of gl2psBeginPage which will force every user to
> change their code. Another less invasive option would be
> adding a "gl2psScreenResolution" function. The drawback is
> that such parameter has no reason to be changed in the middle
> of a drawing so having it fixed from the start seems more
> consistent.
>
> Pantxo
>
>
> Ben, now I think I understand what you meant. Actually it is
> "pixel" that have a different meaning for different systems: some
> use screen(physical) pixels (linux) and others use device
> independent pixels (Mac).
> E.g in Mac carbon API if you request a 10-by-10 pixels window you
> will obtain a 20-by-20 physical pixels window on retina (HDPI)
> screens. This is untrue for the opengl API which always works with
> physical pixels. See e.g.
> http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/
> <http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/>
>
> This tells us that a "resolution" argument should be expressed in
> physical(screen)-pixels per inch.
>
> Pantxo
>
>
> I went ahead and produced a patch (see attached). I chose the invasive
> approach (adding an argument to gl2psBeginPage) since the resolution
> must be known at the very beginning of the process.
>
> Pantxo
>
>
Did someone have time to test/look at the patch? Does this feature have
a chance to make it into gl2ps? Should it be reworked so that it doesn't
break the API?
Thanks in advance for your time.
Pantxo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gl2ps/attachments/20170204/831eafb0/attachment.html>