-
×InformationNeed Windows 11 help?Check documents on compatibility, FAQs, upgrade information and available fixes.
Windows 11 Support Center.
-
×InformationNeed Windows 11 help?Check documents on compatibility, FAQs, upgrade information and available fixes.
Windows 11 Support Center.
- HP Community
- Printers
- LaserJet Printing
- How do I use internal printer fonts such as lineprinter
Create an account on the HP Community to personalize your profile and ask a question
02-16-2018 01:47 AM
I just want to use some of the internal printer fonts both scalable and bitmapped.
My print driver is HP-PCL6
Solved! Go to Solution.
Accepted Solutions
02-18-2018 05:52 AM - edited 02-18-2018 06:00 AM
>> ... I tried to print it to my printer using PCL paraphernalia and nothing happened ...
I assume that you mean you used the PRN File Print tool in the application.
How was the Target printer defined?
>> ... I have network shared my printer as \\TJ25-PC\M180 ...
>> ... my printer is connected by USB and no real network is involved ...
I'm not entirely sure from this how your printer is set up.
Are you saying that the printer is attached to workstation \\TJ25-PC via a USB cable, but that you are attempting to run the PCL Paraphernalia tool on a different workstation and identify the printer via this sharename?
If so, I've never tried this, so don't know if it would be a problem.
>> ... The printer printed out a page with
[ZoneTransfer]
ZoneId=3
ReferrerUrl=D:\TJ25\Computing\test-pjl.zip
This doesn't appear to be anything to do with the test file I supplied.
>> ... I therefore think that the reason PCLparaphernalia does not work with network printers is that it does not allow for the simple network shared device as opposed to a real wireless or wired network with IP ...
This may well be the case - as a retired contributor, I don't have the necessary equipment to test out this type of configuration.
I'd suggest that this method of connection is effectively using your other workstation as a Print Server.
The tools certainly work (with my limited range of printers) if the Target is configured as a "Windows printer" and identified via its Windows printer name on the current workstation (from the drop-down list provided in the Configure... dialogue); note that this name is not the same as the share name of a device connected to a separate workstation.
If the Target is to be defined as a Network printer (always my preferred option), the configuration requires that the TCP/IP address be provided - but (according to your statements) your printer is not connected in this way (even though, as an 'n' model, it could be).
>> ... I similarly think that the reason PCLparaphernalia does not work with my windows printer is because it requires the PCL XL commands as shown within hello world ...
I don't think that this is the case - of the PJL commands you quote, the only mandatory one is the PJL ENTER LANGUAGE = PCLXL
The jobs generated by the tools start with a Universal Exit Language escape sequence (to invoke PJL mode) and include the 'enter language' command as the last such command before the set of Page Description Language-specific page rendering sequences (the PDL being PCL or PCL XL as requested in the relevant dialogue).
>> ... tell me where, I can zip and send it ...
You can always contact me via the support mailbox 'at' pclparaphernalia.eu
02-16-2018 08:19 AM
>> ... How do i use internal printer fonts?
The answer to this rather depends on what features the application(s) and printer driver(s) you are using 'expose'.
With standard applications/drivers, it is probably the case that you can use any of the available fonts:
- if the (Windows) workstation has TrueType display fonts equivalent to the target printer-resident fonts (and you select one or more of these fonts in your application), the driver may dynamically construct and download a printer-format soft font equivalent of the donor TTF in the generated print job.
- Selecting the TrueType font = "Substitute with Device Font" option in the Printer Properties Advanced dialogue should instead force the driver to substitute suitable device fonts.
This all depends on you having the required fonts available as display fonts.
This may be the case if you have Office installed.
LinePrinter can be problematic, as this is a bitmap font - there used to be a display version made available, but I'm not sure if this is still the case.
Try the Font Sample tool in the PCL Paraphernalia application (available via https://www.pclparaphernalia.eu ) to see how your printer prints the various 'standard' resident fonts, using either PCL5 or PCL XL (PCL6) print jobs - the tool uses internal 'drivers'.
02-16-2018 10:53 AM
Thanks for your quick response. It is much appreciated.
I have downloaded the tool and I will investigate further.
It is surprising that HP provides 85 fonts in my printer but I cant reliably select them all.
You would have thought that PCL 6 would have some normally highly unprobable escape sequence such as 5 bytes of 0xFD and could then go into PCL5 mode and you would probably need some timeout if there was no escape back. This would then make it fairly easy.
Once again thank you but I may have more questions and so I wont mark this as an answer yet.
02-17-2018 06:47 AM
>> ... You would have thought that PCL 6 would have some normally highly unprobable escape sequence ...
Not as such, although PCL XL Class/Revision 3.0 does include the PCLSelectFont attribute to the SetFont operator.
The attached .zip file contains a sample print file (and an analysis of same) which:
- Prints the characters 'acbde' using the Arial font as selected using standard PCL XL font selection.
- Prints the same characters using the Wingdings font as selected using its PCL characteristics, via use of the PCLSelectFont attribute.
The analysis shows the difference between the two font selects:
But very few printers support this attribute; 'sending' the content of the sample print job to some locally available printers yields the following results:
- LaserJet 1320n fails with a PCL XL "UnsupportedProtocol" error - this is because this printer only supports PCL XL C/R 2.0 (not 3.0).
- LaserJet pro 400 Colour MFP M475dn fails with a PCL XL "IllegalAttribute" error - this printer appears to be a hybrid, in that it supports C/R 3.0, but not all of the more obscure additions introduced in that update.
- PageWide Enterprise Colour 556 prints the data as expected:
... and use of such sequences is almost certainly not supported by 'standard' drivers, so this presupposes that you'd be generating your own (PCL XL) print jobs without use of such a driver.
02-17-2018 01:03 PM
Once again thank you for your prompt response.
I downloaded the file and analysed it with the same as your response.
I tried to print it to my printer using PCL paraphernalia and nothing happened.
I initially used the windows printer and I tried using a few of the other tools. I tried powering off and on the printer so that nothing was stuck but to no avail.
I have network shared my printer as \\TJ25-PC\M180
I the copied the PCL5FontSelect.pxl file to the printer with the dros command line:
Copy / b PCL5FontSelect.pxl \\TJ25-PC\M180
The printer printed out a page with
[ZoneTransfer]
ZoneId=3
ReferrerUrl=D:\TJ25\Computing\test-pjl.zip
I think the last line was because I first did this with test-pjl file after unzipping it strangely enough.
I couldn’t configure my network printer with PCLParaphernalia as it only allows IP input with a real wireless or wired network whereas my printer is connected by USB and no real network is involved and no HomeGroup.
I note from your release notes that USB printers are supposed to be OK.
I then created a Hello World word document and printed it to a file and when I did the same:
Copy/b helloworld.prn \\TJ25\M180
The printer produced exactly the same output as when I printed it straight to the printer.
I therefore think that the reason PCLparaphernalia does not work with network printers is that it does not allow for the simple network shared device as opposed to a real wireless or wired network with IP.
I similarly think that the reason PCLparaphernalia does not work with my windows printer is because it requires the PCL XL commands as shown within hello world.
The Analysis of the file starts off as
Offset: hex Type Sequence Description
------------- --------------------- ---------------- ----------------------------------------------------
00000000 PCL Parameterised <Esc>%-12345X Universal Exit Language (UEL)
Comment Switch language to PJL
00000009 PJL Command @PJL JOB <LF>
00000012 PJL Command @PJL SET QTY=1<LF>
00000021 PJL Command @PJL SET MANUALDUPLEX=OFF<LF>
0000003b PJL Command @PJL SET ECONOMODE=OFF<LF>
00000052 PJL Command @PJL SET GRAYSCALE=OFF<LF>
00000069 PJL Command @PJL SET RESOLUTION=600<LF>
00000081 PJL Command @PJL SET BITSPERPIXEL=8<LF>
00000099 PJL Command @PJL SET STRINGCODESET=UTF8<LF>
000000b5 PJL Command @PJL SET JOBATTR="JobAcct1=TJ25"<LF>
000000d8 PJL Command @PJL SET JOBATTR="JobAcct2=\\TJ25-PC"<LF>
00000100 PJL Command @PJL SET JOBATTR="JobAcct4=20180217154022"<LF>
0000012b PJL Command @PJL SET JOBATTR="JobAcct9="<LF>
00000148 PJL Command @PJL DMINFO ASCIIHEX="0400040101020D1010011532303138303231373
13534303232"<LF>
00000192 PJL Command @PJL SET USERNAME="TJ25"<LF>
000001ad PJL Command @PJL SET JOBNAME="Microsoft Word - Document1"<LF>
000001db PJL Command @PJL SET JOBATTR="Render Type = Discrete V4"<LF>
00000208 PJL Command @PJL SET JOBATTR="JobAcct3=TJ25-PC"<LF>
0000022e PJL Command @PJL SET JOBATTR="JobAcct5=-1420718746-58474-17592-9dcc-65
c04317367a"<LF>
00000274 PJL Command @PJL SET JOBATTR="OS = Windows"<LF>
00000294 PJL Command @PJL SET JOBATTR="OS Version = 10.0.16299.1"<LF>
000002c1 PJL Command @PJL SET JOBATTR="Render Name = HP ColorLaserJet MFP M178-
M181 PCL-6"<LF>
00000307 PJL Command @PJL SET JOBATTR="Render Version = 13.29"<LF>
00000331 PJL Command @PJL SET FASTPAGEFIRST=YES<LF>
0000034c PJL Command @PJL SET HOLD=OFF<LF>
0000035e PJL Command @PJL ENTER LANGUAGE=PCLXL<LF>
Comment Switch language to PCLXL
00000378 PCLXL Stream Header 0x292048.. ") HP-PCL XL;3;0;Comment Copyright(c) 1999-2011 H"
000003a8 0x65776c.. "ewlett-Packard Corporation<LF>"
000003c3 PCLXL Data Type 0xd1 uint16_xy
000003c4 Value 0x58025802 600 600
000003c8 PCLXL Attribute 0xf889 UnitsPerMeasure
000003ca PCLXL Data Type 0xc0 ubyte
000003cb Value 0x00 eInch
I hope this gives enough information but if you tell me where, I can zip and send it.
02-18-2018 05:52 AM - edited 02-18-2018 06:00 AM
>> ... I tried to print it to my printer using PCL paraphernalia and nothing happened ...
I assume that you mean you used the PRN File Print tool in the application.
How was the Target printer defined?
>> ... I have network shared my printer as \\TJ25-PC\M180 ...
>> ... my printer is connected by USB and no real network is involved ...
I'm not entirely sure from this how your printer is set up.
Are you saying that the printer is attached to workstation \\TJ25-PC via a USB cable, but that you are attempting to run the PCL Paraphernalia tool on a different workstation and identify the printer via this sharename?
If so, I've never tried this, so don't know if it would be a problem.
>> ... The printer printed out a page with
[ZoneTransfer]
ZoneId=3
ReferrerUrl=D:\TJ25\Computing\test-pjl.zip
This doesn't appear to be anything to do with the test file I supplied.
>> ... I therefore think that the reason PCLparaphernalia does not work with network printers is that it does not allow for the simple network shared device as opposed to a real wireless or wired network with IP ...
This may well be the case - as a retired contributor, I don't have the necessary equipment to test out this type of configuration.
I'd suggest that this method of connection is effectively using your other workstation as a Print Server.
The tools certainly work (with my limited range of printers) if the Target is configured as a "Windows printer" and identified via its Windows printer name on the current workstation (from the drop-down list provided in the Configure... dialogue); note that this name is not the same as the share name of a device connected to a separate workstation.
If the Target is to be defined as a Network printer (always my preferred option), the configuration requires that the TCP/IP address be provided - but (according to your statements) your printer is not connected in this way (even though, as an 'n' model, it could be).
>> ... I similarly think that the reason PCLparaphernalia does not work with my windows printer is because it requires the PCL XL commands as shown within hello world ...
I don't think that this is the case - of the PJL commands you quote, the only mandatory one is the PJL ENTER LANGUAGE = PCLXL
The jobs generated by the tools start with a Universal Exit Language escape sequence (to invoke PJL mode) and include the 'enter language' command as the last such command before the set of Page Description Language-specific page rendering sequences (the PDL being PCL or PCL XL as requested in the relevant dialogue).
>> ... tell me where, I can zip and send it ...
You can always contact me via the support mailbox 'at' pclparaphernalia.eu
02-21-2018 09:47 AM
The reason why PCL Paraphernalia fails to generate any output on your (USB-connected) LaserJet M180 may be associated with use of "v4 printer model" drivers (although I haven't had time to investigate this yet).
With the older "v3 printer model" drivers, 'passthrough' of raw (printer-specific) data is achieved with the 'raw print data' solution by specifying a datatype of RAW.
But with the newer (XPS-based) "v4 printer model" drivers, 'passthrough' appears to require use of a datatype of XPS_PASS.
If the printer were connected instead as a TCP/IP Ethernet network printer, and the PCL Paraphernalia Target configured as a Network printer, this issue is not relevant, since the 'transport' mechanism is different in this case (it doesn't require any knowledge or use of Windows drivers).
03-26-2018 04:58 AM
To check whether the driver is a v3 or v4 version:
- Open a command-prompt session.
- Type printui.exe /s and <enter>.
- This should start the Printer Server Properties dialogue (you may be asked to provide an administrator password).
- Select the Drivers tab - this shows all installed drivers (even for printers which you may no longer have installed); for example:
04-04-2018 09:52 AM
Thank you for your 26th March reply giving a method of establishing whether the driver is V3 or V4.
Around March 20th, I noticed that there was a new version of HP software for my printer and so I have downloaded and installed it. I have previously also installed the latest firmware 121017. Therefore I cannot confirm that the previous printer driver was v3 or v4.
When I ran Printui it confirmed that the current driver was a v4 printer driver.
PCL Paraphernalia still fails with event Ids of 372 and 1000 when I try to print via the HP printer driver. As you say it is apparently due to the v4 printer change and going via the spooler queue which does not support the RAW data type.
However I have added a new printer driver generic/text which uses the same port as the HP printer (USB0001). Now if I configure PCL Paraphernalia to use this Windows Printer generic/ text Paraphernalia works correctly with several PRN files. It is also much faster to print because it does not apparently use the spooler queue.
However when I send PCL5FontSelect to the generic/text driver, the following text is printed:
PCL XL Error
Subsystem: KERNEL
Error: IllegalAttribute
File name: kerlib.c
Line number: 4556
This looks like it is the same response as your LaserJet pro 400 Colour MFP M475dn.
And your comment on that was “this printer appears to be a hybrid, in that it supports Class/Revision 3.0, but not all of the more obscure additions introduced in that update.
I suspect that there is no error handling for printer errors with the generic text but at least it works with Paraphernalia.
There is another peculiarity of this second driver for the HP printer. It does not show up in Devices and printers but it is available if you try to print from Word or Notepad.
04-08-2018 10:02 AM
I will try to release an interim version of PCL Paraphernalia to address the "v3 versus v4" issue.
[I'm working on a new tool (edit of PCL and PCLXL bitmap fonts), but (at the current rate of progress) it will be some time (and I may never complete it - getting old and tired!]
The IllegalAttribute error is almost certainly because your printer (like my M475dn) does not support the rather obscure PCLSelectFont feature.
I can't really help with your new printer instance not showing up in Devices and Printers, sorry.