Author: tilman Date: Mon Sep 19 19:26:19 2016 New Revision: 1761489 URL: http://svn.apache.org/viewvc?rev=1761489&view=rev Log: PDFBOX-3504: add Symbol encoding for PDType1Font.SYMBOL
Added: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/SymbolEncoding.java - copied, changed from r1761485, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java?rev=1761489&r1=1761488&r2=1761489&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1Font.java Mon Sep 19 19:26:19 2016 @@ -48,6 +48,7 @@ import org.apache.pdfbox.util.Matrix; import static org.apache.pdfbox.pdmodel.font.UniUtil.getUniNameOfCodePoint; +import org.apache.pdfbox.pdmodel.font.encoding.SymbolEncoding; /** * A PostScript Type 1 Font. @@ -124,6 +125,10 @@ public class PDType1Font extends PDSimpl { encoding = ZapfDingbatsEncoding.INSTANCE; } + else if ("Symbol".equals(baseFont)) + { + encoding = SymbolEncoding.INSTANCE; + } else { encoding = WinAnsiEncoding.INSTANCE; Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/SymbolEncoding.java (from r1761485, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java) URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/SymbolEncoding.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/SymbolEncoding.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java&r1=1761485&r2=1761489&rev=1761489&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/SymbolEncoding.java Mon Sep 19 19:26:19 2016 @@ -22,7 +22,7 @@ import org.apache.pdfbox.cos.COSName; /** * This is an interface to a text encoder. */ -public class ZapfDingbatsEncoding extends Encoding +public class SymbolEncoding extends Encoding { private static final int CHAR_CODE = 0; @@ -31,208 +31,209 @@ public class ZapfDingbatsEncoding extend /** * Table of octal character codes and their corresponding names. */ - private static final Object[][] ZAPFDINGBATS_ENCODING_TABLE = { - {040, "space"}, - {041, "a1"}, - {042, "a2"}, - {043, "a202"}, - {044, "a3"}, - {045, "a4"}, - {046, "a5"}, - {047, "a119"}, - {050, "a118"}, - {051, "a117"}, - {052, "a11"}, - {053, "a12"}, - {054, "a13"}, - {055, "a14"}, - {056, "a15"}, - {057, "a16"}, - {060, "a105"}, - {061, "a17"}, - {062, "a18"}, - {063, "a19"}, - {064, "a20"}, - {065, "a21"}, - {066, "a22"}, - {067, "a23"}, - {070, "a24"}, - {071, "a25"}, - {072, "a26"}, - {073, "a27"}, - {074, "a28"}, - {075, "a6"}, - {076, "a7"}, - {077, "a8"}, - {0100, "a9"}, - {0101, "a10"}, - {0102, "a29"}, - {0103, "a30"}, - {0104, "a31"}, - {0105, "a32"}, - {0106, "a33"}, - {0107, "a34"}, - {0110, "a35"}, - {0111, "a36"}, - {0112, "a37"}, - {0113, "a38"}, - {0114, "a39"}, - {0115, "a40"}, - {0116, "a41"}, - {0117, "a42"}, - {0120, "a43"}, - {0121, "a44"}, - {0122, "a45"}, - {0123, "a46"}, - {0124, "a47"}, - {0125, "a48"}, - {0126, "a49"}, - {0127, "a50"}, - {0130, "a51"}, - {0131, "a52"}, - {0132, "a53"}, - {0133, "a54"}, - {0134, "a55"}, - {0135, "a56"}, - {0136, "a57"}, - {0137, "a58"}, - {0140, "a59"}, - {0141, "a60"}, - {0142, "a61"}, - {0143, "a62"}, - {0144, "a63"}, - {0145, "a64"}, - {0146, "a65"}, - {0147, "a66"}, - {0150, "a67"}, - {0151, "a68"}, - {0152, "a69"}, - {0153, "a70"}, - {0154, "a71"}, - {0155, "a72"}, - {0156, "a73"}, - {0157, "a74"}, - {0160, "a203"}, - {0161, "a75"}, - {0162, "a204"}, - {0163, "a76"}, - {0164, "a77"}, - {0165, "a78"}, - {0166, "a79"}, - {0167, "a81"}, - {0170, "a82"}, - {0171, "a83"}, - {0172, "a84"}, - {0173, "a97"}, - {0174, "a98"}, - {0175, "a99"}, - {0176, "a100"}, - {0241, "a101"}, - {0242, "a102"}, - {0243, "a103"}, - {0244, "a104"}, - {0245, "a106"}, - {0246, "a107"}, - {0247, "a108"}, - {0250, "a112"}, - {0251, "a111"}, - {0252, "a110"}, - {0253, "a109"}, - {0254, "a120"}, - {0255, "a121"}, - {0256, "a122"}, - {0257, "a123"}, - {0260, "a124"}, - {0261, "a125"}, - {0262, "a126"}, - {0263, "a127"}, - {0264, "a128"}, - {0265, "a129"}, - {0266, "a130"}, - {0267, "a131"}, - {0270, "a132"}, - {0271, "a133"}, - {0272, "a134"}, - {0273, "a135"}, - {0274, "a136"}, - {0275, "a137"}, - {0276, "a138"}, - {0277, "a139"}, - {0300, "a140"}, - {0301, "a141"}, - {0302, "a142"}, - {0303, "a143"}, - {0304, "a144"}, - {0305, "a145"}, - {0306, "a146"}, - {0307, "a147"}, - {0310, "a148"}, - {0311, "a149"}, - {0312, "a150"}, - {0313, "a151"}, - {0314, "a152"}, - {0315, "a153"}, - {0316, "a154"}, - {0317, "a155"}, - {0320, "a156"}, - {0321, "a157"}, - {0322, "a158"}, - {0323, "a159"}, - {0324, "a160"}, - {0325, "a161"}, - {0326, "a163"}, - {0327, "a164"}, - {0330, "a196"}, - {0331, "a165"}, - {0332, "a192"}, - {0333, "a166"}, - {0334, "a167"}, - {0335, "a168"}, - {0336, "a169"}, - {0337, "a170"}, - {0340, "a171"}, - {0341, "a172"}, - {0342, "a173"}, - {0343, "a162"}, - {0344, "a174"}, - {0345, "a175"}, - {0346, "a176"}, - {0347, "a177"}, - {0350, "a178"}, - {0351, "a179"}, - {0352, "a193"}, - {0353, "a180"}, - {0354, "a199"}, - {0355, "a181"}, - {0356, "a200"}, - {0357, "a182"}, - {0361, "a201"}, - {0362, "a183"}, - {0363, "a184"}, - {0364, "a197"}, - {0365, "a185"}, - {0366, "a194"}, - {0367, "a198"}, - {0370, "a186"}, - {0371, "a195"}, - {0372, "a187"}, - {0373, "a188"}, - {0374, "a189"}, - {0375, "a190"}, - {0376, "a191"} + private static final Object[][] SYMBOL_ENCODING_TABLE = { + {0101, "Alpha"}, + {0102, "Beta"}, + {0103, "Chi"}, + {0104, "Delta"}, + {0105, "Epsilon"}, + {0110, "Eta"}, + {0240, "Euro"}, + {0107, "Gamma"}, + {0301, "Ifraktur"}, + {0111, "Iota"}, + {0113, "Kappa"}, + {0114, "Lambda"}, + {0115, "Mu"}, + {0116, "Nu"}, + {0127, "Omega"}, + {0117, "Omicron"}, + {0106, "Phi"}, + {0120, "Pi"}, + {0131, "Psi"}, + {0302, "Rfraktur"}, + {0122, "Rho"}, + {0123, "Sigma"}, + {0124, "Tau"}, + {0121, "Theta"}, + {0125, "Upsilon"}, + {0241, "Upsilon1"}, + {0130, "Xi"}, + {0132, "Zeta"}, + {0300, "aleph"}, + {0141, "alpha"}, + {0046, "ampersand"}, + {0320, "angle"}, + {0341, "angleleft"}, + {0361, "angleright"}, + {0273, "approxequal"}, + {0253, "arrowboth"}, + {0333, "arrowdblboth"}, + {0337, "arrowdbldown"}, + {0334, "arrowdblleft"}, + {0336, "arrowdblright"}, + {0335, "arrowdblup"}, + {0257, "arrowdown"}, + {0276, "arrowhorizex"}, + {0254, "arrowleft"}, + {0256, "arrowright"}, + {0255, "arrowup"}, + {0275, "arrowvertex"}, + {0052, "asteriskmath"}, + {0174, "bar"}, + {0142, "beta"}, + {0173, "braceleft"}, + {0175, "braceright"}, + {0354, "bracelefttp"}, + {0355, "braceleftmid"}, + {0356, "braceleftbt"}, + {0374, "bracerighttp"}, + {0375, "bracerightmid"}, + {0376, "bracerightbt"}, + {0357, "braceex"}, + {0133, "bracketleft"}, + {0135, "bracketright"}, + {0351, "bracketlefttp"}, + {0352, "bracketleftex"}, + {0353, "bracketleftbt"}, + {0371, "bracketrighttp"}, + {0372, "bracketrightex"}, + {0373, "bracketrightbt"}, + {0267, "bullet"}, + {0277, "carriagereturn"}, + {0143, "chi"}, + {0304, "circlemultiply"}, + {0305, "circleplus"}, + {0247, "club"}, + {0072, "colon"}, + {0054, "comma"}, + {0100, "congruent"}, + {0343, "copyrightsans"}, + {0323, "copyrightserif"}, + {0260, "degree"}, + {0144, "delta"}, + {0250, "diamond"}, + {0270, "divide"}, + {0327, "dotmath"}, + {0070, "eight"}, + {0316, "element"}, + {0274, "ellipsis"}, + {0306, "emptyset"}, + {0145, "epsilon"}, + {0075, "equal"}, + {0272, "equivalence"}, + {0150, "eta"}, + {0041, "exclam"}, + {0044, "existential"}, + {0065, "five"}, + {0246, "florin"}, + {0064, "four"}, + {0244, "fraction"}, + {0147, "gamma"}, + {0321, "gradient"}, + {0076, "greater"}, + {0263, "greaterequal"}, + {0251, "heart"}, + {0245, "infinity"}, + {0362, "integral"}, + {0363, "integraltp"}, + {0364, "integralex"}, + {0365, "integralbt"}, + {0307, "intersection"}, + {0151, "iota"}, + {0153, "kappa"}, + {0154, "lambda"}, + {0074, "less"}, + {0243, "lessequal"}, + {0331, "logicaland"}, + {0330, "logicalnot"}, + {0332, "logicalor"}, + {0340, "lozenge"}, + {0055, "minus"}, + {0242, "minute"}, + {0155, "mu"}, + {0264, "multiply"}, + {0071, "nine"}, + {0317, "notelement"}, + {0271, "notequal"}, + {0313, "notsubset"}, + {0156, "nu"}, + {0043, "numbersign"}, + {0167, "omega"}, + {0166, "omega1"}, + {0157, "omicron"}, + {0061, "one"}, + {0050, "parenleft"}, + {0051, "parenright"}, + {0346, "parenlefttp"}, + {0347, "parenleftex"}, + {0350, "parenleftbt"}, + {0366, "parenrighttp"}, + {0367, "parenrightex"}, + {0370, "parenrightbt"}, + {0266, "partialdiff"}, + {0045, "percent"}, + {0056, "period"}, + {0136, "perpendicular"}, + {0146, "phi"}, + {0152, "phi1"}, + {0160, "pi"}, + {0053, "plus"}, + {0261, "plusminus"}, + {0325, "product"}, + {0314, "propersubset"}, + {0311, "propersuperset"}, + {0265, "proportional"}, + {0171, "psi"}, + {0077, "question"}, + {0326, "radical"}, + {0140, "radicalex"}, + {0315, "reflexsubset"}, + {0312, "reflexsuperset"}, + {0342, "registersans"}, + {0322, "registerserif"}, + {0162, "rho"}, + {0262, "second"}, + {0073, "semicolon"}, + {0067, "seven"}, + {0163, "sigma"}, + {0126, "sigma1"}, + {0176, "similar"}, + {0066, "six"}, + {0057, "slash"}, + {0040, "space"}, + {0252, "spade"}, + {0047, "suchthat"}, + {0345, "summation"}, + {0164, "tau"}, + {0134, "therefore"}, + {0161, "theta"}, + {0112, "theta1"}, + {0063, "three"}, + {0344, "trademarksans"}, + {0324, "trademarkserif"}, + {0062, "two"}, + {0137, "underscore"}, + {0310, "union"}, + {0042, "universal"}, + {0165, "upsilon"}, + {0303, "weierstrass"}, + {0170, "xi"}, + {0060, "zero"}, + {0172, "zeta"} }; /** * Singleton instance of this class. */ - public static final ZapfDingbatsEncoding INSTANCE = new ZapfDingbatsEncoding(); + public static final SymbolEncoding INSTANCE = new SymbolEncoding(); /** * Constructor. */ - public ZapfDingbatsEncoding() + public SymbolEncoding() { - for (Object[] encodingEntry : ZAPFDINGBATS_ENCODING_TABLE) + for (Object[] encodingEntry : SYMBOL_ENCODING_TABLE) { add((Integer) encodingEntry[CHAR_CODE], encodingEntry[CHAR_NAME].toString()); } @@ -241,12 +242,12 @@ public class ZapfDingbatsEncoding extend @Override public COSBase getCOSObject() { - return COSName.getPDFName("ZapfDingbatsEncoding"); + return COSName.getPDFName("SymbolEncoding"); } @Override public String getEncodingName() { - return "ZapfDingbatsEncoding"; + return "SymbolEncoding"; } }