You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2015/09/22 15:37:14 UTC

svn commit: r1704622 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFExpertCharset.java

Author: msahyoun
Date: Tue Sep 22 13:37:10 2015
New Revision: 1704622

URL: http://svn.apache.org/viewvc?rev=1704622&view=rev
Log:
PDFBOX-2852: declare charset in static table

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFExpertCharset.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFExpertCharset.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFExpertCharset.java?rev=1704622&r1=1704621&r2=1704622&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFExpertCharset.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFExpertCharset.java Tue Sep 22 13:37:10 2015
@@ -23,6 +23,180 @@ package org.apache.fontbox.cff;
  */
 public final class CFFExpertCharset extends CFFCharset
 {
+    private static final int CHAR_CODE = 0;
+    private static final int CHAR_NAME = 1;
+    
+    /**
+     * Table of octal character codes and their corresponding names.
+     */
+    public static final Object[][] CFF_EXPERT_CHARSET_TABLE = {
+            {0, ".notdef"},
+            {1, "space"},
+            {229, "exclamsmall"},
+            {230, "Hungarumlautsmall"},
+            {231, "dollaroldstyle"},
+            {232, "dollarsuperior"},
+            {233, "ampersandsmall"},
+            {234, "Acutesmall"},
+            {235, "parenleftsuperior"},
+            {236, "parenrightsuperior"},
+            {237, "twodotenleader"},
+            {238, "onedotenleader"},
+            {13, "comma"},
+            {14, "hyphen"},
+            {15, "period"},
+            {99, "fraction"},
+            {239, "zerooldstyle"},
+            {240, "oneoldstyle"},
+            {241, "twooldstyle"},
+            {242, "threeoldstyle"},
+            {243, "fouroldstyle"},
+            {244, "fiveoldstyle"},
+            {245, "sixoldstyle"},
+            {246, "sevenoldstyle"},
+            {247, "eightoldstyle"},
+            {248, "nineoldstyle"},
+            {27, "colon"},
+            {28, "semicolon"},
+            {249, "commasuperior"},
+            {250, "threequartersemdash"},
+            {251, "periodsuperior"},
+            {252, "questionsmall"},
+            {253, "asuperior"},
+            {254, "bsuperior"},
+            {255, "centsuperior"},
+            {256, "dsuperior"},
+            {257, "esuperior"},
+            {258, "isuperior"},
+            {259, "lsuperior"},
+            {260, "msuperior"},
+            {261, "nsuperior"},
+            {262, "osuperior"},
+            {263, "rsuperior"},
+            {264, "ssuperior"},
+            {265, "tsuperior"},
+            {266, "ff"},
+            {109, "fi"},
+            {110, "fl"},
+            {267, "ffi"},
+            {268, "ffl"},
+            {269, "parenleftinferior"},
+            {270, "parenrightinferior"},
+            {271, "Circumflexsmall"},
+            {272, "hyphensuperior"},
+            {273, "Gravesmall"},
+            {274, "Asmall"},
+            {275, "Bsmall"},
+            {276, "Csmall"},
+            {277, "Dsmall"},
+            {278, "Esmall"},
+            {279, "Fsmall"},
+            {280, "Gsmall"},
+            {281, "Hsmall"},
+            {282, "Ismall"},
+            {283, "Jsmall"},
+            {284, "Ksmall"},
+            {285, "Lsmall"},
+            {286, "Msmall"},
+            {287, "Nsmall"},
+            {288, "Osmall"},
+            {289, "Psmall"},
+            {290, "Qsmall"},
+            {291, "Rsmall"},
+            {292, "Ssmall"},
+            {293, "Tsmall"},
+            {294, "Usmall"},
+            {295, "Vsmall"},
+            {296, "Wsmall"},
+            {297, "Xsmall"},
+            {298, "Ysmall"},
+            {299, "Zsmall"},
+            {300, "colonmonetary"},
+            {301, "onefitted"},
+            {302, "rupiah"},
+            {303, "Tildesmall"},
+            {304, "exclamdownsmall"},
+            {305, "centoldstyle"},
+            {306, "Lslashsmall"},
+            {307, "Scaronsmall"},
+            {308, "Zcaronsmall"},
+            {309, "Dieresissmall"},
+            {310, "Brevesmall"},
+            {311, "Caronsmall"},
+            {312, "Dotaccentsmall"},
+            {313, "Macronsmall"},
+            {314, "figuredash"},
+            {315, "hypheninferior"},
+            {316, "Ogoneksmall"},
+            {317, "Ringsmall"},
+            {318, "Cedillasmall"},
+            {158, "onequarter"},
+            {155, "onehalf"},
+            {163, "threequarters"},
+            {319, "questiondownsmall"},
+            {320, "oneeighth"},
+            {321, "threeeighths"},
+            {322, "fiveeighths"},
+            {323, "seveneighths"},
+            {324, "onethird"},
+            {325, "twothirds"},
+            {326, "zerosuperior"},
+            {150, "onesuperior"},
+            {164, "twosuperior"},
+            {169, "threesuperior"},
+            {327, "foursuperior"},
+            {328, "fivesuperior"},
+            {329, "sixsuperior"},
+            {330, "sevensuperior"},
+            {331, "eightsuperior"},
+            {332, "ninesuperior"},
+            {333, "zeroinferior"},
+            {334, "oneinferior"},
+            {335, "twoinferior"},
+            {336, "threeinferior"},
+            {337, "fourinferior"},
+            {338, "fiveinferior"},
+            {339, "sixinferior"},
+            {340, "seveninferior"},
+            {341, "eightinferior"},
+            {342, "nineinferior"},
+            {343, "centinferior"},
+            {344, "dollarinferior"},
+            {345, "periodinferior"},
+            {346, "commainferior"},
+            {347, "Agravesmall"},
+            {348, "Aacutesmall"},
+            {349, "Acircumflexsmall"},
+            {350, "Atildesmall"},
+            {351, "Adieresissmall"},
+            {352, "Aringsmall"},
+            {353, "AEsmall"},
+            {354, "Ccedillasmall"},
+            {355, "Egravesmall"},
+            {356, "Eacutesmall"},
+            {357, "Ecircumflexsmall"},
+            {358, "Edieresissmall"},
+            {359, "Igravesmall"},
+            {360, "Iacutesmall"},
+            {361, "Icircumflexsmall"},
+            {362, "Idieresissmall"},
+            {363, "Ethsmall"},
+            {364, "Ntildesmall"},
+            {365, "Ogravesmall"},
+            {366, "Oacutesmall"},
+            {367, "Ocircumflexsmall"},
+            {368, "Otildesmall"},
+            {369, "Odieresissmall"},
+            {370, "OEsmall"},
+            {371, "Oslashsmall"},
+            {372, "Ugravesmall"},
+            {373, "Uacutesmall"},
+            {374, "Ucircumflexsmall"},
+            {375, "Udieresissmall"},
+            {376, "Yacutesmall"},
+            {377, "Thornsmall"},
+            {378, "Ydieresissmall"}
+    };
 
     private CFFExpertCharset()
     {
@@ -43,171 +217,9 @@ public final class CFFExpertCharset exte
     static
     {
         int gid = 0;
-        INSTANCE.addSID(gid++, 0, ".notdef");
-        INSTANCE.addSID(gid++, 1, "space");
-        INSTANCE.addSID(gid++, 229, "exclamsmall");
-        INSTANCE.addSID(gid++, 230, "Hungarumlautsmall");
-        INSTANCE.addSID(gid++, 231, "dollaroldstyle");
-        INSTANCE.addSID(gid++, 232, "dollarsuperior");
-        INSTANCE.addSID(gid++, 233, "ampersandsmall");
-        INSTANCE.addSID(gid++, 234, "Acutesmall");
-        INSTANCE.addSID(gid++, 235, "parenleftsuperior");
-        INSTANCE.addSID(gid++, 236, "parenrightsuperior");
-        INSTANCE.addSID(gid++, 237, "twodotenleader");
-        INSTANCE.addSID(gid++, 238, "onedotenleader");
-        INSTANCE.addSID(gid++, 13, "comma");
-        INSTANCE.addSID(gid++, 14, "hyphen");
-        INSTANCE.addSID(gid++, 15, "period");
-        INSTANCE.addSID(gid++, 99, "fraction");
-        INSTANCE.addSID(gid++, 239, "zerooldstyle");
-        INSTANCE.addSID(gid++, 240, "oneoldstyle");
-        INSTANCE.addSID(gid++, 241, "twooldstyle");
-        INSTANCE.addSID(gid++, 242, "threeoldstyle");
-        INSTANCE.addSID(gid++, 243, "fouroldstyle");
-        INSTANCE.addSID(gid++, 244, "fiveoldstyle");
-        INSTANCE.addSID(gid++, 245, "sixoldstyle");
-        INSTANCE.addSID(gid++, 246, "sevenoldstyle");
-        INSTANCE.addSID(gid++, 247, "eightoldstyle");
-        INSTANCE.addSID(gid++, 248, "nineoldstyle");
-        INSTANCE.addSID(gid++, 27, "colon");
-        INSTANCE.addSID(gid++, 28, "semicolon");
-        INSTANCE.addSID(gid++, 249, "commasuperior");
-        INSTANCE.addSID(gid++, 250, "threequartersemdash");
-        INSTANCE.addSID(gid++, 251, "periodsuperior");
-        INSTANCE.addSID(gid++, 252, "questionsmall");
-        INSTANCE.addSID(gid++, 253, "asuperior");
-        INSTANCE.addSID(gid++, 254, "bsuperior");
-        INSTANCE.addSID(gid++, 255, "centsuperior");
-        INSTANCE.addSID(gid++, 256, "dsuperior");
-        INSTANCE.addSID(gid++, 257, "esuperior");
-        INSTANCE.addSID(gid++, 258, "isuperior");
-        INSTANCE.addSID(gid++, 259, "lsuperior");
-        INSTANCE.addSID(gid++, 260, "msuperior");
-        INSTANCE.addSID(gid++, 261, "nsuperior");
-        INSTANCE.addSID(gid++, 262, "osuperior");
-        INSTANCE.addSID(gid++, 263, "rsuperior");
-        INSTANCE.addSID(gid++, 264, "ssuperior");
-        INSTANCE.addSID(gid++, 265, "tsuperior");
-        INSTANCE.addSID(gid++, 266, "ff");
-        INSTANCE.addSID(gid++, 109, "fi");
-        INSTANCE.addSID(gid++, 110, "fl");
-        INSTANCE.addSID(gid++, 267, "ffi");
-        INSTANCE.addSID(gid++, 268, "ffl");
-        INSTANCE.addSID(gid++, 269, "parenleftinferior");
-        INSTANCE.addSID(gid++, 270, "parenrightinferior");
-        INSTANCE.addSID(gid++, 271, "Circumflexsmall");
-        INSTANCE.addSID(gid++, 272, "hyphensuperior");
-        INSTANCE.addSID(gid++, 273, "Gravesmall");
-        INSTANCE.addSID(gid++, 274, "Asmall");
-        INSTANCE.addSID(gid++, 275, "Bsmall");
-        INSTANCE.addSID(gid++, 276, "Csmall");
-        INSTANCE.addSID(gid++, 277, "Dsmall");
-        INSTANCE.addSID(gid++, 278, "Esmall");
-        INSTANCE.addSID(gid++, 279, "Fsmall");
-        INSTANCE.addSID(gid++, 280, "Gsmall");
-        INSTANCE.addSID(gid++, 281, "Hsmall");
-        INSTANCE.addSID(gid++, 282, "Ismall");
-        INSTANCE.addSID(gid++, 283, "Jsmall");
-        INSTANCE.addSID(gid++, 284, "Ksmall");
-        INSTANCE.addSID(gid++, 285, "Lsmall");
-        INSTANCE.addSID(gid++, 286, "Msmall");
-        INSTANCE.addSID(gid++, 287, "Nsmall");
-        INSTANCE.addSID(gid++, 288, "Osmall");
-        INSTANCE.addSID(gid++, 289, "Psmall");
-        INSTANCE.addSID(gid++, 290, "Qsmall");
-        INSTANCE.addSID(gid++, 291, "Rsmall");
-        INSTANCE.addSID(gid++, 292, "Ssmall");
-        INSTANCE.addSID(gid++, 293, "Tsmall");
-        INSTANCE.addSID(gid++, 294, "Usmall");
-        INSTANCE.addSID(gid++, 295, "Vsmall");
-        INSTANCE.addSID(gid++, 296, "Wsmall");
-        INSTANCE.addSID(gid++, 297, "Xsmall");
-        INSTANCE.addSID(gid++, 298, "Ysmall");
-        INSTANCE.addSID(gid++, 299, "Zsmall");
-        INSTANCE.addSID(gid++, 300, "colonmonetary");
-        INSTANCE.addSID(gid++, 301, "onefitted");
-        INSTANCE.addSID(gid++, 302, "rupiah");
-        INSTANCE.addSID(gid++, 303, "Tildesmall");
-        INSTANCE.addSID(gid++, 304, "exclamdownsmall");
-        INSTANCE.addSID(gid++, 305, "centoldstyle");
-        INSTANCE.addSID(gid++, 306, "Lslashsmall");
-        INSTANCE.addSID(gid++, 307, "Scaronsmall");
-        INSTANCE.addSID(gid++, 308, "Zcaronsmall");
-        INSTANCE.addSID(gid++, 309, "Dieresissmall");
-        INSTANCE.addSID(gid++, 310, "Brevesmall");
-        INSTANCE.addSID(gid++, 311, "Caronsmall");
-        INSTANCE.addSID(gid++, 312, "Dotaccentsmall");
-        INSTANCE.addSID(gid++, 313, "Macronsmall");
-        INSTANCE.addSID(gid++, 314, "figuredash");
-        INSTANCE.addSID(gid++, 315, "hypheninferior");
-        INSTANCE.addSID(gid++, 316, "Ogoneksmall");
-        INSTANCE.addSID(gid++, 317, "Ringsmall");
-        INSTANCE.addSID(gid++, 318, "Cedillasmall");
-        INSTANCE.addSID(gid++, 158, "onequarter");
-        INSTANCE.addSID(gid++, 155, "onehalf");
-        INSTANCE.addSID(gid++, 163, "threequarters");
-        INSTANCE.addSID(gid++, 319, "questiondownsmall");
-        INSTANCE.addSID(gid++, 320, "oneeighth");
-        INSTANCE.addSID(gid++, 321, "threeeighths");
-        INSTANCE.addSID(gid++, 322, "fiveeighths");
-        INSTANCE.addSID(gid++, 323, "seveneighths");
-        INSTANCE.addSID(gid++, 324, "onethird");
-        INSTANCE.addSID(gid++, 325, "twothirds");
-        INSTANCE.addSID(gid++, 326, "zerosuperior");
-        INSTANCE.addSID(gid++, 150, "onesuperior");
-        INSTANCE.addSID(gid++, 164, "twosuperior");
-        INSTANCE.addSID(gid++, 169, "threesuperior");
-        INSTANCE.addSID(gid++, 327, "foursuperior");
-        INSTANCE.addSID(gid++, 328, "fivesuperior");
-        INSTANCE.addSID(gid++, 329, "sixsuperior");
-        INSTANCE.addSID(gid++, 330, "sevensuperior");
-        INSTANCE.addSID(gid++, 331, "eightsuperior");
-        INSTANCE.addSID(gid++, 332, "ninesuperior");
-        INSTANCE.addSID(gid++, 333, "zeroinferior");
-        INSTANCE.addSID(gid++, 334, "oneinferior");
-        INSTANCE.addSID(gid++, 335, "twoinferior");
-        INSTANCE.addSID(gid++, 336, "threeinferior");
-        INSTANCE.addSID(gid++, 337, "fourinferior");
-        INSTANCE.addSID(gid++, 338, "fiveinferior");
-        INSTANCE.addSID(gid++, 339, "sixinferior");
-        INSTANCE.addSID(gid++, 340, "seveninferior");
-        INSTANCE.addSID(gid++, 341, "eightinferior");
-        INSTANCE.addSID(gid++, 342, "nineinferior");
-        INSTANCE.addSID(gid++, 343, "centinferior");
-        INSTANCE.addSID(gid++, 344, "dollarinferior");
-        INSTANCE.addSID(gid++, 345, "periodinferior");
-        INSTANCE.addSID(gid++, 346, "commainferior");
-        INSTANCE.addSID(gid++, 347, "Agravesmall");
-        INSTANCE.addSID(gid++, 348, "Aacutesmall");
-        INSTANCE.addSID(gid++, 349, "Acircumflexsmall");
-        INSTANCE.addSID(gid++, 350, "Atildesmall");
-        INSTANCE.addSID(gid++, 351, "Adieresissmall");
-        INSTANCE.addSID(gid++, 352, "Aringsmall");
-        INSTANCE.addSID(gid++, 353, "AEsmall");
-        INSTANCE.addSID(gid++, 354, "Ccedillasmall");
-        INSTANCE.addSID(gid++, 355, "Egravesmall");
-        INSTANCE.addSID(gid++, 356, "Eacutesmall");
-        INSTANCE.addSID(gid++, 357, "Ecircumflexsmall");
-        INSTANCE.addSID(gid++, 358, "Edieresissmall");
-        INSTANCE.addSID(gid++, 359, "Igravesmall");
-        INSTANCE.addSID(gid++, 360, "Iacutesmall");
-        INSTANCE.addSID(gid++, 361, "Icircumflexsmall");
-        INSTANCE.addSID(gid++, 362, "Idieresissmall");
-        INSTANCE.addSID(gid++, 363, "Ethsmall");
-        INSTANCE.addSID(gid++, 364, "Ntildesmall");
-        INSTANCE.addSID(gid++, 365, "Ogravesmall");
-        INSTANCE.addSID(gid++, 366, "Oacutesmall");
-        INSTANCE.addSID(gid++, 367, "Ocircumflexsmall");
-        INSTANCE.addSID(gid++, 368, "Otildesmall");
-        INSTANCE.addSID(gid++, 369, "Odieresissmall");
-        INSTANCE.addSID(gid++, 370, "OEsmall");
-        INSTANCE.addSID(gid++, 371, "Oslashsmall");
-        INSTANCE.addSID(gid++, 372, "Ugravesmall");
-        INSTANCE.addSID(gid++, 373, "Uacutesmall");
-        INSTANCE.addSID(gid++, 374, "Ucircumflexsmall");
-        INSTANCE.addSID(gid++, 375, "Udieresissmall");
-        INSTANCE.addSID(gid++, 376, "Yacutesmall");
-        INSTANCE.addSID(gid++, 377, "Thornsmall");
-        INSTANCE.addSID(gid++, 378, "Ydieresissmall");
+        for (Object[] encodingEntry : CFF_EXPERT_CHARSET_TABLE)
+        {
+            INSTANCE.addSID(gid++, (Integer) encodingEntry[CHAR_CODE], encodingEntry[CHAR_NAME].toString());
+        }
     }
 }
\ No newline at end of file