rem: String actual_font_name = (font_name ? font_name : font->font_name() + String("LCDFJ"));
add: String actual_font_name = (font_name ? String(font_name) : font->font_name() + String("LCDFJ"));
context: main(int argc, char *argv[]){    PsresDatabase *psres = new PsresDatabase;    psres->add_psres_path(getenv("PSRESOURCEPATH"), 0, false);      Clp_Parser *clp =	Clp_NewParser(argc, (const char * const *)argv, sizeof(options) / sizeof(options[0]), options);    program_name = Clp_ProgramName(clp);      ErrorHandler *errh = ErrorHandler::static_initialize(new FileErrorHandler(stderr));    const char *input_file = 0;    FILE *outputf = 0;    const char *private_use_dotlessj = "uniF6BE";    bool binary = true;    const char *font_name = 0;      while (1) {	int opt = Clp_Next(clp);	switch (opt) {      	  case QUIET_OPT:	    if (clp->negated)		errh = ErrorHandler::default_handler();	    else		errh = ErrorHandler::silent_handler();	    break;	  case NAME_OPT:	    font_name = clp->arg;	    break;	    	  case PFA_OPT:	    binary = false;	    break;	  case PFB_OPT:	    binary = true;	    break;	  case OUTPUT_OPT:	  output_file:	    if (outputf)		usage_error(errh, "output file specified twice");	    if (strcmp(clp->arg, "-") == 0)		outputf = stdout;	    else if (!(outputf = fopen(clp->arg, "wb")))		errh->fatal("%s: %s", clp->arg, strerror(errno));	    break;	       	  case VERSION_OPT:	    printf("t1dotlessj (LCDF typetools) %s\n", VERSION);	    printf("Copyright (C) 2003 Eddie Kohler\n\This is free software; see the source for copying conditions.\n\There is NO warranty, not even for merchantability or fitness for a\n\particular purpose.\n");	    exit(0);	    break;      	  case HELP_OPT:	    usage();	    exit(0);	    break;      	  case Clp_NotOption:	    if (input_file && outputf)		usage_error(errh, "too many arguments");	    else if (input_file)		goto output_file;	    else		input_file = clp->arg;	    break;      	  case Clp_Done:	    goto done;      	  case Clp_BadOption:	    usage_error(errh, 0);	    break;      	  default:	    break;      	}    }    done:    Type1Font *font = do_file(input_file, psres, errh);    if (!input_file || strcmp(input_file, "-") == 0)	input_file = "<stdin>";    // check for existing dotlessj    if (font->glyph("dotlessj"))	errh->fatal("%s: already has a 'dotlessj' glyph", font->font_name().c_str());    else if (font->glyph("uni0237"))	errh->fatal("%s: already has a dotlessj glyph at 'uni0237'", font->font_name().c_str());    else if (private_use_dotlessj && font->glyph(private_use_dotlessj))	errh->fatal("%s: already has a dotlessj glyph at '%s'", font->font_name().c_str(), private_use_dotlessj);    // check for j    Type1Charstring *j_cs = font->glyph("j");    if (!j_cs)	j_cs = font->glyph("uni006A");    if (!j_cs)	errh->fatal("%s: has no 'j' glyph to make dotless", font->font_name().c_str());    // make new font    String actual_font_name = (font_name ? font_name : font->font_name() + String("LCDFJ"));    if (actual_font_name.length() > 29 && !font_name) {	errh->warning("derived font name '%s' longer than 29 characters", actual_font_name.c_str());	errh->message("(Use the '--name' option to supply your own name.)");    }    Type1Font *dotless_font = Type1Font::skeleton_make_copy(font, actual_font_name);    dotless_font->skeleton_common_subrs();        // copy space and .notdef    if (Type1Charstring *notdef = font->glyph(".notdef"))	dotless_font->add_glyph(Type1Subr::make_glyph(".notdef", *notdef, " |-"));    if (Type1Charstring *space = font->glyph("space")) {	dotless_font->add_glyph(Type1Subr::make_glyph("space", *space, " |-"));	dotless_font->type1_encoding()->put(' ', "space");    }    // create dotless j    Sectioner sec(5);    sec.run(CharstringContext(font, j_cs));    sec.undot(font->font_name(), errh);    Type1Subr *dotlessj = Type1Subr::make_glyph("uni0237", sec.gen(dotless_font), " |-");    dotless_font->add_glyph(dotlessj);    //fprintf(stderr, "!  %s\n", CharstringUnparser::unparse(dotlessj->t1cs()).c_str());    // encode dotless j    dotless_font->type1_encoding()->clear();    dotless_font->type1_encoding()->put('j', "uni0237");    // write it to output    if (!outputf)	outputf = stdout;    if (binary) {	Type1PFBWriter w(outputf);	dotless_font->write(w);    } else {	Type1PFAWriter w(outputf);	dotless_font->write(w);    }        return (errh->nerrors() == 0 ? 0 : 1);}