It seems the SSMS of Sql server 2012 cannot print the SQL statements with syntax color anymore. Is it a bug? Does it have any workaround?
Honestly I've never tried printing from SSMS before. For a workaround I'd copy and paste the code into Microsoft Word (or some other editor which supports rich data, aka text with color) and print from there.
Are you really printing code that often that the color matters?