comparison make/tools/src/build/tools/fontchecker/README.txt @ 0:37a05a11f281

Initial load
author duke
date Sat, 01 Dec 2007 00:00:00 +0000
equal deleted inserted replaced
-1:000000000000 0:61d3faca8471
1 /*
2 * Copyright 2002-2003 Sun Microsystems, Inc. All Rights Reserved.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit if you need additional information or
23 * have any questions.
24 */
25 Instructions for running FontChecker
26 ------------------------------------
28 FontChecker is a program designed to identify fonts that may cause JRE
29 crashes. Such fonts may be corrupted files, or badly constructed fonts.
30 Some crashes may also be due to bugs in the JRE's font code.
31 This test is designed to run quickly and silently as part of the JRE
32 installation process. It will only benefit users who install the JRE
33 via that mechanism. It cannot guarantee to identify all "bad fonts" because
34 the tests are minimal. Nor can it prevent problems due to fonts installed
35 subsequently to the JRE's installation. However it does ensure that the
36 vast majority of problem fonts are identified. This is important
37 "RAS" functionality. It is targeted at the consumer/plugin market where
38 there is substantial likelihood of end-users having installed software
39 packages which may be delivered with fonts that are not up to commercial
40 standards.
42 The test is designed to be "fail safe". If the program fails to run
43 properly it has no impact on the installer or on JRE execution.
44 Thus there is no need to monitor successful execution of the test.
46 The test is not a new "tool" in the sense of "javah" etc.
47 The test is not designed to be user executable or visible, and should
48 be unpacked by the installer into a temporary location, and executed
49 once the rest of the JRE is installed (ie as a postinstall step), and
50 can then be deleted from the temporary location once installation is
51 complete. Not deleting the jar file before execution is complete is
52 probably the sole reason that the installer may want to wait for
53 the program to complete.
55 The FontChecker application can be run directly from the jar
56 file with this command:
57 %java -jar fontchecker.jar -o <file>
59 The output file is a required parameter in this version of the application.
60 The JRE installer should use the above form, and use it to create an
61 output file which must be named "badfonts.txt" and be placed into
62 the JRE's lib\fonts directory eg:-
64 java -jar fontchecker.jar -o "C:\Program Files\jre\lib\fonts\badfonts.txt"
66 Note the lower case "badfonts.txt", and the string quotes because of the spaces
67 in the path name.
68 The location given here is an example and needs to be calculated at install
69 time as $JREHOME\lib\fonts\badfonts.txt
70 The location and name are important, because the JRE at runtime will
71 look for this exactly located name and file.
72 This location is private to that JRE instance. It will not affect
73 any other JRE installed on the system.
75 If running from a different directory than that containing the jar file,
76 use the form containing the full path to the jar file, eg :
78 java -jar C:\fc\fontchecker.jar -o "C:\Program Files\jre\lib\fonts\badfonts.txt"
80 FontChecker application accepts following command line flags.
81 usage: java -jar fontchecker.jar -o outputfile
82 -v
84 -o is the name of the file to contains canonical path names of
85 bad fonts that are identified. This file is not created if
86 no bad fonts are found.
88 -v verbose mode: print progress/warning messages. Not recommended
89 for installer use.
91 -w if running on Windows, use "javaw" to exec the sub-process.