You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2016/07/07 21:22:48 UTC
svn commit: r1751833 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font:
PDType1Font.java encoding/ZapfDingbatsEncoding.java
Author: tilman
Date: Thu Jul 7 21:22:48 2016
New Revision: 1751833
URL: http://svn.apache.org/viewvc?rev=1751833&view=rev
Log:
PDFBOX-3298: added encoding for ZapfDingbats
Added:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java
- copied, changed from r1751546, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/MacExpertEncoding.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=1751833&r1=1751832&r2=1751833&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 Thu Jul 7 21:22:48 2016
@@ -47,6 +47,7 @@ import org.apache.pdfbox.util.Matrix;
import static org.apache.pdfbox.pdmodel.font.UniUtil.getUniNameOfCodePoint;
import org.apache.pdfbox.pdmodel.font.encoding.WinAnsiEncoding;
+import org.apache.pdfbox.pdmodel.font.encoding.ZapfDingbatsEncoding;
/**
* A PostScript Type 1 Font.
@@ -121,8 +122,16 @@ public class PDType1Font extends PDSimpl
dict.setItem(COSName.SUBTYPE, COSName.TYPE1);
dict.setName(COSName.BASE_FONT, baseFont);
- encoding = WinAnsiEncoding.INSTANCE;
- dict.setItem(COSName.ENCODING, COSName.WIN_ANSI_ENCODING);
+ if ("ZapfDingbats".equals(baseFont))
+ {
+ encoding = ZapfDingbatsEncoding.INSTANCE;
+ }
+ else
+ {
+ encoding = WinAnsiEncoding.INSTANCE;
+ dict.setItem(COSName.ENCODING, COSName.WIN_ANSI_ENCODING);
+ }
+
// standard 14 fonts may be accessed concurrently, as they are singletons
codeToBytesMap = new ConcurrentHashMap<Integer,byte[]>();
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java (from r1751546, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/MacExpertEncoding.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/MacExpertEncoding.java&r1=1751546&r2=1751833&rev=1751833&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/MacExpertEncoding.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/ZapfDingbatsEncoding.java Thu Jul 7 21:22:48 2016
@@ -22,7 +22,7 @@ import org.apache.pdfbox.cos.COSName;
/**
* This is an interface to a text encoder.
*/
-public class MacExpertEncoding extends Encoding
+public class ZapfDingbatsEncoding extends Encoding
{
private static final int CHAR_CODE = 0;
@@ -31,185 +31,208 @@ public class MacExpertEncoding extends E
/**
* Table of octal character codes and their corresponding names.
*/
- private static final Object[][] MAC_EXPERT_ENCODING_TABLE = {
- {0276, "AEsmall"},
- {0207, "Aacutesmall"},
- {0211, "Acircumflexsmall"},
- {047, "Acutesmall"},
- {0212, "Adieresissmall"},
- {0210, "Agravesmall"},
- {0214, "Aringsmall"},
- {0141, "Asmall"},
- {0213, "Atildesmall"},
- {0363, "Brevesmall"},
- {0142, "Bsmall"},
- {0256, "Caronsmall"},
- {0215, "Ccedillasmall"},
- {0311, "Cedillasmall"},
- {0136, "Circumflexsmall"},
- {0143, "Csmall"},
- {0254, "Dieresissmall"},
- {0372, "Dotaccentsmall"},
- {0144, "Dsmall"},
- {0216, "Eacutesmall"},
- {0220, "Ecircumflexsmall"},
- {0221, "Edieresissmall"},
- {0217, "Egravesmall"},
- {0145, "Esmall"},
- {0104, "Ethsmall"},
- {0146, "Fsmall"},
- {0140, "Gravesmall"},
- {0147, "Gsmall"},
- {0150, "Hsmall"},
- {042, "Hungarumlautsmall"},
- {0222, "Iacutesmall"},
- {0224, "Icircumflexsmall"},
- {0225, "Idieresissmall"},
- {0223, "Igravesmall"},
- {0151, "Ismall"},
- {0152, "Jsmall"},
- {0153, "Ksmall"},
- {0302, "Lslashsmall"},
- {0154, "Lsmall"},
- {0364, "Macronsmall"},
- {0155, "Msmall"},
- {0156, "Nsmall"},
- {0226, "Ntildesmall"},
- {0317, "OEsmall"},
- {0227, "Oacutesmall"},
- {0231, "Ocircumflexsmall"},
- {0232, "Odieresissmall"},
- {0362, "Ogoneksmall"},
- {0230, "Ogravesmall"},
- {0277, "Oslashsmall"},
- {0157, "Osmall"},
- {0233, "Otildesmall"},
- {0160, "Psmall"},
- {0161, "Qsmall"},
- {0373, "Ringsmall"},
- {0162, "Rsmall"},
- {0247, "Scaronsmall"},
- {0163, "Ssmall"},
- {0271, "Thornsmall"},
- {0176, "Tildesmall"},
- {0164, "Tsmall"},
- {0234, "Uacutesmall"},
- {0236, "Ucircumflexsmall"},
- {0237, "Udieresissmall"},
- {0235, "Ugravesmall"},
- {0165, "Usmall"},
- {0166, "Vsmall"},
- {0167, "Wsmall"},
- {0170, "Xsmall"},
- {0264, "Yacutesmall"},
- {0330, "Ydieresissmall"},
- {0171, "Ysmall"},
- {0275, "Zcaronsmall"},
- {0172, "Zsmall"},
- {046, "ampersandsmall"},
- {0201, "asuperior"},
- {0365, "bsuperior"},
- {0251, "centinferior"},
- {043, "centoldstyle"},
- {0202, "centsuperior"},
- {072, "colon"},
- {0173, "colonmonetary"},
- {054, "comma"},
- {0262, "commainferior"},
- {0370, "commasuperior"},
- {0266, "dollarinferior"},
- {044, "dollaroldstyle"},
- {045, "dollarsuperior"},
- {0353, "dsuperior"},
- {0245, "eightinferior"},
- {070, "eightoldstyle"},
- {0241, "eightsuperior"},
- {0344, "esuperior"},
- {0326, "exclamdownsmall"},
- {041, "exclamsmall"},
- {0126, "ff"},
- {0131, "ffi"},
- {0132, "ffl"},
- {0127, "fi"},
- {0320, "figuredash"},
- {0114, "fiveeighths"},
- {0260, "fiveinferior"},
- {065, "fiveoldstyle"},
- {0336, "fivesuperior"},
- {0130, "fl"},
- {0242, "fourinferior"},
- {064, "fouroldstyle"},
- {0335, "foursuperior"},
- {057, "fraction"},
- {055, "hyphen"},
- {0137, "hypheninferior"},
- {0321, "hyphensuperior"},
- {0351, "isuperior"},
- {0361, "lsuperior"},
- {0367, "msuperior"},
- {0273, "nineinferior"},
- {071, "nineoldstyle"},
- {0341, "ninesuperior"},
- {0366, "nsuperior"},
- {053, "onedotenleader"},
- {0112, "oneeighth"},
- {0174, "onefitted"},
- {0110, "onehalf"},
- {0301, "oneinferior"},
- {061, "oneoldstyle"},
- {0107, "onequarter"},
- {0332, "onesuperior"},
- {0116, "onethird"},
- {0257, "osuperior"},
- {0133, "parenleftinferior"},
- {050, "parenleftsuperior"},
- {0135, "parenrightinferior"},
- {051, "parenrightsuperior"},
- {056, "period"},
- {0263, "periodinferior"},
- {0371, "periodsuperior"},
- {0300, "questiondownsmall"},
- {077, "questionsmall"},
- {0345, "rsuperior"},
- {0175, "rupiah"},
- {073, "semicolon"},
- {0115, "seveneighths"},
- {0246, "seveninferior"},
- {067, "sevenoldstyle"},
- {0340, "sevensuperior"},
- {0244, "sixinferior"},
- {066, "sixoldstyle"},
- {0337, "sixsuperior"},
+ private static final Object[][] ZAPFDINGBATS_ENCODING_TABLE = {
{040, "space"},
- {0352, "ssuperior"},
- {0113, "threeeighths"},
- {0243, "threeinferior"},
- {063, "threeoldstyle"},
- {0111, "threequarters"},
- {075, "threequartersemdash"},
- {0334, "threesuperior"},
- {0346, "tsuperior"},
- {052, "twodotenleader"},
- {0252, "twoinferior"},
- {062, "twooldstyle"},
- {0333, "twosuperior"},
- {0117, "twothirds"},
- {0274, "zeroinferior"},
- {060, "zerooldstyle"},
- {0342, "zerosuperior"}
+ {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"}
};
/**
* Singleton instance of this class.
*/
- public static final MacExpertEncoding INSTANCE = new MacExpertEncoding();
+ public static final ZapfDingbatsEncoding INSTANCE = new ZapfDingbatsEncoding();
/**
* Constructor.
*/
- public MacExpertEncoding()
+ public ZapfDingbatsEncoding()
{
- for (Object[] encodingEntry : MAC_EXPERT_ENCODING_TABLE)
+ for (Object[] encodingEntry : ZAPFDINGBATS_ENCODING_TABLE)
{
add((Integer) encodingEntry[CHAR_CODE], encodingEntry[CHAR_NAME].toString());
}
@@ -218,12 +241,12 @@ public class MacExpertEncoding extends E
@Override
public COSBase getCOSObject()
{
- return COSName.MAC_EXPERT_ENCODING;
+ return COSName.getPDFName("ZapfDingbatsEncoding");
}
@Override
public String getEncodingName()
{
- return "MacExpertEncoding";
+ return "ZapfDingbatsEncoding";
}
}