From f2ff7329c72de29e016f2f59a9e1bd335c4b9662 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sun, 3 Jun 2007 19:50:57 +0000 Subject: [PATCH] Some explanations, taken from an email sent by George. --- src/tools/ftrandom/README | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/tools/ftrandom/README diff --git a/src/tools/ftrandom/README b/src/tools/ftrandom/README new file mode 100644 index 000000000..c093f15e8 --- /dev/null +++ b/src/tools/ftrandom/README @@ -0,0 +1,48 @@ +ftrandom +-------- + +This program expects a set of directories containing good fonts, and a set +of extensions of fonts to be tested. It will randomly pick a font, copy it, +introduce and error and then test it. + +The FreeType tests are quite basic: + + For each erroneous font it + forks off a new tester; + initializes the library; + opens each font in the file; + loads each glyph; + (optionally reviewing the contours of the glyph) + (optionally rasterizing) + closes the face. + +If the tester exits with a signal, or takes longer than 20 seconds then +ftrandom saves the erroneous font and continues. If the tester exits +normally or with an error, then the superstructure removes the test font and +continues. + +Arguments are: + + --all Test every font in the directory(ies) no matter + what its extension (some CID-keyed fonts have no + extension). + --check-outlines Call FT_Outline_Decompose on each glyph. + --dir Append to the list of directories to search + for good fonts. + --error-count Introduce single-byte errors into the + erroneous fonts. + --error-fraction Multiply the file size of the font by and + introduce that many errors into the erroneous + font file. + --ext Add to the set of font types tested. Known + extensions are `ttf', `otf', `ttc', `cid', `pfb', + `pfa', `bdf', `pcf', `pfr', `fon', `otb', and + `cff'. + --help Print out this list of options. + --nohints Specify FT_LOAD_NO_HINTING when loading glyphs. + --rasterize Call FT_Render_Glyph as well as loading it. + --result This is the directory in which test files are + placed. + --test Run a single test on a pre-generated testcase. + Done in the current process so it can be debugged + more easily.