private static List<Metrics> readMetrics(Reader reader, int size, boolean antialias, boolean square, Font font, double min, double max) throws IOException {
    BufferedReader read = new BufferedReader(reader);
    String line;
    List<Metrics> list = new ArrayList<Metrics>();
    while ( (line = read.readLine()) != null ) {
      line = line.trim();
      int p = line.indexOf(' ');
      if ( p < 0 ) p = line.length();
      line = line.substring(0, p);
      if ( line.length() == 0 ) continue;
      UnigramMetrics m = new UnigramMetrics(line, size, antialias, square, font);
      if ( min < m.getBlackness() && m.getBlackness() < max ) {
        list.add(m);
      } else {
        System.err.printf("skip \'%s\' %s\n", m.getSequence(), Arrays.toString(m.getSequence().toString().getBytes()));
      }
    }
    return list;
  }