Question: What is Scrambled Text?
Answer: Most PCL printer drivers assign text characters to temporary download fonts in the order in which they are used in the document. These text characters are unbound to a character set. This means if the first character to be used in a particular font is capital “A”, it will be assigned to character cell position number 1 in the temporary download font.
In HP character sets, cell one is used by a unprintable character used for communication with the printer. So, in the PCL print stream you will see a “smiley face” or some other non-text character. Later on in a 100-page file the same capital “A” might be download many more times and assigned to whatever the next character might be at the time because the printer drivers do not use all the 224 possible text character cells in a single-byte HP font. The printer drivers do this because the double-byte Arial TrueType typeface (for example) that comes with Windows has 1420 characters to support many single-byte HP character sets.
And, the HP printer resident Arial typeface does not contain the same number of characters. So, rather than try to switch back and forth between character sets if the document happened to require text in more than one language in the same typeface and font attributes. Microsoft decided that it would be a lot easier to just download the font characters as they appeared in the document into a temporary font not referencing any character set. We refer to this text unbound to a character set as being “scrambled” text.
Our PCLMagic printer drivers are created from the Windows Device Driver Kit (DDK) from the Unidriver code for the HP monochrome LaserJet 4si (PCL5e) (Upon Request) and HP Color LaserJet (PCL5c) (default for both) printers. They call a custom .dll that inserts the text for each page in Unicode and UTF8 format into hidden, encrypted text objects into the PCL before they are scrambled by the printer driver. We do this for several reasons:
- Extract all the text.
- Reference the text in the print stream to know when to split documents, name the output files, etc.
- Create PDF files with searchable text.
- Generate index files with keywords extracted from the PCL
PCLTool SDK Live Evaluation: http://www.pcltools.com/pt700d/