private void printFont(CFFType1Font font, DataOutput output, String iStr) throws IOException { output.println("%!FontType1-1.0 " + font.getName() + iStr + " " + font.getTopDict().get("version")); printFontDictionary(font, output, iStr); for (int i = 0; i < 8; i++) { StringBuilder sb = new StringBuilder(); for (int j = 0; j < 64; j++) { sb.append("0"); } output.println(sb.toString()); } output.println("cleartomark"); }
output.println("10 dict begin"); output.println("/FontInfo 10 dict dup begin"); output.println("/version (" + font.getTopDict().get("version") + ") readonly def"); output.println("/Notice (" + font.getTopDict().get("Notice") + ") readonly def"); output.println("/FullName (" + font.getTopDict().get("FullName") + ") readonly def"); output.println("/FamilyName (" + font.getTopDict().get("FamilyName") + ") readonly def"); output.println("/Weight (" + font.getTopDict().get("Weight") + ") readonly def"); output.println("/ItalicAngle " + font.getTopDict().get("ItalicAngle") + " def"); output.println("/isFixedPitch " + font.getTopDict().get("isFixedPitch") + " def"); output.println("/UnderlinePosition " + font.getTopDict().get("UnderlinePosition") + " def"); output.println("/UnderlineThickness " + font.getTopDict().get("UnderlineThickness") + " def"); output.println("end readonly def"); output.println("/FontName /" + font.getName() + iStr + " def"); output.println("/PaintType " + font.getTopDict().get("PaintType") + " def"); output.println("/FontType 1 def"); NumberFormat matrixFormat = new DecimalFormat("0.########", new DecimalFormatSymbols(Locale.US)); output.println("/FontMatrix " + formatArray(font.getTopDict().get("FontMatrix"), matrixFormat, false) + " readonly def"); output.println("/FontBBox "