/* * $Id: PDFStringHelper.java,v 1.2 2007/08/26 18:56:35 gil1 Exp $ * * $Date: 2007/08/26 18:56:35 $ * * Copyright (C) 2001 Eric Z. Beard, ericzbeard@hotmail.com * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package gnu.jpdf; /** * String manipulation methods * * @author Eric Z. Beard, ericzbeard@hotmail.com * @version $Revision: 1.2 $, $Date: 2007/08/26 18:56:35 $ * */ public class PDFStringHelper { /** * This converts a string into PDF. It prefixes ( or ) with \ * and wraps the string in a ( ) pair. * @param s String to convert * @return String that can be placed in a PDF (or Postscript) stream */ public static String makePDFString(String s) { if(s.indexOf("(")>-1) s = replace(s,"(","\\("); if(s.indexOf(")")>-1) s = replace(s,")","\\)"); return "("+s+")"; } /** * Helper method for toString() * @param s source string * @param f string to remove * @param t string to replace f * @return string with f replaced by t */ private static String replace(String source, String removeThis, String replaceWith) { StringBuffer b = new StringBuffer(); int p = 0, c=0; while(c>-1) { if((c = source.indexOf(removeThis,p)) > -1) { b.append(source.substring(p,c)); b.append(replaceWith); p=c+1; } } // include any remaining text if(p<source.length()) b.append(source.substring(p)); return b.toString(); } } // end class PDFStringHelper