Пример #1
0
int
main (int argc, char *argv[])
{
  struct args *args = parse_args (argc, argv);

  validate_args (args);

  JBDATA *data =
    classify_components (args->num_input_files, args->input_files,
			 args->thresh, args->weight);

  /* Render output of leptonica's classifier, if requested */
  if (args->debug_render_pages)
    {
      int i;
      PIXA *pa = jbDataRender (data, 0);
      for (i = 0; i < pa->n; i++)
	{
	  PIX *pix = pa->pix[i];
	  char filename[512];
	  sprintf (filename, "rendered_%05d.png", i);
	  pixWrite (filename, pix, IFF_PNG);
	}
    }

  struct mapping *maps = NULL;
  int num_fonts = register_mappings (data, &maps);

  char *tmpdirname = NULL;

  if (!args->debug_skip_font_gen)
    {
      tmpdirname = generate_fonts (data, maps, num_fonts, args->debug_tmpdir);
    }

  generate_pdf (args->outname, tmpdirname, num_fonts, args->num_input_files,
		data, maps, args->debug_draw_borders);

  /* clean up tmpdir */

  if (!args->debug_no_clean_tmpdir)
    {
      /* This may not be Windows compatible */
      if (nftw (tmpdirname, delete_file, 64, FTW_DEPTH | FTW_PHYS) == -1)
	{
	  error_quit ("Failed to clean up tmpdir.");
	}
    }

  if (args->debug_tmpdir == NULL)
    {
      free (tmpdirname);
    }

  free (maps);
  jbDataDestroy (&data);
  free (args->input_files);
  free (args);
  return 0;
}
Пример #2
0
int main(int , char * const []) {
#ifndef SK_BUILD_FOR_MAC
    #error "use fonts installed on Mac"
#endif
    FILE* out = font_header();
    generate_fonts(out);
    generate_index(DEFAULT_FONT_NAME, out);
    fclose(out);
    return 0;
}