you need to reference an external unicode true-type font eg
BaseFont bfArialUniCode = BaseFont.CreateFont(@"drive:\path\ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bfArialUniCode, 12);
obviously the 'drive:\path\' needs to be correct - I've just shown that as a placeholder - it could be "C:\Windows\Fonts", whatever is correct for your machine - this could work
const string arialunicodepath = Environment.GetEnvironmentVariable( "SystemRoot" ) + "\\fonts\\ARIALUNI.TTF";
.... Another way to always ensure the font is where you want it is to deploy a copy of the font file to for example, the directory where you install your program and a subdirectory for fonts - gettit ?
[Edit] Putting it all together
String uniText1 = @"Any Text You Want With Unicode Characters\n";
String uniText2 = @"Line 2 Of Text";
const string arialunicodepath = Environment.GetEnvironmentVariable( "SystemRoot" ) + "\\fonts\\ARIALUNI.TTF";
BaseFont bfArialUniCode = BaseFont.CreateFont(arialunicodepath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bfArialUniCode, 12);
Chunk c1 = new Chunk(uniText1, font);
Chunk c2 = new Chunk(uniText2, font);
Phrase p1 = new Phrase(c1);
p1.Add(c2);
Paragraph p = new Paragraph();
p.Add(p1);
doc.Add([p);
doc.Close();
[/Edit]