From: Robert K. <rl...@al...> - 2021-02-25 18:32:18
|
On 2/25/21 1:29 PM, Robert Krawitz wrote: > On 2/25/21 10:09 AM, Matt Broughton wrote: >> >> >>> On Feb 24, 2021, at 11:30 AM, Robert Krawitz <rl...@al...> wrote: >>> >>> On 2/24/21 11:12 AM, Matt Broughton wrote: >>>> >>>> >>>>> On Feb 24, 2021, at 8:50 AM, Robert Krawitz <rl...@al...> wrote: >>>>> Yes. This is suggesting that it's likely the number of options or number of pages of options that's >>>>> the problem. It could still be paper sizes, since the simplified PPD contain fewer. >>>>> >>>>> One other thing to try would be the full PPD for a color laser printer. This contains a lot of >>>>> options, but even the full PPD files support fewer media sizes with laser printers. >>>> >>>> The full PPD for the "Generic PCL Color Laser LF Printer" works fine. All the options are there -- General, Output Control Common, Output Control Extra 1-5. >>>> >>>> There are 19 ImageableArea entries. A check of the ImageableAreas shows no duplicates in size or Landscape of another size. >>> >>> OK. If you're willing to muck with a little bit of code and rebuild, or alternatively edit PPD >>> files by hand, there's something else I'd like to try, to reduce the number of page sizes (either >>> alternative): >>> >>> 1) Reduce the maximum number of paper sizes in genppd. That will require making a small change to >>> it, rebuilding, and regenerating the PPD file(s). You can try number other than 20 to try to narrow >>> down where it happens (which would be useful). If you still have problems with 20 page sizes, the >>> problem lies elsewhere. >>> >>> diff --git a/src/cups/genppd.c b/src/cups/genppd.c >>> index aa47aad8..f132a0d9 100644 >>> --- a/src/cups/genppd.c >>> +++ b/src/cups/genppd.c >>> @@ -467,6 +467,8 @@ print_page_sizes(gpFile fp, stp_vars_t *v, int simplified, >>> >>> stp_describe_parameter(v, "PageSize", &desc); >>> num_opts = stp_string_list_count(desc.bounds.str); >>> + if (num_opts > 20) >>> + num_opts = 20; >>> the_papers = stp_malloc(sizeof(paper_t) * num_opts); >>> for (i = 0; i < num_opts; i++) >>> { >>> >>> 2) Manually edit one of the failing PPD files to cut down on the number of page sizes. There are >>> four places you need to edit, and you need to make sure to have the same page sizes at each point: >>> >>> *OpenUI *PageSize/Media Size: PickOne >>> *OpenUI *PageRegion/Media Size: PickOne >>> *DefaultImageableArea: Letter >>> *DefaultPaperDimension: Letter >> >> Unfortunately that didn't solve the problem. Nothing showed for Printer Features trying to print from Preview app. I also tried BBEdit (a great text editor) and it crashed as soon as I opened the Printer Features menu. I was able to grab the Console log, the System log, and the crash report from BBEdit later today. > > So that suggests that the problem isn't with paper sizes (or that there's another problem). Next > step is around line 1222 in genppd.c: > > int maximum_level = simplified ? > STP_PARAMETER_LEVEL_BASIC : STP_PARAMETER_LEVEL_ADVANCED4; > > Please change STP_PARAMETER_LEVEL_BASIC first to STP_PARAMETER_LEVEL_ADVANCED4 then 3, 2, and 1 to > see when (and if) things start working again. To clarify: use simplified PPD files with all of those tests. If STP_PARAMETER_LEVEL_ADVANCED4 works, don't bother with the others -- the problem will lie elsewhere. |