Discussion:
Postscript bug
(too old to reply)
t***@antispam.ham
2013-06-28 04:11:42 UTC
Permalink
Raw Message
Does anyone know Postscript well enough to help track down an apparent
bug with the OS/2 driver?

I have a DeScribe document with a graphic that contains a text element
with the name Schonberg. It prints just fine under some circumstances,
namely combination of font and attributes. I'm using HelmetCondensed
and bold. If I change the o to o-dieresis, it still displays and
prints properly, until I change one of the attributes to hollow, after
which it displays properly, but prints as something that looks like
Courier. The same problem occurs with Helvetica Narrow, Swiss, and a
few other fonts that I tried, but it printed properly with @Lucida Sans.

I've looked at the Postscript, but there's nothing obviously wrong, at
least to someone who doesn't know low-level Postscript. I tried a few
things by editing the Postscript and letting Ghostscript show me what
happens as a result. For example, I found a single occurrence of a
Font1001 string whereas the other places where it appears, it said
only Font100, so I tried changing the 1001 to 100, but that didn't
fix it. Not knowing Postscript is like stumbling around trying to
find your way in the dark.

The main difference after changing the o to o-dieresis is that the
character shows up in the Postscript as \224, which is the octal code
for the character, and before that code appears in the Postscript, a
lookup table for all 256 characters in code page 850 is inserted,
with o-dieresis appearing as character 148 (= 224 octal). So that
part seems to be correct.

If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
Steve
2013-06-28 11:34:19 UTC
Permalink
Raw Message
Post by t***@antispam.ham
If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
Hi,

PostScript is a complete programming language, so it can be
very complex, and hard to debug. Your "hollow attribute" is
not a built-in feature of PostScript (not a language primative).
So you will have to see where it is defined in the document and
place some debugging code there.

Regards,

Steve N.
t***@antispam.ham
2013-06-28 21:27:48 UTC
Permalink
Raw Message
Post by Steve
Post by t***@antispam.ham
If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
PostScript is a complete programming language, so it can be
very complex, and hard to debug. Your "hollow attribute" is
not a built-in feature of PostScript (not a language primative).
So you will have to see where it is defined in the document and
place some debugging code there.
"Hollow" is what DeScribe calls it. In the OS/2 Font Palette
editor, there is an emphasis called "Outline" that appear to
do the same thing.

The only thing that is obvious in the Postscript file is that
the text with and without the hollow attribute is preceded with

478 /HelmetCondensed-Bold1 SF
478 /HelmetCondensed-Bold SF
ivan
2013-06-29 11:05:51 UTC
Permalink
Raw Message
Post by t***@antispam.ham
Post by Steve
Post by t***@antispam.ham
If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
PostScript is a complete programming language, so it can be
very complex, and hard to debug. Your "hollow attribute" is
not a built-in feature of PostScript (not a language primative).
So you will have to see where it is defined in the document and
place some debugging code there.
"Hollow" is what DeScribe calls it. In the OS/2 Font Palette
editor, there is an emphasis called "Outline" that appear to
do the same thing.
The only thing that is obvious in the Postscript file is that
the text with and without the hollow attribute is preceded with
478 /HelmetCondensed-Bold1 SF
478 /HelmetCondensed-Bold SF
First question, does the printer font have a set of glyphs for the
'hollow' or 'outline' that you want to use? If not you will just have
printed what the printer substitutes in its place. Remember also that
not all fonts and glyphs are scalable, many have only fixed sizes.


ivan
--
t***@antispam.ham
2013-06-30 07:19:03 UTC
Permalink
Raw Message
Post by ivan
Post by t***@antispam.ham
Post by Steve
Post by t***@antispam.ham
If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
PostScript is a complete programming language, so it can be
very complex, and hard to debug. Your "hollow attribute" is
not a built-in feature of PostScript (not a language primative).
So you will have to see where it is defined in the document and
place some debugging code there.
"Hollow" is what DeScribe calls it. In the OS/2 Font Palette
editor, there is an emphasis called "Outline" that appear to
do the same thing.
The only thing that is obvious in the Postscript file is that
the text with and without the hollow attribute is preceded with
478 /HelmetCondensed-Bold1 SF
478 /HelmetCondensed-Bold SF
First question, does the printer font have a set of glyphs for the
'hollow' or 'outline' that you want to use? If not you will just have
printed what the printer substitutes in its place. Remember also that
not all fonts and glyphs are scalable, many have only fixed sizes.
It certainly does for the 7-bit ASCII character set. That is,
everything works fine if I use o instead of o-dieresis. As soon as
I replace the o with o-dieresis, that line of text and all subsequent
lines in that text graphic turn into something that looks like
Courier (but only on paper; the display is still correct).

Just for fun, I also tried replacing the o in the Postscript file
with \224 (octal), but in this case the lookup table of characters
isn't in the Postscript file; I wanted to see what would happen,
namely whether I'd get the switch to the Courier-like font, or
something else. What happened is that the character was simply
left blank. Not sure what it did for the spacing, given that it's
a proportionally-spaced font.
Steve
2013-06-29 19:48:16 UTC
Permalink
Raw Message
Hi,
Post by t***@antispam.ham
Post by Steve
Post by t***@antispam.ham
If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
PostScript is a complete programming language, so it can be
very complex, and hard to debug. Your "hollow attribute" is
not a built-in feature of PostScript (not a language primative).
So you will have to see where it is defined in the document and
place some debugging code there.
"Hollow" is what DeScribe calls it. In the OS/2 Font Palette
editor, there is an emphasis called "Outline" that appear to
do the same thing.
Okay, there is a PaintType attribute that describes an outline
action. It says that a font that is designed to be "filled" can
be "outlined" instead. PaintType can be part of a font definition.
Post by t***@antispam.ham
The only thing that is obvious in the Postscript file is that
the text with and without the hollow attribute is preceded with
478 /HelmetCondensed-Bold1 SF
478 /HelmetCondensed-Bold SF
In the "Blue Book", "PostScript Language Tutorial and Cookbook",
Adobe Systems Incorporated, there is a routine that creates an outline
font from a filled font (page 203). So the above makes sense If both
fonts are in both documents. Not that there are not fonts that are not
filled. To be filled, an outline must exist defining a glyph. The Blue
Book and the Language Reference can be downloaded as PDF's.

Some fonts are based on lines that are stroked. Think 'Courier' where
all the lines that make up a glyph have the same width. And some
fonts are made up of bitmaps. They cannot be filled or outlined either.
And there are a bunck of fonts that are repackaged True Type fonts.
The outline information may not be available? And there are/were
encrypted fonts that can't be modified.

So, examine your font and find out if it is the right type to have an
outline that can be accessed to create a new font. (The fact that you
are having problems implies...)

Can you use a standard font to create your document? That may be
a way to get an acceptable result.

Regards,

Steve N.
t***@antispam.ham
2013-06-30 07:37:10 UTC
Permalink
Raw Message
Post by Steve
Post by t***@antispam.ham
Post by Steve
Post by t***@antispam.ham
If it can print o-dieresis properly without the hollow attribute,
shouldn't it also be able to print it with the hollow attribute?
PostScript is a complete programming language, so it can be
very complex, and hard to debug. Your "hollow attribute" is
not a built-in feature of PostScript (not a language primative).
So you will have to see where it is defined in the document and
place some debugging code there.
"Hollow" is what DeScribe calls it. In the OS/2 Font Palette
editor, there is an emphasis called "Outline" that appear to
do the same thing.
Okay, there is a PaintType attribute that describes an outline
action. It says that a font that is designed to be "filled" can
be "outlined" instead. PaintType can be part of a font definition.
PaintType does appear in the PostScript file, several times. After
the first occurrence, a few lines later there are 211 lines of
hexadecimal, which could be defining things. The second occurrence
is embedded within a longer line. The third, fourth, and fifth
occurrence are also followed by extensive lines of hexadecimal.
Post by Steve
Post by t***@antispam.ham
The only thing that is obvious in the Postscript file is that
the text with and without the hollow attribute is preceded with
478 /HelmetCondensed-Bold1 SF
478 /HelmetCondensed-Bold SF
In the "Blue Book", "PostScript Language Tutorial and Cookbook",
Adobe Systems Incorporated, there is a routine that creates an outline
font from a filled font (page 203). So the above makes sense If both
fonts are in both documents. Not that there are not fonts that are not
filled. To be filled, an outline must exist defining a glyph. The Blue
Book and the Language Reference can be downloaded as PDF's.
I had already found a file PLRM2.pdf, which I presume stands for
Postscript Language Reference Manual. It's 772 pages long, and I
haven't had time to read through all of it yet. Nor am I terribly
motivated to do so, just to track down a driver bug, because I
wouldn't know who could fix the driver itself.
Post by Steve
Some fonts are based on lines that are stroked. Think 'Courier' where
all the lines that make up a glyph have the same width. And some
fonts are made up of bitmaps. They cannot be filled or outlined either.
And there are a bunck of fonts that are repackaged True Type fonts.
The outline information may not be available? And there are/were
encrypted fonts that can't be modified.
So, examine your font and find out if it is the right type to have an
outline that can be accessed to create a new font. (The fact that you
are having problems implies...)
HelmetCondensed is a sans serif font, not too dissimilar to
Helvetica Narrow. Nothing fancy. The 7-bit ASCII characters
all work fine in their "hollow" or "outline" form, and o-dieresis
isn't all that different from an o or an i.
Post by Steve
Can you use a standard font to create your document? That may be
a way to get an acceptable result.
I'm going to experiment with UniversCondensed. If memory serves, way
back when I had an HP Laserjet III, it came with CG Times and Univers
built-in as the serif and sans serif fonts. DeScribe recognizes
Univers as both a printer and screen font. UniversCondensed is a
little bit wider than HelmetCondensed. I didn't like the aspect ratio
of Helvetica Narrow. And while DeScribe allows the user to control
the "Set Width" independently of the point size, thus having full
control over the aspect ratio, that capability is available only for
regular text, not a text graphic. The advantage of a text graphic is
that you have control over the color of the text, whereas document
text is restricted to black and white.
Steve
2013-06-30 13:11:45 UTC
Permalink
Raw Message
Hi,
Post by t***@antispam.ham
Post by Steve
In the "Blue Book", "PostScript Language Tutorial and Cookbook",
Adobe Systems Incorporated, there is a routine that creates an outline
font from a filled font (page 203). So the above makes sense If both
fonts are in both documents. Not that there are not fonts that are not
filled. To be filled, an outline must exist defining a glyph. The Blue
Book and the Language Reference can be downloaded as PDF's.
I had already found a file PLRM2.pdf, which I presume stands for
Postscript Language Reference Manual. It's 772 pages long, and I
haven't had time to read through all of it yet. Nor am I terribly
motivated to do so, just to track down a driver bug, because I
wouldn't know who could fix the driver itself.
Right. You would probably need the author of the program(s)
being used.
Post by t***@antispam.ham
Post by Steve
So, examine your font and find out if it is the right type to have an
outline that can be accessed to create a new font. (The fact that you
are having problems implies...)
HelmetCondensed is a sans serif font, not too dissimilar to
Helvetica Narrow. Nothing fancy. The 7-bit ASCII characters
all work fine in their "hollow" or "outline" form, and o-dieresis
isn't all that different from an o or an i.
That sounds as if the "conversion" of the filled font to an outline
font is "broken" and not doing all of the glyphs in the font.
Post by t***@antispam.ham
Post by Steve
Can you use a standard font to create your document? That may be
a way to get an acceptable result.
I'm going to experiment with UniversCondensed. If memory serves, way
back when I had an HP Laserjet III, it came with CG Times and Univers
built-in as the serif and sans serif fonts. DeScribe recognizes
Univers as both a printer and screen font.
Unless the HP Laserjet III supports PostScript, that should not matter.
Describe and the printer driver will be doing everything unless PostScript
is built into the printer. And since you mention color later, The HP LJ III is
not relevant anyway.

UniversCondensed is a
Post by t***@antispam.ham
little bit wider than HelmetCondensed. I didn't like the aspect ratio
of Helvetica Narrow. And while DeScribe allows the user to control
the "Set Width" independently of the point size, thus having full
control over the aspect ratio, that capability is available only for
regular text, not a text graphic. The advantage of a text graphic is
that you have control over the color of the text, whereas document
text is restricted to black and white.
Helvetica is one of the base fonts supported by all PostScript
implementations. If it can display properly with Helvetia (not
narrow) and not with your preferred font, the font may just not
work. If Helvetica fails, the conversion to outline is at fault.

Regards,

Steve N.

Loading...