Data visualization with SAS programming

Arial replaced in proc sgplot for UTF-8 sessions

Accepted Solution Solved
Reply
Contributor ckx
Contributor
Posts: 55
Accepted Solution

Arial replaced in proc sgplot for UTF-8 sessions

Spoiler
We've recently installed a SAS server configuration with the UTF-8 encoding. One of the things I've ecountered is a message to the SAS log when using ODS Graphics:

WARNING: The font Arial is not available. Albany AMT will be used.

I can't find any information on this message in relation to ODS Graphics. I know that "Albany AMT" is an Arial clone by SAS Institute. If I recall correctly, you could use Albany AMT in SAS/Graph procedures in SAS 9.2 whereas Arial and other Truetype fonts needed to be registered.

My question is, can I suppress this warning? The problem is that our quality control procedures require that I explain an unavoidable warnings in the SAS log. The same program runs fine using the Wlatin1 encoding. Any suggestions?

I'm using Enterprise Guide 6.1 with SAS 9.4M1 on a Windows 2008 R2 server. The same problem occurs using SAS 9.4M3 on our test server. I'm creating RTF and PDF output, usually with the "Analysis" style. I've tried a few other styles, that didn't make the warning go away.

Accepted Solutions
Solution
‎09-15-2016 10:02 AM
SAS Super FREQ
Posts: 925

Re: Arial replaced in proc sgplot for UTF-8 sessions

The list you are showing are not necessarily registered fonts. This list is an association between a font directive (e.g. san-serif) using in ODS styles and an actual font name (e.g. Arial). This association is in the regeistry regardless of registered fonts. The true list of registered fonts are under CORE/PRINTING/FREETYPE/FONTS. To see what I mean, search for "Albany AMT". You should get a hit under that directory. If Arial does not show up under there, you will need to get an admin to run PROC FONTREG to update the font list.

 

Thanks!

Dan

 

View solution in original post


All Replies
SAS Super FREQ
Posts: 925

Re: Arial replaced in proc sgplot for UTF-8 sessions

Is the Arial font on your system? If it is, try using PROC FONTREG to register the font to your UTF-8 configured system. Hope this helps!

Contributor ckx
Contributor
Posts: 55

Re: Arial replaced in proc sgplot for UTF-8 sessions

Well, I'm running SAS on a server so I can't just modify the SAS registry. I ran proc registry to check which fonts were installed and this seems to be the case (duplicates removed)

 

MTsans-serif-unicode="Arial Unicode MS"
MTsans-serif="Arial Unicode MS"
MTsans-serif-unicode="Arial Unicode MS"
MTsans-serif="Arial Unicode MS"
MTsans-serif-unicode="Arial Unicode MS"
sans-serif="Arial Unicode MS"
sans-serif="Arial"

 

But the problem doesn't occur on the same server using the Wlatin1 encoding so Arial is definitely on the system. As I understand it, the UTF-8 configuration runs on the same SAS install but uses a different config.sas file. A strange and annoying problem

 

Solution
‎09-15-2016 10:02 AM
SAS Super FREQ
Posts: 925

Re: Arial replaced in proc sgplot for UTF-8 sessions

The list you are showing are not necessarily registered fonts. This list is an association between a font directive (e.g. san-serif) using in ODS styles and an actual font name (e.g. Arial). This association is in the regeistry regardless of registered fonts. The true list of registered fonts are under CORE/PRINTING/FREETYPE/FONTS. To see what I mean, search for "Albany AMT". You should get a hit under that directory. If Arial does not show up under there, you will need to get an admin to run PROC FONTREG to update the font list.

 

Thanks!

Dan

 

Contributor ckx
Contributor
Posts: 55

Re: Arial replaced in proc sgplot for UTF-8 sessions

It seems PROC FONTREG does the trick. As a user, you can specify

 

* Add fonts to the SAS registry - avoid error Arial replaced by Albany AMT;
proc fontreg msglevel=none;
    fontpath 'C:\Windows\Fonts';
run;

This will update the registry for the current session, but it only takes 0.76 seconds.

 

I think the SAS admin would have to add "usesashelp" and run the program with admin rights. I'll have to check that with SAS support first.

proc fontreg usesashelp;
    fontpath 'C:\Windows\Fonts';
run;

Still strange that no warning occurs in a Wlatin1 session

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 645 views
  • 0 likes
  • 2 in conversation