The following steps illustrate Unicode specifications for a number of commonly used characters and create Output 25.2.6 and Output 25.2.7, which are charts of Unicode characters:
%let l = halign=left;
proc template;
define statgraph class;
begingraph / designheight=640px designwidth=520px;
layout overlay / xaxisopts=(display=none) yaxisopts=(display=none);
layout gridded / columns=3 autoalign=(topleft);
entry &l textattrs=(weight=bold) 'Description';
entry &l textattrs=(weight=bold) 'Displayed';
entry &l textattrs=(weight=bold) "Unicode";
entry &l 'R Square';
entry &l 'R' {sup '2'};
entry &l "'R' {sup '2'}";
entry &l 'y hat sub i';
entry &l 'y' {unicode hat}{sub 'i'};
entry &l "'y' {unicode hat}{sub 'i'}";
entry &l 'plus or minus';
entry &l '7 ' {unicode '00B1'x} ' 2';
entry &l "'7 ' {unicode '00B1'x} ' 2'";
entry &l 'not equal to ';
entry &l 'a ' {unicode '2260'x} ' b';
entry &l "'a ' {unicode '2260'x} ' b'";
entry &l 'less than or equal ';
entry &l 'a ' {unicode '2264'x} ' b';
entry &l "'a ' {unicode '2264'x} ' b'";
entry &l 'greater than or equal ';
entry &l 'b ' {unicode '2265'x} ' a';
entry &l "'b ' {unicode '2265'x} ' a'";
entry &l 'almost equal';
entry &l 'a ' {unicode '2248'x} ' b';
entry &l "'a ' {unicode '2248'x} ' b'";
entry &l 'infinity';
entry &l {unicode '221e'x};
entry &l "{unicode '221e'x}";
entry &l 'combining tilde';
entry &l 'El nin' {unicode tilde} 'o';
entry &l "'El nin' {unicode tilde} 'o'";
entry &l 'grave accent';
entry &l 'cre' {unicode '0300'x} 'me';
entry &l "'cre' {unicode '0300'x} 'me'";
entry &l 'circumflex, acute accent ';
entry &l 'bru' {unicode '0302'x} 'le' {unicode '0301'x} 'e';
entry &l "'bru' {unicode '0302'x} 'le' {unicode '0301'x} 'e'";
entry &l 'degree sign';
entry &l '90' {unicode '00B0'x} ' angle';
entry &l "'90' {unicode '00B0'x} ' angle'";
entry &l 'euro sign';
entry &l {unicode '20AC'x} '100';
entry &l "{unicode '20AC'x} '100'";
entry &l 'cent sign';
entry &l '25' {unicode '00A2'x};
entry &l "'25' {unicode '00A2'x}";
entry &l 'copyright';
entry &l {unicode '00a9'x};
entry &l "{unicode '00a9'x}";
entry &l 'bullet';
entry &l {unicode '2022'x};
entry &l "{unicode '2022'x}";
entry &l 'alpha';
entry &l {unicode alpha} ' ' {unicode alpha_u};
entry &l "{unicode alpha} ' ' {unicode alpha_u}";
entry &l 'beta';
entry &l {unicode beta} ' ' {unicode beta_u};
entry &l "{unicode beta} ' ' {unicode beta_u}";
entry &l 'gamma';
entry &l {unicode gamma} ' ' {unicode gamma_u};
entry &l "{unicode gamma} ' ' {unicode gamma_u}";
entry &l 'delta';
entry &l {unicode delta} ' ' {unicode delta_u};
entry &l "{unicode delta} ' ' {unicode delta_u}";
entry &l 'epsilon';
entry &l {unicode epsilon} ' ' {unicode epsilon_u};
entry &l "{unicode epsilon} ' ' {unicode epsilon_u}";
entry &l 'zeta';
entry &l {unicode zeta} ' ' {unicode zeta_u};
entry &l "{unicode zeta} ' ' {unicode zeta_u}";
entry &l 'eta';
entry &l {unicode eta} ' ' {unicode eta_u};
entry &l "{unicode eta} ' ' {unicode eta_u}";
entry &l 'theta';
entry &l {unicode theta} ' ' {unicode theta_u};
entry &l "{unicode theta} ' ' {unicode theta_u}";
entry &l 'iota';
entry &l {unicode iota} ' ' {unicode iota_u};
entry &l "{unicode iota} ' ' {unicode iota_u}";
entry &l 'kappa';
entry &l {unicode kappa} ' ' {unicode kappa_u};
entry &l "{unicode kappa} ' ' {unicode kappa_u}";
entry &l 'lambda';
entry &l {unicode lambda} ' ' {unicode lambda_u};
entry &l "{unicode lambda} ' ' {unicode lambda_u}";
entry &l 'mu';
entry &l {unicode mu} ' ' {unicode mu_u};
entry &l "{unicode mu} ' ' {unicode mu_u}";
entry &l 'nu';
entry &l {unicode nu} ' ' {unicode nu_u};
entry &l "{unicode nu} ' ' {unicode nu_u}";
entry &l 'xi';
entry &l {unicode xi} ' ' {unicode xi_u};
entry &l "{unicode xi} ' ' {unicode xi_u}";
entry &l 'omicron';
entry &l {unicode omicron} ' ' {unicode omicron_u};
entry &l "{unicode omicron} ' ' {unicode omicron_u}";
entry &l 'pi';
entry &l {unicode pi} ' ' {unicode pi_u};
entry &l "{unicode pi} ' ' {unicode pi_u}";
entry &l 'rho';
entry &l {unicode rho} ' ' {unicode rho_u};
entry &l "{unicode rho} ' ' {unicode rho_u}";
entry &l 'sigma';
entry &l {unicode sigma} ' ' {unicode sigma_u};
entry &l "{unicode sigma} ' ' {unicode sigma_u}";
entry &l 'tau';
entry &l {unicode tau} ' ' {unicode tau_u};
entry &l "{unicode tau} ' ' {unicode tau_u}";
entry &l 'upsilon';
entry &l {unicode upsilon} ' ' {unicode upsilon_u};
entry &l "{unicode upsilon} ' ' {unicode upsilon_u}";
entry &l 'phi';
entry &l {unicode phi} ' ' {unicode phi_u};
entry &l "{unicode phi} ' ' {unicode phi_u}";
entry &l 'chi';
entry &l {unicode chi} ' ' {unicode chi_u};
entry &l "{unicode chi} ' ' {unicode chi_u}";
entry &l 'psi';
entry &l {unicode psi} ' ' {unicode psi_u};
entry &l "{unicode psi} ' ' {unicode psi_u}";
entry &l 'omega';
entry &l {unicode omega} ' ' {unicode omega_u};
entry &l "{unicode omega} ' ' {unicode omega_u}";
endlayout;
scatterplot y=weight x=height / markerattrs=(size=0);
endlayout;
endgraph;
end;
run;
proc sgrender data=sashelp.class template=class;
run;
%let sym = ArrowDown Asterisk Circle CircleFilled Diamond DiamondFilled
GreaterThan Hash IBeam Plus Square SquareFilled Star StarFilled
Tack Tilde Triangle TriangleFilled Union X Y Z;
%let uni = 2193 002A 25cb 25cf 25c7 2666 003e 0023 2336 002b 25a1 25a0 2606
2605 22a4 223c 25b3 25b2 222a 0058 0059 005a;
data x;
retain fmtname '$markers' x1 0 x2 0.1 x3 1 x4 0.9;
length m $ 20 u $ 4 l label $ 30;
do y = 1 to 22;
m = scan("&sym", y);
u = scan("&uni", y);
l = cat("{unicode '", u, "'x}");
label = catt('(*ESC*)', l);
start = m;
output;
end;
run;
proc format cntlin=x;
run;
ods graphics on / attrpriority=none width=3in height=4in;
proc sgplot data=x noautolegend;
title justify=left ' Markers' justify=right 'Unicode Characters';
styleattrs datasymbols=(&sym) datacontrastcolors=(black);
scatter x=x1 y=y / group=m;
text x=x2 y=y text=m / position=right;
scatter x=x3 y=y / markerchar=start
markercharattrs=(size=9 family='Arial Unicode MS');
text x=x4 y=y text=l / position=right;
format start $markers.;
xaxis display=none offsetmin=0.05 offsetmax=0.27;
yaxis display=none offsetmin=0.01 offsetmax=0.05 reverse;
run;
ods graphics on / reset=all;
title;
Output 25.2.6: Commonly Used Unicode and Special Characters

Output 25.2.7: Markers and Unicode Specifications

The Unicode Consortium http://unicode.org/ provides a list of character codes at
http://www.unicode.org/charts/charindex.html.
The following rules apply to Unicode and special character specifications in ODS graphics:
Each character can be specified by looking up its code and specifying it as a hexadecimal constant. Example: unicode ’221e’x.
Lower case Greek letters can be specified by using names instead of hexadecimal constants. Example: unicode alpha.
Upper case Greek letters can be specified by using names followed by _u instead of a hexadecimal constants. Example: unicode alpha_u.
Superscript and subscript have special abbreviations. Examples: sup 2 and
sub 2.
The sup and sub specifications must not appear escaped and in quotes in the GTL. They must appear outside of quotes.
Some characters overprint the character that comes before. Example: ’El nin’ tilde
’o’, which is equivalent to ’El nin’ unicode ’0303’x
’o’ creates 'El niño'.
Specifications inside quotes are escaped. Example: "(*ESC*)unicode beta".
Specifications outside quotes are not escaped. Example: unicode beta.