Closed ValdikSS closed 3 months ago
These are apparently all supported page sizes in Windows 11, extracted from C:\Windows\System32\APMon.dll
(and also from here)
OK, so first the Gutenprint PPD paper size dimensions are screwy - 4x6 is 4.13x6.4, for example - which is why you are seeing such strange sizes reported from CUPS. Nothing we can do here because we can only expose what the driver is reporting and having PaperDimension not matching the size names is only going to cause problems. Report that bug to the Gutenprint folks, please.
WRT what Android/Windows support for media sizes, we have reported this issue to Microsoft and Mopria before and they have promised to provide a fix, but I don't have an ETA and, again, there isn't anything we can do to "fix" this since we don't control their software. They have similar issues with "oddball" resolutions (like 203dpi/8-dots/mm which is a VERY common resolution for thermal printers) and other otherwise standard IPP features/values. They are working on it but right now their primary focus is on office/document printing and not photo/label/receipt printing.
Wish I had a better answer for you...
we have reported this issue to Microsoft and Mopria before and they have promised to provide a fix
Did you report the issue to MS in public, on forum or via Feedback Hub? Do you have a link?
there isn't anything we can do to "fix" this since we don't control their software
Well maybe someone knows a driver which have all the functions for some existing printer, which still works according to Mopria standards, which could be reused? Windows supports custom page sizes (this is a standard feature of almost all proprietary driver), but this option should be added to the .gpd file.
Could you pin this issue for more visibility please?
//gutenprint bug: https://sourceforge.net/p/gimp-print/mailman/gimp-print-devel/thread/93406d3f-b877-46be-a2c8-de73924f90ef%40valdikss.org.ru/#msg58801121
we have reported this issue to Microsoft and Mopria before and they have promised to provide a fix
Did you report the issue to MS in public, on forum or via Feedback Hub? Do you have a link?
I had reported both publicly and via direct email; I don't have a public feedback URL (the only one I can find only works on Windows and only when I am logged in, so I don't think that would be useful...)
there isn't anything we can do to "fix" this since we don't control their software
Well maybe someone knows a driver which have all the functions for some existing printer, which still works according to Mopria standards, which could be reused? Windows supports custom page sizes (this is a standard feature of almost all proprietary driver), but this option should be added to the .gpd file.
OK, so AirPrint, Mopria, IPP Everywhere, and Wi-Fi Direct Print Services (the various "driverless" standards in rough order of popularity/usage) all use a single "driver" on the various Client OS's. Android is the only platform that has interchangeable print providers, but I can't recommend a specific one since the "best" varies based on what version of Android you are using... :/
For Windows, please do file your own issues with Microsoft to raise awareness - they've been very responsive when I've reported issues, and they are keen to have good IPP support since that is what Azure depends on...
I don't have a public feedback URL (the only one I can find only works on Windows and only when I am logged in, so I don't think that would be useful...)
Yes, this is now their Feedback Hub works, only in their app. Please give a link, I could at least "me too" it.
all use a single "driver" on the various Client OS's
Yes, but there are Print Support Application (PSAs) which add additional options, including custom page size. Maybe there is such app which could be installed for any IPP printer, without any bound to the manufacturer or model? This is what I'm looking for.
These are apparently all supported page sizes in Windows 11, extracted from
C:\Windows\System32\APMon.dll
(and also Spoiler
I have a Windows 11 Insider build 25 ARM version from last September or so and there I can choose custom paper sizes, so I would like to compare the content of the dlls. How did you extract the sizes from the dll? ResourceHacker?
This is the printer settings from Microsoft Windows 11 Home Insider Preview, and you can see the custom paper format: Version 10.0.25967 Build 25967
@Siedlerchr, interesting, thanks for sharing. Could you share your .ppd as well? I'll try to install the latest Insider Preview and test it.
Updated to Windows 11 home 24H2 26120.1330 (dev channel) — no changes whatsoever.
This printer reports both custom_min_
/custom_max_
in media-supported
and paper x/y range in media-size-supported
.
@Siedlerchr, could you please share .ppd and maybe IPP information?
I have impemented a virtual IPP printer server (for work) so I have full control over the attributes. Obviously, I cannot share everything here, but here is an excerpt from my media stuff:
Basically, I put my custom paper format in every media* related stuff (media col, media col db, media-col-ready) I figured most of the stuff out via wireshark by observing a real printer (Wireshark has a filter for ipp). That involed a lot of trial and error.
e.g.
media-supported (1setOf keyword): 'na_index-4x6_4x6in','om_84.67x63.50-label_84.67x63.50mm'
name: media-supported
keyword value: na_index-4x6_4x6in
keyword value: om_84.67x63.50-label_84.67x63.50mm
name: media-col-database
collection {media-bottom-margin,media-left-margin,media-right-margin,media-size{x-dimension,y-dimension},media-size-name,media-source,media-top-margin,media-type}
memberAttrName: media-bottom-margin
integer value: 1
memberAttrName: media-left-margin
integer value: 1
memberAttrName: media-right-margin
integer value: 1
memberAttrName: media-size
collection {x-dimension,y-dimension}
memberAttrName: x-dimension
integer value: 10160
memberAttrName: y-dimension
integer value: 15240
memberAttrName: media-size-name
keyword value: na_index-4x6_4x6in
memberAttrName: media-source
keyword value: main-roll
memberAttrName: media-top-margin
integer value: 1
memberAttrName: media-type
keyword value: labels
collection {media-bottom-margin,media-left-margin,media-right-margin,media-size{x-dimension,y-dimension},media-size-name,media-source,media-top-margin,media-type}
memberAttrName: media-bottom-margin
integer value: 0
memberAttrName: media-left-margin
integer value: 0
memberAttrName: media-right-margin
integer value: 0
memberAttrName: media-size
collection {x-dimension,y-dimension}
memberAttrName: x-dimension
integer value: 8467
memberAttrName: y-dimension
integer value: 6350
memberAttrName: media-size-name
keyword value: om_84.67x63.50-label_84.67x63.50mm
memberAttrName: media-source
keyword value: alternate-roll
memberAttrName: media-top-margin
integer value: 0
memberAttrName: media-type
keyword value: labels
Not really an issue, but a question which may be useful for others as well (x-post from similar question https://github.com/michaelrsweet/lprint/issues/149)
Some printers, like Citizen CX-02 compact photo printer, use less-standard media sizes of IPP standard:
CX-02 GutenPrint PPD file contains the following sizes, using what it seems should have been PageRegion/ImageableArea for whatever reason (the dimensions are slightly larger than the described page sizes):
The following sizes are reported over IPP by CUPS. CUPS is unable to map any PageSize to a known IPP page size value, using custom everywhere:
This configuration allows to select the following paper sizes:
The printer doesn't support A4 or Letter. You won't be able to properly print on Windows.
After patching the PPD file to use proper sizes, the following is reported via IPP (notice
na_
values):This configuration allows to select the following paper sizes:
Questions:
I've tried to add custom paper size on Windows by creating custom size in Print Server settings — it could not be selected for the printer. Also tried to print from both MS Edge (using standard browser's printing dialogue and system dialogue), as well as from Adobe Acrobat (with its own dialogue). Adding new page size (North America 6x9) by editing
.gpd
file did nothing, and adding a function to define user-defined page sizes as described here did not help either: there's a new option "User-Defined Size" as a paper size, but no way to set this size (probably requires more modification to .gpd).