Prev · NextSTR #4150: TBCP quoting broken in combination with PJL

Status:4 - Pending
Priority:1 - Request for Enhancement, e.g. asking for a feature
Scope:1 - Specific to a machine/printer
Subsystem:Port Monitors
Summary:TBCP quoting broken in combination with PJL
Version: -feature
Created By:StefanBruens
Assigned To:mike
Fix Version:Unassigned
Update Notification:

Receive EMails Don't Receive EMails


Trouble Report Files:

No files


Trouble Report Dialog:

Name/Time/Date/Text
StefanBruens: 14:38 Jul 30, 2012
 
currently, a Job in Postscript format will be get a PJL preambel and postambel, given the corresponding options in the PPD are set.

This is done by the pstops filter.

Afterwards, the data stream might be mangled with the TBCP port monitor.

The second step is broken:

As the TBCP filter does not know the end of the PS data, it cannot recognize the UEL (ESC %-12345X)  sequence in front of the PJL EOJ as such, but quotes the ESC character of the UEL.

The copying of PJL sequences is broken, as the TBCP start marker (0x01 0x4d) is inserted before the "PJL ENTER LANGUAGE".

If a job containing two files (i.e. lp file1.ps file2.ps) is submitted, the two jobs are send concatenated to the backend, whereas the broken PJL EOJ sequence (prefixed with a broken UEL) causes the PS interpreter at least on Kyoceras to drop the remaining data.

The TBCP quoting should be part of the pstops filter, and be applied to all PS jobs with PJL header (see Adobe Serial and Parallel Communications Protocols Specification 5009:
"The tagged binary communicationsprotocol works well, and Adobe recommends its use, on printers that have a language independent software component and arbitrates which language will interpret an incoming job, such as Hewlett Packard’s Printer Job Language (PJL). ")

TBCP should be applied if a PS file does not already contain a TBCP start marker.

 
mike: 19:41 Aug 08, 2012
 
P2.

We used to do TBCP in pstops and imagetops, but that had problems.

Sounds like we need to enhance the TBCP port monitor to recognize embedded PJL.

PJL != TBCP, although they do share the UEL. We can't assume a file with PJL commands has TBCP encoding.

 
StefanBruens: 15:08 Aug 10, 2012
 
> We used to do TBCP in pstops and imagetops, but that had problems.

can you be a little bit more specific? Any testcases, files, printer models ...?

> Sounds like we need to enhance the TBCP port monitor to recognize embedded PJL.

Can never be reliable - if a PJL+PS jobs is not TBCP encoded, the PS part may contain arbitrary sequences, including UEL.

There are two ways for a PS file to be savely contained inside PJL JOB/EOJ sequences - either the PS does not contain the UEL, or it has to be TBCP encoded - please see the quoted Adobe specification, TBCP is recommended for PJL+PS.

 
mike: 07:54 Nov 06, 2012
 
Well, not sure what we are going to do at this point. Changing to RFE for future release, should we come up with a way to address your concerns.