- priority: 5 --> 3
The PostScript code generated by pcal uses overstriking
to make fonts
"bold". This looks un-pretty, particularly when
compared to real bold
PostScript fonts. It is fairly easy to fix the
resulting PostScript
code, which the following patch does. The patch also
uses a real font
instead of a matrix applied to a normal font for
italics, and eliminates
the now-useless currfonttype variable.
The one problem with this patch is that it will
interact poorly with
the -n option, which can be used to specify the font
for each day.
A heuristic could probably be applied to properly guess
the names
of the associated bold and italic/oblique fonts.
--- pcal.ps Fri Jul 6 13:44:10 2001
+++ pcal-new.ps Fri Jul 6 13:57:16 2001
@@ -19,6 +19,8 @@
/titlefont /Times-Bold def
/datefont /Times-Bold def
/notesfont /Helvetica-Narrow def
+/notesboldfont /Helvetica-NarrowBold def
+/notesitalicfont /Helvetica-NarrowOblique def
/weekdayfont titlefont def
/footfont titlefont def
/headingfont titlefont def
@@ -42,10 +44,13 @@
/df_small { datefontsize small get datefont FontFind } def
/NF 5 def
/nf_large { notesfontsize notesfont FontFind } def
-/WF 6 def
+/nf_largeb { notesfontsize notesboldfont FontFind } def
+/nf_largei { notesfontsize notesitalicfont FontFind } def
+/WF 8 def
/wf_large { weekdayfontsize weekdayfont FontFind } def
/allfonts [
-
hf_large tf_large tf_small df_large df_small nf_large
wf_large
+
hf_large tf_large tf_small df_large df_small nf_large
nf_largeb
+ nf_largei wf_large
] def
/month_names [
(January) (February) (March) (April) (May) (June)
@@ -91,10 +96,6 @@
/quartperiod 0.25 def
/offset radius datemargin 0 get add def
/rect radius 2 sqrt mul quartperiod div def
-/ROMAN 0 def
-/BOLD 1 def
-/ITALIC 2 def
-/currfonttype ROMAN def
/boldoffset 0.5 def
/italicangle 12 def
/italicmatrix
@@ -111,7 +112,9 @@
/DateFontSet {DF add FontSet} bind def
/WeekdayFontSet {WF FontSet} bind def
/FootFontSet {FF FontSet} bind def
-/NotesFontSet {NF FontSet /currfonttype ROMAN def}
bind def
+/NotesFontSet {NF FontSet} bind def
+/NotesBoldFontSet {NF 1 add FontSet} bind def
+/NotesItalicFontSet {NF 2 add FontSet} bind def
/HeadingFontSet {HF FontSet} bind def
/center {
1 index stringwidth pop sub 2 div 0 rmoveto show
@@ -324,10 +327,7 @@
scale
} if
} if
-currfonttype BOLD eq
-{ dup currentpoint 2 index show exch 0.5 add exch
moveto show }
-{ show }
-ifelse
+show
currentpoint grestore m
466
oveto
} bind def
/showtext {
@@ -345,10 +345,8 @@
{ word prstr ( ) show }
{ crlf
NotesFontSet }
-{ NotesFontSet
-/currfonttype BOLD def }
-{ /currfonttype ITALIC def
-notesfont findfont italicmatrix makefont setfont }
+{ NotesBoldFontSet }
+{ NotesItalicFontSet }
{ NotesFontSet }
] n get exec
} forall