BookmarkSubscribeRSS Feed
macroCharlie
Calcite | Level 5

I have a program that prints a graph using times new roman titles and footers and uses wingdings font for some symbols in the chart.

Until last month this worked fine. I suspected that maybe the fonts weren't installed on the server, but the program prints two parts and one does use the selected fonts. It seems some update on the server or SAS itself may be the cause of this problem.

2 REPLIES 2
ballardw
Super User

Unless the code is very long it is a better idea for this forum to simply copy the code from your editor and paste into a code box opened using the forum's {I} icon. That way everyone can see what is going on without having to download a file.

title;
footnote;
%if &data_type eq UNK %then %do;
TITLE1 C=BLACK H=4 bold FONT='times new roman'
"Quality Control Report1 for UNKNOWNS Runs from &fdate to &ldate";
%end;

%if &data_type eq CHAR %then %do;
TITLE1 C=BLACK H=4 bold FONT='times new roman'
"Quality Control Report1 for CHARACTERIZATION Runs from &fdate to &ldate";
%end;

title2 C=BLACK H=3 bold FONT='times new roman' "DLS-QC Program Version: &version";

title3 C=BLACK H=3 bold FONT='times new roman' j=c "Report Date: &NDATE ";
title4 C=BLACK H=3 bold FONT='times new roman' j=c "Report Time: &NTime ";

title5 C=BLACK H=3 bold FONT='times new roman'  "STARLIMS Test Number: &TestNo";
title6 ' ';

title7 C=BLACK H=3 bold FONT='times new roman' 'This Report includes information for the following Analytes and QC Pools:';

%if &data_type eq UNK %then %do;
 proc print noobs data=special1;
  VAR AnalyteCode SLQCID PoolDetails CharacterizationSetID; * LotNumber;   
RUN;
%end;                                   *new code August 2016;

%if &data_type eq CHAR %then %do;
 proc print noobs data=special1;
  VAR AnalyteCode SLQCID PoolDetails; * LotNumber;   
RUN;

/*Last part that prints chart and legend*/
FOOTNOTE4 H=1.3 FONT='Times New Roman' 'Symbols: ' C=red F=SPECIAL H=1.3 ' D' FONT='Times New Roman' H=1.3 c=black  ' Rejected Run    ' 
                                            c=green    F=Marker H=1.1 'W ' FONT='Times New Roman' H=1.3 c=black ' Run Mean > 2S    ' 
                    c=blue   F=SPECIAL H=1.3 'J ' FONT='Times New Roman' H=1.3 c=black ' Run Result    '
                     c=LIG H=1.5 f='Wingdings' 'C6'x 'C5'x FONT='Times New Roman' H=1.3 c=black ' Common Run    '
                    /*h=1.5 c=BLUE f='Wingdings' 'F1'x  'F2'x c=RED 'F1'x  'F2'x  c = blue F=NONE H=1.3 'Result' c=black '/'
                    c=red 'Mean ' c=black F=NONE H=1.3 c=black 'Shifted to Fit Display    ' */
                    h=1.5 c=LIB f='Wingdings' 'D9'x  FONT='Times New Roman' H=1.3 c=black ' Current Study';

 FOOTNOTE5 H=1.3 FONT='Times New Roman' /*'Symbols: '*/ /*C=red F=SPECIAL H=1.3 ' D' F=NONE H=1.3 c=black  ' Rejected Run    ' 
                                            c=green    F=Marker H=1.1 'W ' F=NONE H=1.3 c=black ' Run Mean > 2S    ' 
                    c=blue   F=SPECIAL H=1.3 'J ' F=NONE H=1.3 c=black ' Run Result    '
                     c=LIG H=1.5 f='Wingdings' 'C6'x 'C5'x F=NONE H=1.3 c=black ' Common Run    '*/
                    h=1.5 c=BLUE f='Wingdings' 'F1'x c = black FONT='Times New Roman' H=1.3 '/' h=1.5 c=BLUE f='Wingdings' 'F2'x 
                    h=1.5 c=RED  f='Wingdings' 'F1'x c = black FONT='Times New Roman' H=1.3 '/' h=1.5 c=RED  f='Wingdings' 'F2'x  
                    c = black FONT='Times New Roman' H=1.3 
                    ' Actual ' c = blue FONT='Times New Roman' H=1.3 'result' c=black ' or '
                    c=red 'mean' c=black FONT='Times New Roman' H=1.3 c=black ' is lower/higher than shown (plotted value changed to provide better display of all data)' 
                    /*h=1.5 c=LIB f='Wingdings' 'D9'x  F=NONE H=1.3 c=black ' Current Study'*/;
                                                                                                 *new code May 2016;
PROC GPLOT DATA=QCCHKLC;

You say

"program prints two parts and one does use the selected fonts. "

So, which part of the above uses the selected font correctly and which doesn't?

You may also have to share your ODS destination code.

 

You likely may have to investigate what changed. Was there a change in the server you connect to? Is it the same operating system?

 

The older device based graphics procedures like GPLOT do not always play as nicely as desired with some output options. You might want to start changing to SGPLOT where you have more options.

 

Another suggestion is to not rely on Fonts like Wingdings, at least for many common semi-graphical characters but to invest some time in to provide Unicode options which are less likely to be dependent on specific font availability 

Vince_SAS
Rhodochrosite | Level 12

Yes, please post all the ODS statements that you are using.

 

What changed on the server and/or SAS?  Is the server Windows or UNIX?  What is the version of SAS?

 

Vince DelGobbo

SAS R&D

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 751 views
  • 0 likes
  • 3 in conversation