Hi Ryo,
I was not aware that PNG images have an optional dots-per-meter specification. Thus, there currently is no attempt to assign such a value when creating raster image files (such as PNG and JPEG.) I do now see in Qt there are the QImage.setDotsPerMeterX and QImage.setDotsPerMeterY methods which presumably set these values (and hopefully not anything more than that). So I can try adding that in.
When PyFerret does need DPI values, for displayed windows it does get the values for the window using the physicalDpiX and physicalDpiY methods of the QMainWindow. For windows that are not displayed (so using the "-nodisplay" command-line option for PyFerret), the default value of 96 DPI is assigned since there is no display to obtain a value from, and that value was pretty standard at the time.
Best,
Karl