Font and Point size to print on AS400 to HP Printer

I am trying to get a few lines in my printer file to print a line in Helvetica 85-Pt and also 90-Pt or something similar.  I don't have PSF/400 so I can not use IPDS.  I am printing to a HP8150 using HPT HP8000.  I'm not sure if their is a font I can specify in the DDS of the printer file and/or if I am going to have to change the WSCST for HP8000.  I believe I have the ASCII Font string for each.  Example is s1o85v4s3b24580T.  

I am on V5R2.  Let me know if you need anymore information.

Thanks        
DCS12Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DansDadUKCommented:
s1o85v4s3b24580T looks like (the readable part) of a PCL5 font selection string - but it is invalid.

I think you need s1p85v4s3b24580T instead, and (on the assumption that this string will be preceded by an 'Escape' control code character), this should select the "Helvetica Narrow Bold" typeface, scaled to 85 points.

You may also need to specify an appropriate Symbol Set sequence if you want to use characters not in the 7-bit ASCII set (0x20 -> 0x7f).
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Gary PattersonVP Technology / Senior Consultant Commented:
Choices, choices!  There are lots of ways to tackle this chore, but I prefer Host Print Transform.  Everything you are likely to need to know about HPT is here:

http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=//rzalu/rzaluconfhpt.htm

You'll need to see what FID you need to specify in your printer file to get the HP font that you want.  Here's the basic process for retrieving the WSCST source, modifying it, compiling it,and using it in your outq or printer device description:

http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=//rzalu/rzalucustransdev.htm

The various tags in the retrieved WSCST source map AS/400 printing features to printer commands for the target printer (PCL5e in this case).  

http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=//rzalu/rzalucustransdev.htm

The tags that you are particularly interested in are the :FNTGRPE (Font group entry) and is the :INDFNTE (Individual font entry) tags.  FNTGRPE allow you to map a group of AS/400 font identifiers (FIDs) fonts to a single target (HP) font.  INDFNTE groups identify mapping for a single FID.  INDFNTEs get searched first, then FNTGRPEs when HPT tries to resolve a font.

If the font you need isn't mapped, you can map it yourself, and create a custom WSCST object.

http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=//rzalu/rbaqbmst219.htm

Once you have mapping established in your WSCST, and have it compiled and set up on an outq or devd, you just need to specify the corresponding FID in your printer file DDS, just like you would for a native SCS printer.

- Gary Patterson


/* Map FID 154 to 200 to the specified printer command string (FNTSTR) */

:FNTGRPE                                       
   MINFID=  154                                 
   MAXFID=  200                                 
   FNTSTR='1B28733170313276307330623431303154'X 
   FNTEND=''X   

/* Map FID 186 to the specified printer command string */

:INDFNTE                                      
  FID=  186                                   
  POINTSIZE= 0                                
  FNTSTR='1B28733170313276307330623431303154'X
  FNTEND=''X                                                                 

Open in new window

0
DansDadUKCommented:
Notice that the sample FNTSTR values quoted in the example are:

1B28733170313276307330623431303154

which is the hexadecimal representation of:

{esc}(s1p12v0s0b4101T

where {esc} represents the non-graphic 'escape' control code character (the character with decimal code 27, or hexadecimal 1B, or octal 033).
0
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

daveslaterCommented:
Hi
you could also use the AFPDS printer file type that comes as standard - this can use standard fonts that are shippled with the iSeries


see

http://www.experts-exchange.com/Programming/System/AS_-_400/Q_21351997.html

for a list of fonts.

Dave
0
Gary PattersonVP Technology / Senior Consultant Commented:
Dave brings up a good point.  I only mentioned SCS, but regardless of the printer stream: AFPDS or SCS, both still rely on the same Host Print Transform function (and WSCST) to handle the font transformations.

- Gary
0
DCS12Author Commented:
So how do I get one of these fonts into my printer file using the FGID?  Do you have an example?  I was able to get it to look similar by using FNTCHRSET(CZ6200  T1SKB001 (*POINTSIZE 90))  
0
Gary PattersonVP Technology / Senior Consultant Commented:
You use FNTCHRSET with AFP.  

In your case, you're probably making the system do too much work: generate AFP that is just going to get transformed by HPT into PCL.  Just skip the AFP step and generate s simple SCS file with the FGID you want.

Here's the "bible" for AS/400 printer programming.  Explains ASCII printing, Host Print transform, font selection, the whole bit.  Includes sample code, and just about everything you need right in one place:

http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/books/sc415713.pdf

- Gary Patterson
0
DCS12Author Commented:
It does not seem to matter what FGID I put as the font in the DDS or I just don't know what I'm doing.  Do I put the FGID as the Font keyword like this "FONT(159 (*POINTSIZE 90))"?    
0
Gary PattersonVP Technology / Senior Consultant Commented:
When you want to print that big, you should use a scalable font.  To do that, you need to compile the printer file as an AFPDS file, and specify the outq or printer devd as AFPDS and TRANSFORM(*YES) and the proper WSCST containing the proper FGID to PCL font string mapping.

IBM has a nice support article related to what you are trying to do.  Remember that the FGID has to be mapped to a scalable printer resident font in your WSCST.

Is FGID 159 a scalable font that maps to a scalable printer-resident font on your printer?

http://www-912.ibm.com/s_dir/slkbase.NSF/1ac66549a21402188625680b0002037e/0691887df6ac2b0d862572de0064fde5?OpenDocument

- Gary Patterson


0
DCS12Author Commented:
Thanks for the help guys.  I did end up using FNTCHRSET(CZ6200 T1V10037 (*POINTSIZE 90)) with an AFPDS.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Operating Systems

From novice to tech pro — start learning today.