BookmarkSubscribeRSS Feed
craig159753
Quartz | Level 8

Hi, 

 

I am trying produce a figure using Graphic Template Language (GLT), however no matter what I try the fonts are not changing.

 

This is the PROC TEMPLATE code:

 

proc template;
    define statgraph series;
        begingraph / designwidth=800px designheight=500px border=false;
            layout datalattice rowvar=severity  / headerborder=false
                                                  columnaxisopts=(label="Visit" labelattrs=(family="courier new" weight=bold)
                                                                  tickvalueattrs=(family="courier new"))
                                                  rowdatarange=union
                                                  rowaxisopts=(label="Mean" labelattrs=(family="courier new" weight=bold)
                                                               tickvalueattrs=(family="courier new"));

                ** Plot;
                layout prototype / cycleattrs=true;
                    seriesplot x=xvar y=mean / name="mean" group=treatment;
                endlayout;

                ** Legend;
                sidebar / align=bottom;        
                    discretelegend "mean" / border=false valueattrs=(family="courier new" weight=bold);
                endsidebar;

            endlayout;
        endgraph;
    end;
run;

 

I am setting the font for all components to Courier New yet once it runs and I open the output all components are using the Arial font. Any help? Sorry I cannot upload the actual output, but the log is also clean.

 

This is the code used to output the file:

ods _all_ close;
ods rtf file = "C:/Myfile.rtf" style=custom_style;
ods graphics on / imagefmt = png;

    proc sgrender
        data = mydataset
        template = series;
        by myvariable;
    run;

ods rtf close;
ods listing;

 

 

3 REPLIES 3
ballardw
Super User

You did not provide any data so I can't test this.

 

I would suggest that you test the case of your font that matches the name that appears installed on your system, likely "Courier New" instead of "courier new".

craig159753
Quartz | Level 8
Sadly I cannot provide the data (which I know is not helpful). However I can describe it.

X axis represents some visits.
Y axis represents the mean result.
Group is a categorical variable.
Column variable (for the grouped outputs) is another categorical variable.
Page variable can be any further categorical variable.

Page, Column, Group, Y, X
A, FIRST, DRUG A, 11, VISIT 1
A, FIRST, DRUG B, 14, VISIT 2
A, LAST, DRUG A,13, VISIT 1
A, LAST, DRUG B, 12, VISIT 2

The casing on a windows machine is not usually an issue. I have already produce some odd rtf tables using courier new without an issue. It seems only the figures are not playing ball.
bwhiz44
Calcite | Level 5

I'm hoping you found a solution because I am having the same issue, but with Proc Template. Font Styles are set to courier new but graph text shows up as something resembling Arial.

 

proc template;
  define style sty1 / store=metadata.sty1;
  parent=styles.rtf;

  replace fonts/
    'TitleFont2'              = ("Courier New, Courier",8pt)
    'TitleFont'               = ("Courier New, Courier",8pt)
    'StrongFont'              = ("Courier New, Courier",8pt)
    'EmphasisFont'            = ("Courier New, Courier",8pt)
    'FixedEmphasisFont'       = ("Courier New, Courier",8pt)
    'FixedStrongFont'         = ("Courier New, Courier",8pt)
    'FixedHeadingFont'        = ("Courier New, Courier",8pt)
    'BatchFixedFont'          = ("Courier New, Courier",8pt)
    'HeadingEmphasisFont'     = ("Courier New, Courier",8pt)
    'HeadingFont'             = ("Courier New, Courier",8pt)
    'FixedFont'               = ("Courier New, Courier",8pt)
    'docFont'                 = ("Courier New, Courier",8pt)

    ;
 style graphfonts from graphfonts / 
      'GraphDataFont'         = ("Courier New, Courier",8pt) 
      'GraphUnicodeFont'      = ("Courier New, Courier",8pt) 
      'GraphValueFont'        = ("Courier New, Courier",8pt) 
      'GraphLabel2Font'       = ("Courier New, Courier",8pt) 
      'GraphLabelFont'        = ("Courier New, Courier",8pt) 
      'GraphFootnoteFont'     = ("Courier New, Courier",8pt) 
      'GraphTitleFont'        = ("Courier New, Courier",8pt) 
      'GraphTitle1Font'       = ("Courier New, Courier",8pt) 
      'GraphAnnoFont'         = ("Courier New, Courier",8pt)
    ;
end;
run;

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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
  • 3 replies
  • 1682 views
  • 0 likes
  • 3 in conversation