|
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.
|