[comp.sys.handhelds] MES review print option prob

jn190068@longs.LANCE.ColoState.EDU (Jay Nestle) (04/20/91)

	After you solve some equations using the MES there is
the option of viewing the last solution.  This is done by rt-sh
ALL.  (In the manual)  This screen gives the option to print.
When you do print, the calculated values along with the equations
used to get the values are printed.

	My problem is:  The equations printed don't include
characters such as the infinity sign or rho.  These along with
many very significant engineering symbols are not printed.
Is there any way to get these symbols to be printed, easily?
Currently the calc prints a superscript 2 for rho and a
superscript n for infinity.  This makes sense because these are
the character codes for those characters as recognized by the
printer.  This really screws up the way equations appear!!

	Basically Is there a better way to do this?  If one
manually selects the variables or equations (in eq writer
form) they print fine.  Of course this is because in eq writer
form they are graphic objects and are printed pixel by pixel.

	I have yet to use the many special characters that hp
substituted in place of these engineering/science symbols.
They include such things as the a with a dash over the top,
or like above a superscript 2 and n.  Maybe even a software
fix for this would be in order, maybe a library??  Mr. Wickes?

I have a hp48sx vers. E, 128k (hp memory :-)), and B vers printer.

				Thanks, Jay Nestle

jn190068@longs.lance.colostate.edu

   "Save the earth, develop space."  -  Bumper Sticker

cloos@acsu.buffalo.edu (James H. Cloos) (04/20/91)

Jay,

If you have a version B printer, this should work correctly.  It can print
every character the 48 can display.

One thing you may want to check, though, is to conform the 48 is not in
OLDPRT mode, and that the printer is not in roman8 mode.  There is an
escape sequence for switching the visine between the ISO Latin-1 and Roman8
character sets, but I have only a red eye and my copy of Donnely isn't
here, so I can't tell you what it is; I do assume, though, that cycling
power on the printer will ensure that it is in iso mode.  As for the 48,
if the second element in the PRTPAR variable is an empty string, you are
OK; if it is not empty, the 48 will do something like the following to
convert the internal (iso latin-1) character set to any given ascii
extension:
(given a 1 element string, and written in userlang)
NUM DUP IF 127 < THEN CHR ELSE PRTPAR 2 GET SWAP CHR  POS 127 + CHR END 


So, eg, rho, which is character 151 in iso-latin-1, maps to 178 in roman8
(ie, using the string that OLDPRT puts into PRTPAR).  A quich ckeck shows
that the iso-latin-1 encoding of a superscripted 2 is (you guessed it) 178.


Your solution, therefore, is to run this little program, which I call
ISOPRT :
%%HP:T(3)A(R)F(.);
\<< PATH HOME 'PRTPAR' DUP RCL 2 {""} REPL SWAP STO EVAL \>>

('ISOPRT' BYTES gives:  #8499h and 67.5.)

If you are curious, this can be extended to printout some of the
appropriate characters from IBM and Epson compatable printers, assuming
that the epson printers, at least, have a mode where nearly all 256
possible characters print something, hopefully unique.  I lost the manual
to my printer, but if someone could send me a list of a), how to get into
such a mode and b) the encoding vector for that mode, I could put together
the appropriate strings.  The above encoding vector would be best
understood by me if it is in PostScript syntax. or at least using the
PostScript names for the glyphs.

-JimC
--
James H. Cloos, Jr.		Phone:  +1 716 673-1250
cloos@ACSU.Buffalo.EDU		Snail:  PersonalZipCode:  14048-0772, USA
cloos@ub.UUCP			Quote:  <>

lorenh@hpcvra.cv.hp.com. (Loren Heisey) (04/23/91)

>If you have a version B printer, this should work correctly.  It can print
>every character the 48 can display.
>
>One thing you may want to check, though, is to conform the 48 is not in
>OLDPRT mode, and that the printer is not in roman8 mode.  There is an
>escape sequence for switching the visine between the ISO Latin-1 and Roman8
>character sets, but I have only a red eye and my copy of Donnely isn't
>here, so I can't tell you what it is; I do assume, though, that cycling
>power on the printer will ensure that it is in iso mode.  As for the 48,
>if the second element in the PRTPAR variable is an empty string, you are
>OK;

The printer powers on with the Roman 8 character selected for compatibility
with other calculators. Since the HP48 does not know what mode the printer
is in, it frequently sends the escape code to select the ISO Latin-1
character set when printing. As Jim noted, for the version B printer the
characters inserted in PRTPAR by executing OLDPRT must be deleted so that
the HP48 does not remap the characters for the version A printer.

Loren Heisey