public static Font rebuildFont(String fontString){
  if (fontString.length() == 0)   return DEFAULT_FONT;
  int fontStyle=Font.PLAIN;
  int fontSize=12;
  int start=fontString.indexOf("-",1) + 1;
  int end=fontString.indexOf("-",start + 1);
  String name=fontString.substring(start,end);
  if (fontString.indexOf("-bold-") >= 0)   fontStyle=Font.BOLD;
  if (fontString.indexOf("-i-") >= 0)   fontStyle+=Font.ITALIC;
  start=fontString.indexOf("--") + 2;
  end=fontString.indexOf("-",start + 1);
  String tmpFontSize=fontString.substring(start,end);
  if (tmpFontSize.indexOf("*") < 0)   fontSize=Integer.parseInt(tmpFontSize);
  return new Font(name,fontStyle,fontSize);
}

public static Font rebuildFont ( String fontString ) { if ( fontString . length ( ) == 0 ) return DEFAULT_FONT ; int fontStyle = Font . PLAIN ; int fontSize = 12 ; int start = fontString . indexOf ( "-" , 1 ) + 1 ; int end = fontString . indexOf ( "-" , start + 1 ) ; String name = fontString . substring ( start , end ) ; if ( fontString . indexOf ( "-bold-" ) >= 0 ) fontStyle = Font . BOLD ; if ( fontString . indexOf ( "-i-" ) >= 0 ) fontStyle += Font . ITALIC ; start = fontString . indexOf ( "--" ) + 2 ; end = fontString . indexOf ( "-" , start + 1 ) ; String tmpFontSize = fontString . substring ( start , end ) ; if ( tmpFontSize . indexOf ( "*" ) < 0 ) fontSize = Integer . parseInt ( tmpFontSize ) ; return new Font ( name , fontStyle , fontSize ) ; }
build a font out of an x font description string . this function take this common string format , and pulls the font type , style , and size out of it .
