--- old/src/solaris/classes/sun/print/CUPSPrinter.java 2014-07-10 14:45:22.724232210 -0700 +++ new/src/solaris/classes/sun/print/CUPSPrinter.java 2014-07-10 14:45:22.620232214 -0700 @@ -140,6 +140,9 @@ return cupsCustomMediaSNames; } + public int getDefaultMediaIndex() { + return ((pageSizes.length >1) ? (int)(pageSizes[pageSizes.length -1]) : 0); + } /** * Returns array of MediaPrintableArea derived from PPD. @@ -201,8 +204,15 @@ // add this new custom msn to MediaSize array if ((width > 0.0) && (length > 0.0)) { + try { new MediaSize(width, length, Size2DSyntax.INCH, msn); + } catch (IllegalArgumentException e) { + /* PDF printer in Linux for Ledger paper causes + "IllegalArgumentException: X dimension > Y dimension". + We rotate based on IPP spec. */ + new MediaSize(length, width, Size2DSyntax.INCH, msn); + } } }