private CharDef parseChar(final String line) throws Exception { CharDef def = new CharDef(); StringTokenizer tokens = new StringTokenizer(line, " ="); tokens.nextToken(); tokens.nextToken(); def.id = Short.parseShort(tokens.nextToken()); if (def.id < 0) { return null; } if (def.id > DEFAULT_MAX_CHAR) { throw new Exception(def.id + " > " + DEFAULT_MAX_CHAR); } tokens.nextToken(); def.tx = Short.parseShort(tokens.nextToken()); tokens.nextToken(); def.ty = Short.parseShort(tokens.nextToken()); tokens.nextToken(); def.width = Short.parseShort(tokens.nextToken()); tokens.nextToken(); def.height = Short.parseShort(tokens.nextToken()); tokens.nextToken(); def.xoffset = Short.parseShort(tokens.nextToken()); tokens.nextToken(); def.yoffset = Short.parseShort(tokens.nextToken()); tokens.nextToken(); def.advance = Short.parseShort(tokens.nextToken()); if (def.id != (short) ' ') { lineHeight = MathUtils.max(def.height + def.yoffset, lineHeight); } return def; }