🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.sgi.apps
4 messages
4 total messages Started by David M. Senseman Tue, 29 Dec 1992 04:01
FrameMaker 3.1 Goes Crazy!
#4
Author: David M. Senseman
Date: Tue, 29 Dec 1992 04:01
24 lines
1759 bytes
We have FrameMaker 3.1 running on several Indigos (XS24's)
under Irix 4.0.5F. Overall, it's a wonderful product. However,
now and then, for no apparent reason, the program completely
trashes the screen (it becomes a series of cross-hatched lines
on a grey screen). One time I was able to "raise" the "window"
icon from underneath the mess and "refresh" the screen. The other
time, the Xserver crashed with the following error message:

Dec 23 08:25:10 ricky unix: WARNING: gr2: FIFO TIMEOUT
Dec 23 08:25:10 ricky unix:
Dec 23 08:25:10 ricky unix:
Dec 23 08:25:10 ricky unix: WARNING: Graphics error: GE PC = 0x5D60
Dec 23 08:25:10 ricky unix:
Dec 23 08:25:11 ricky Xsession: senseman: fatal IO error 32 (Broken pipe)
Dec 23 08:25:11 ricky xdm[232]: Server for display :0 terminated unexpectedly: 2
304                                                                                

Anyone else seen this problem? 
Thanks.
-- 
David M. Senseman, Ph.D.     | A man who has never gone to school may steal 
(senseman@lonestar.utsa.edu) | from a freight car; but if he has a university
Division of Life Sciences    | education, he may steal the whole railroad.
UT San Antonio               |             Theodore Roosevelt (1858-1919)
Re: FrameMaker 3.1 Goes Crazy!
#6
Author: David M. Senseman
Date: Wed, 30 Dec 1992 03:29
41 lines
2349 bytes
In article <1992Dec29.040152.18074@ringer.cs.utsa.edu> senseman@lucy.brainlab.utsa.edu (David M. Senseman) writes:
>We have FrameMaker 3.1 running on several Indigos (XS24's)
>under Irix 4.0.5F. Overall, it's a wonderful product. However,
>now and then, for no apparent reason, the program completely
>trashes the screen (it becomes a series of cross-hatched lines
>on a grey screen). 

[stuff deleted]


Robert van Liere pointed out to me that they also see this error
but only when they are working on a file that was created/modified
on a Macintosh -  never on one that was created on an SGI. When
he mentioned this I realized that all my problems happened on files
that I had previously created/modified on an IBM PC running 
FrameMaker 3.0 under MS Windows. In fact it was the ability 
of FrameMaker to run on SGI, IBM, Mac and SUN -- AND TO TRANSFER
THE FILES *SEAMLESSLY* BACK AND FORTH -- that lead to us to standardize
on FrameMaker. Rats....

Everytime I open a document on my Indigo that was previously created
on the IBM I get a warning about "unavailable fonts" -- this may
(or may not) be a clue?

Some SGI types have suggested a possible hardware problem with the
graphics card (XS24) but I've seen this problem on three different
machines in my lab (not mention Robert van Liere's machines). 
I'll bet it's in the way Frame is handling the "unavailble fonts"
but since Frame doesn't provide source code, it's hard for a user
to tell ;-)

Once again, has anyone seen this "feature" :-?




-- 
David M. Senseman, Ph.D.     | A man who has never gone to school may steal 
(senseman@lonestar.utsa.edu) | from a freight car; but if he has a university
Division of Life Sciences    | education, he may steal the whole railroad.
UT San Antonio               |             Theodore Roosevelt (1858-1919)
Re: FrameMaker 3.1 Goes Crazy! (long)
#7
Author: Ivan Bach
Date: Wed, 30 Dec 1992 19:31
425 lines
13447 bytes
In article <1992Dec29.040152.18074@ringer.cs.utsa.edu>, 
senseman@lucy.brainlab.utsa.edu (David M. Senseman) writes:
> Everytime I open a document on my Indigo that was previously created
> on the IBM I get a warning about "unavailable fonts"
You should determine which fonts are available to FrameMaker (FM) on your
IBM computer, which fonts are available to FM on your SGI computer, and
which fonts are used in the document you prepared on your IBM computer.

To find out which fonts are available to FM, select the option 'Character' in
the 'Format' menu.  When the 'Character Format' window is displayed, look for
a list called the 'Font Family' list.  You can scroll through that list to see
which fonts are available in your FrameMaker installation.

Alternatively, enter the commands:

    cd install_dir/.fminit2.0.ps/fontdir
    ls

on your SGI machine.  The default name for the install directory is /usr/frame.
That should give you a list of installed fonts.  FrameMaker uses the file
fontlist in that directory.  Take a look at that file.

I'll append a script that can be used to find out which fonts are used
in an FM document stored in the MIF format.  You should determine which
fonts are installed on both machines, and then use only those fonts, or
install on your SGI machine the fonts you are missing.  As it says in
Appendix F of the SGI FrameMaker Reference manual, you can order additional
technical documents about the adding of PostScript fonts to FM from SGI.  
I have added Macintosh PS fonts to FM on an SGI machine.

Technical writers from Intuit reported:
--------------------------------------------------------------------------
The situation seems to be that if a font exists on both the Mac and a Unix
machine, FrameMaker recognizes that font. Otherwise, it reformats the 
unknown font as Times or makes a "best guess." For example, the Unix FM 
reformats Helvetica Condensed as Helvetica Narrow.
--------------------------------------------------------------------------

I have been reading articles in the newsgroup comp.text.frame, and I don't
remember anybody reporting a similar problem.  I think that you should post
an article in that newsgroup, and send a bug report to comments@frame.com.
You should tell them which versions of FM you have on your computers, and
give them a sample file prepared on your IBM machine.

Here is a script for finding font names in a MIF file:
--------------------------------------------------------------------------
From: bae@col.hp.com (Bruce Erickson)
Date: Fri, 28 Aug 92 21:44:16 CDT
Newsgroups: comp.text.frame
Subject: List information about paragraphs
Message-Id: <1992Aug28.195011.7007@col.hp.com>
X-Orig-Date: 28 Aug 92 20:44:20 GMT
Organization: Hewlett-Packard Logic Systems Operation

A while ago I posted a note asking if there was a quick way to get
a table of information about paragraphs -- font names, point sizes,
etc.  All responses were of the form "convert to MIF and write an
[awk, sed, ....] script".  Many added "...and when you have done that,
let me know!"

Well, here it is.  It only scans for paragraph formats, not for any
changes to the default paragraph formats actually in the text.

Not clean code, but gives output like this:

          font       var      weight   angle    size     lead    nexttag   
al0_in0   Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in1  
al0_in1   Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  al0_in1   
bl_in0    Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in1  
bl_in1    Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in2  
Body      Times      Regular  Regular  Regular  9.0_pt   2.0_pt  none      
body_in0  Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in   
body_in1  Helvetica  Regular  Regular  Regular  10.0_pt  0.0_pt  body_in1  
body_in2  Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in2  
body_in3  Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in3  
Comment   Times      Regular  Regular  Regular  9.0_pt   2.0_pt  none      
Figure    Times      Regular  Regular  Regular  12.0_pt  2.0_pt  none      
h1        Times      Regular  Bold     Regular  12.0_pt  2.0_pt  body_in0  
h2        Times      Regular  Regular  Regular  12.0_pt  2.0_pt  body_in0  
h3        Times      Regular  Regular  Regular  12.0_pt  2.0_pt  body_in0  
h4        Times      Regular  Regular  Regular  12.0_pt  2.0_pt  body_in0  
vl0_in0   Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in1  
vl_in0    Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in1  
vl_in1    Helvetica  Regular  Regular  Regular  10.0_pt  0.0_pt  body_in2  
vl_in2    Helvetica  Regular  Regular  Regular  10.0_pt  2.0_pt  body_in3  

The code consists of three shell scripts (sorry non UNIX users!):
	-parasumm, the outer script
	-awkgen, which is a generic script I use to create awk scripts....
	-awkrep, another generic script I use to convert labled data to tables..

                  - Bruce Erickson
                     Hewlett Packard
                     bae@col.hp.com


# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by Bruce Erickson <bae@hplsdrn> on Fri Aug 28 13:47:04 1992
#
# This archive contains:
#	parasumm	awkgen		awkrep		
#

LANG=""; export LANG
PATH=/bin:/usr/bin:$PATH; export PATH

echo x - parasumm
cat >parasumm <<'@EOF'
#!/bin/ksh
#	ex:se ts=3 sw=3:
usage="usage: parasumm <MIF file>"
#
#

FMDIR=/site/frame/bin
#	Set up the PATH variable
PATH=/bin:/usr/bin:$FMDIR:.
SHELL=/bin/ksh


set -- `getopt "" "$@"`
if [ $? -ne 0 ]
then
	echo "$usage" >&2
	exit 1
fi

while [ $# -gt 0 ]
do
	case $1 in
		--)	shift; break;;
		-*)	echo "$usage" >&2; exit 1;;
	esac
done

if [ $# -ne 1 ]
then
	echo "$usage" >&2
	exit 1
fi

framefile=$1
tmpawk1=/usr/tmp/psawk_$$
tmpawk2=/usr/tmp/psawk2_$$

trap "rm -f $tmpawk1 $tmpawk2; trap '' 0 1 2 3 4; exit" 0 1 2 3 4

if [ ${framefile%.mif} = $framefile ]
then
	miffile=${framefile#.*}.mif
	# Must obtain .MIF file
	fmbatch <<-EOF
		Open $framefile
		SaveAs mif $framefile $miffile
		Quit
	EOF
else
	# Passed in the .mif file -- a timesaver!
	miffile=$framefile
fi

#	Read in PgfCatalog; create info based on PgfTag
#	When we get to a Paragraph which uses PgfTag xx, look for
#	overrides of font (etc).

# remember: any $, ', or ` to be passed in must be escaped so the shell doesn't intrepret it!
awkgen > $tmpawk1 <<-EOF
	<PgfTag
	tag
				/<PgfTag/ { s=index(\$0, "\`")+1; l=length(\$0)-s-1; tag = substr(\$0, s, l) }
	font
				/<FFamily/ { s=index(\$0, "\`")+1; l=length(\$0)-s-1; font = substr(\$0, s, l) } 
	var
				/<FVar/ { s=index(\$0, "\`")+1; l=length(\$0)-s-1; var = substr(\$0, s, l) }
	weight
				/<FWeight/ { s=index(\$0, "\`")+1; l=length(\$0)-s-1; weight = substr(\$0, s, l) }
	angle
				/<FAngle/ { s=index(\$0, "\`")+1; l=length(\$0)-s-1; angle = substr(\$0, s, l) }
	size
				/<FSize/ { t = \$2 "_" \$3; size = substr(t, 1, length(t) - 1)}
	lead
				/<PgfLeading/ { t = \$2 "_" \$3; lead = substr(t, 1, length(t) - 1)}
	InSeRt	
				/<PgfUseNextTag/	{ if (\$2 == "Yes") { nexttag = 1 } else { nexttag = 0 }}
	nexttag
				/<PgfNextTag/ { if (nexttag) {s=index(\$0, "\`")+1; l=length(\$0)-s-1; nexttag = substr(\$0, s, l)} else { nexttag = "none" }}
EOF
	#cat $tmpawk1

sed -e '1,/^<PgfCatalog/ d' -e '/^>/,$ d' < $miffile |
	awk -f $tmpawk1 > $tmpawk2

awkrep $tmpawk2
@EOF

chmod 775 parasumm

echo x - awkgen
cat >awkgen <<'@EOF'
#!/bin/ksh
#	ex:se ts=3 sw=3:
usage="usage: "
#
#	Generate an awk file which will:
#		create a file which is of the form 'aentry' 'elname' 'elvalue' ['elname' 'elvalue' ....]
#	this essentially can be used to create a series of arrays:
#		elname1[aentry] = elvalue1; elname2[aentry] = elvalue2.... or
#		array[aentry, elname1] = elvalue1; array[aentry, elname2] = elvalue2, .....
#
#	This reads stdin to create the awk file:
#		line  1 defines a pattern which is the start of 'aentry'.
#		line 2,3 defines a pattern and an action to define 'aentry' -- it must occur prior to any elements
#				aentryname '/<pattern>/ { aentryname = value }
#	
#	The rest of the lines define patterns and actions which define 'elname' and 'elvalue' as:
#			'elname /<pattern>/ { elname = value }'
#
#		if $1 is 'InSeRt', then the rest of the line s a string which will be inserted into the awk
#		script prior to any automatically generated statements.

#	This emits the awk file to stdout...

#	Set up the PATH variable
PATH=/bin:/usr/bin:
SHELL=/bin/ksh

# Cannot call getopt!

if [ $# -ne 0 ]
then
	echo "$usage" >&2
	exit 1
fi

	awk	'	
				NR == 1	{	startptn = $0 ; next }
				NR == 2	{	aentryname = $0; next }
				NR == 3	{	aentryawk = $0; next 
								printf "BEGIN  {  %s = \"\"; }\n", aentryname
							}

				/InSeRt/	{	getline
								print $0; next
							}

							{	numparts++
								partname[numparts] = $0
								getline
								partawk[numparts] = $0
								#printf "partname = @%s@, awk = @%s@\n", partname[numparts], partawk[numparts]
							}

				END		{	
								
								# Found start pattern -- emit previous information if any
								printf "/%s/	{ if (%s !~ /^$/)\n", startptn, aentryname
								printf "		{\n"
								printf "			printf \"%%s \", %s\n", aentryname
								for (p = 1; p <= numparts; p++)
								{
									printf "			printf \"%s %%s \", %s\n", partname[p], partname[p]
								}
								printf "			printf \"\\n\"\n		}\n"

								printf "	}\n"

								printf "%s\n", aentryawk

								for (p = 1; p <= numparts; p++)
								{
									printf "%s\n", partawk[p]
								}

								printf "\n"
								printf "END	{\n"
								printf "	{ if (%s !~ /^$/)\n", aentryname
								printf "		{\n"
								printf "			printf \"%%s \", %s\n", aentryname
								for (p = 1; p <= numparts; p++)
								{
									printf "			printf \"%s %%s \", %s\n", partname[p], partname[p]
								}
								printf "			printf \"\\n\"\n		}\n"
								printf "	}\n}"

							}
			'
exit
@EOF

chmod 775 awkgen

echo x - awkrep
cat >awkrep <<'@EOF'
#!/bin/ksh
#	ex:se ts=3 sw=3:
usage="usage: awkrep <file>"
#
#	<file> is of the form:
#	<tag> <label1> <value1> [<label2> <value2> ..]
#	Converts to a table of output...
#	
#

#	Set up the PATH variable
PATH=/bin:/usr/bin:
SHELL=/bin/ksh

set -- `getopt "" "$@"`
if [ $? -ne 0 ]
then
	echo "$usage" >&2
	exit 1
fi

while [ $# -gt 0 ]
do
	case $1 in
		--)	shift; break;;
		-*)	echo "$usage" >&2; exit 1;;
	esac
done

if [ $# -ne 1 ]
then
	echo "$usage" >&2
	exit 1
fi

infile=$1

(
	#	Pass 1: get list of all labels and their max width...
	#	This emits a line which is of the form:
	#	<label> <width> [<label> <width> ....
	awk '	BEGIN	{	numlabels = 1 }

			{	for (label = 2; label <= NF; label = label + 2)
				{
					if (labels[$label] == "" )
					{
						labels[$label] = $label
						# New label!
						labellist[numlabels] = $label
						# printf "label %s is %d\n", $label, numlabels
						numlabels++
						width = length($label)
						widths[$label] = width
					}
					
					value = label + 1
					width = length($value)
					if (widths[$label] < width)
						widths[$label] = width
				}

				if (length($1) > tagwidth)
					tagwidth = length($1)
			}

		END	{	printf "%d ", tagwidth
					for (l = 1; l < numlabels; l++)
					{
						printf "%s %d ", labellist[l], widths[labellist[l]]
					}
					printf "\n"

				}' < $infile
	cat $infile
) |
	awk '
		NR == 1	{	# list of labels & widths, in order
						tagwidth = $1
						numlabels = 0
						for (l = 2; l <= NF; l = l + 2)
						{
							numlabels = numlabels + 1
							label2order[$l] = numlabels
							labellist[numlabels] = $l
							m = l + 1
							width[numlabels] = $m
						}

						# Print heading
						printf "%-*s  ", tagwidth, ""
						for (l = 1; l <= numlabels; l++)
						{
							printf "%-*s  ", width[l], labellist[l]
						}
						printf "\n"
						next
					}

					{	# Input line!  
						leader = $1

						for (a = 1; a <= numlabels; a++)
							args[a] = ""
						
						for (b = 2; b <= NF; b++)
						{
							valn = b + 1
							value = $valn
							lnum = label2order[$b]	# Which label?
							args[lnum] = value
						}

						# Print out line
						printf "%-*s  ", tagwidth, $1
						for (l = 1; l <= numlabels; l++)
						{
							printf "%-*s  ", width[l], args[l]
						}
						printf "\n"
					}'

@EOF

chmod 775 awkrep

exit 0

Ivan Bach, ib@sgi.com
Re: FrameMaker 3.1 Goes Crazy!
#9
Author: Murgesh Navar
Date: Wed, 30 Dec 1992 21:49
39 lines
2218 bytes
In article <1992Dec30.032951.4697@ringer.cs.utsa.edu>, senseman@lucy.brainlab.utsa.edu writes:
> In article <1992Dec29.040152.18074@ringer.cs.utsa.edu> senseman@lucy.brainlab.utsa.edu (David M. Senseman) writes:
> >We have FrameMaker 3.1 running on several Indigos (XS24's)
> >under Irix 4.0.5F. Overall, it's a wonderful product. However,
> >now and then, for no apparent reason, the program completely
> >trashes the screen (it becomes a series of cross-hatched lines
> >on a grey screen). 
> 
> 
> 

> FrameMaker 3.0 under MS Windows. In fact it was the ability 
> of FrameMaker to run on SGI, IBM, Mac and SUN -- AND TO TRANSFER
> THE FILES *SEAMLESSLY* BACK AND FORTH -- that lead to us to standardize
> on FrameMaker. Rats....
	 
	You should still be able to do this.
> 
> Everytime I open a document on my Indigo that was previously created
> on the IBM I get a warning about "unavailable fonts" -- this may
> (or may not) be a clue?
> 
> Some SGI types have suggested a possible hardware problem with the
> graphics card (XS24) but I've seen this problem on three different
> machines in my lab (not mention Robert van Liere's machines). 
> I'll bet it's in the way Frame is handling the "unavailble fonts"
> but since Frame doesn't provide source code, it's hard for a user
> to tell ;-)
> 

	Whatever happens, even if frame does something strange, no one
should be able to kill the graphics as seen in your earlier message. I
suggest that you get hold of a data-file that kills the machine when 
Frame tries to open it, and file a bug report. We'd like to get any 
problems with our machines fixed pronto, especially if the graphics
dies. 

						-murgesh
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads