Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. ftrandom
  2. --------
  3.  
  4. This program expects a set of directories containing good fonts, and a set
  5. of extensions of fonts to be tested.  It will randomly pick a font, copy it,
  6. introduce and error and then test it.
  7.  
  8. The FreeType tests are quite basic:
  9.  
  10.   For each erroneous font it
  11.     forks off a new tester;
  12.     initializes the library;
  13.     opens each font in the file;
  14.     loads each glyph;
  15.       (optionally reviewing the contours of the glyph)
  16.       (optionally rasterizing)
  17.     closes the face.
  18.  
  19. If the tester exits with a signal, or takes longer than 20 seconds then
  20. ftrandom saves the erroneous font and continues.  If the tester exits
  21. normally or with an error, then the superstructure removes the test font and
  22. continues.
  23.  
  24. Arguments are:
  25.  
  26.   --all                    Test every font in the directory(ies) no matter
  27.                            what its extension (some CID-keyed fonts have no
  28.                            extension).
  29.   --check-outlines         Call FT_Outline_Decompose on each glyph.
  30.   --dir <dir>              Append <dir> to the list of directories to search
  31.                            for good fonts.
  32.   --error-count <cnt>      Introduce <cnt> single-byte errors into the
  33.                            erroneous fonts.
  34.   --error-fraction <frac>  Multiply the file size of the font by <frac> and
  35.                            introduce that many errors into the erroneous
  36.                            font file.
  37.   --ext <ext>              Add <ext> to the set of font types tested.  Known
  38.                            extensions are `ttf', `otf', `ttc', `cid', `pfb',
  39.                            `pfa', `bdf', `pcf', `pfr', `fon', `otb', and
  40.                            `cff'.
  41.   --help                   Print out this list of options.
  42.   --nohints                Specify FT_LOAD_NO_HINTING when loading glyphs.
  43.   --rasterize              Call FT_Render_Glyph as well as loading it.
  44.   --result <dir>           This is the directory in which test files are
  45.                            placed.
  46.   --test <file>            Run a single test on a pre-generated testcase.
  47.                            Done in the current process so it can be debugged
  48.                            more easily.
  49.