<!--
 Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
-->

<html>
<body>
<applet  code="PrintTextTest.class" width=400 height=100></applet>
This tests that printed text renders similarly to on-screen,
under a variety of APIs and graphics and font transforms
Print to your preferred printer. Collect the output.
Refer to the onscreen buttons to cycle through the on-screen
content
For each page, confirm that the printed content corresponds to
the on-screen rendering for that *same* page.
Some cases may look odd but its intentional. Verify
it looks the same on screen and on the printer.
Note that text does not scale linearly from screen to printer
so some differences are normal and not a bug.
The easiest way to spot real problems is to check that
any underlines are the same length as the underlined text
and that any rotations are the same in each case.
Note that each on-screen page is printed in both portrait
and landscape mode
So for example, Page 1/Portrait, and Page 1/Landscape when
rotated to view properly, should both match Page 1 on screen.;
</body>
</html>
