public static void parseStyledTextParagraphSettings( char key, String value, StyledTextParagraph para) { if (value.length() > 0) { switch (key) { case 'A': para.setValign(Integer.parseInt(value)); break; case 'H': if (value.endsWith("x")) { para.setFontHeight( para.getFontHeight() * Double.parseDouble(value.substring(0, value.length() - 1))); } else { para.setFontHeight(Double.parseDouble(value)); } break; case 'Q': para.setObliquiAngle(Double.parseDouble(value)); break; case 'W': if (value.endsWith("x")) { double widthFactor = Double.parseDouble(value.substring(0, value.length() - 1)); para.setWidth(para.getWidth() * widthFactor); } else { para.setWidth(Double.parseDouble(value)); } break; case 'T': para.setCharacterspace(Double.parseDouble(value)); break; case 'f': parseFontSettings(value.trim(), para); break; case 'F': para.setFontFile(value.trim()); break; case 'S': // TODO handle break; case 'C': Integer colorCode = Integer.valueOf(value); String rgbString = Color.getRGBString(colorCode); para.setColor(rgbString); break; } } }