Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Lowercase Terminator

Lowercase Terminator

Lowercase Terminator

I printed a PDF to a file using the HP Color LaserJet 4550 PCL 5 printer driver. When I took a look at the output PCL file I noticed it had the following commands.

  Ec *r0F
  Ec &l0o
  Ec &12A

I wasn't sure if the printer would just ignore the command with the lowercase terminator. So I tried printing the following commands to a Kyocera FS-4020DN and a SHARP MX-M503N the output from these two printers looked fine.

  Ec*p400xEc*p2500yEc&a90pEc(s0SI'm 90 degrees

According to the PCL specification a terminator is "Any character from the ASCII table within the range 64-94 decimal (\ @ " through \ ^ "). This character specifies the parameter to which the previous value field applies. This character terminates the escape sequence".

I was wondering if someone could explain why the two printers and PCL Viewer I'm using interprets these invalid commands correctly.

~ Thanks

RE: Lowercase Terminator

Or I guess the better question would be why is the HP driver not following the HP specification for PCL command structure?

RE: Lowercase Terminator

The upper case terminator is only needed to separate PCL commands from following data.  As the esc caracter cannot be data, (unless the preceding command is normally followd by binary data), the esc caracter causes the previous lower-case letter to effectively terminate the command.

I would say that is is a logical interpretation and raising an error would be nit-picking.

RE: Lowercase Terminator

Thanks for the quick reply.

RE: Lowercase Terminator

I agree with the explanation by webrabbit, and would just add the following comments:

(a) With a 'combination' sequence (where all parts have the same root (present only at the start of the combination sequence), and all but the last part having a lower-case Parameter character, each part will presumably be interpreted/actioned separately.

(b) So the 'set orientation' command will be recognised and actioned.

(c) The interpreter will then attempt to find the next part (terminated by a lower-case Parameter character, or an upper-case Termination character).

(d) Failing that (as pointed out by webrabbit), the Escape character indicates the start of a new escape sequence.

(e) I've noticed that standard Microsoft-provided drivers have been generating such (theoretically invalid) 'set orientation' sequences for several years now (going back to Windows XP, but still wrong with some Windows 7 drivers).
But I've no idea how to report such errors without being asked to pay for a 'support ticket'.    

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close