Hi, Olivier:
I don't know the PDF way to do full justify. There must be one, but I only know of an RTF and HTML way.
The RTF way involves the RTF control string
'\qj' and the HTML way involves either the align="justify" attribute or the "text-align: justify" CSS property value. These 2 methods do not really involve ODS style attributes -- they are the "vanilla" methods specified by each markup language. However, the methods DO need an ODS style attribute to work -- I have to tell ODS that I know what I'm doing in using the special characters (like \ or { for RTF) or the < and > for HTML. So I have to set PROTECTSPECIALCHARS=OFF.
Here's some code to test. Just a few notes. If your browser does not use align=justify, then you'll have to try the text-align: justify which belongs to CSS. Also, I prefer not to break long text strings over a line when I'm assigning a long character variable. So I'm assigning my long text via macro variables. If you already have a variable with "big text" to justify, then you'll only need to add the RTF control strings or HTML tags to your variable value.
For more information about the RTF spec:
http://kobesearch.cpan.org/htdocs/RTF-Writer/Cookbook.html
For more info about HTML and CSS and justifying text blocks:
http://www.westciv.com/style_master/academy/css_tutorial/index.html (or any basic HTML/CSS reference book)
cynthia
[pre]
options nodate nonumber center;
%let rt0 = %nrstr(\li180\ri1440\fi480\qj);
%let t1 = %nrstr(Twas brillig and the slithy toves did gyre and gimble in the wabe. );
%let t2 = %nrstr(All Mimsy were the borogroves and the momeraths outgrabe. );
%let t3 = %nrstr(Beware the Jabberwock my son, the jaws that bite the claws that snatch. );
%let t4 = %nrstr(Beware the Jubjub bird and shun the frumious Bandersnatch. );
%let t5 = %nrstr(He took his vorpal sword in hand: Long time the manxome foe he sought -- );
%let t6 = %nrstr(So rested he by the Tumtum tree, And stood awhile in thought. );
%let t7 = %nrstr(And, as in uffish thought he stood, The Jabberwock, with eyes of flame, );
%let t8 = %nrstr(Came whiffling through the tulgey wood, And burbled as it came! );
data jabber;
length var $1000;
bigrtf = "{\pard &rt0 &t1.&t2.&t3.&t4.&t5.&t6.&t7.&t8 \par}";
bightml = "<div align='justify'>&t1.&t2.&t3.&t4.&t5.&t6.&t7.&t8</div>";
run;
ods rtf file='c:\temp\jabber.rtf';
proc print data=jabber ;
var bigrtf / style(data)={protectspecialchars=off};
run;
ods rtf close;
ods html file='c:\temp\jabber.html';
proc print data=jabber;
var bightml / style(data)={protectspecialchars=off};
run;
ods html close;
ods html file='c:\temp\jabber2.html';
proc print data=jabber;
var bightml / style(data)={protectspecialchars=off htmlstyle="text-align: justify;"};
run;
ods html close;
[/pre]