I've edited your example on window.print() as follows:<!DOCTYPE html><html><head><script>function printpage(){window.print();}</script></head><body><font color='red'>A</font><font color='blue'>B</font><font color='red'>C</font><font color='black'>D</font><font color='gray'>E</font><br><font color='red'>A</font><font color='blue'>B</font><font color='white'>C</font><font color='black'>D</font><font color='gray'>E</font><input type="button" value="Print this page" onclick="printpage()" /></body></html> (The font tag I used is deprecated but it's quick.)The reason I am printing a white character on white paper instead of printing a space has to do with trying to maintain vertical alignment of characters because browsers seem to compress whitespace, even for monospace fonts (I did only limited experiments). In the display, the letter C in the second row is not visible, as intended, while vertical alignment of the other characters is maintained. If the page is printed, the alignment is fine but the letter C in the second row is printed in gray. Independent of the merits, or lack thereof, of my approach, why is that? Can it be avoided? Thanks,GernotM