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 14:35:37 UTC
svn commit: r1704606 -
/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/encoding/MacRomanEncoding.java
Author: msahyoun
Date: Tue Sep 22 12:35:34 2015
New Revision: 1704606
URL: http://svn.apache.org/viewvc?rev=1704606&view=rev
Log:
PDFBOX-2852: declare encoding in static table
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/encoding/MacRomanEncoding.java
Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/encoding/MacRomanEncoding.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/encoding/MacRomanEncoding.java?rev=1704606&r1=1704605&r2=1704606&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/encoding/MacRomanEncoding.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/encoding/MacRomanEncoding.java Tue Sep 22 12:35:34 2015
@@ -25,6 +25,224 @@ package org.apache.fontbox.encoding;
*/
public class MacRomanEncoding extends Encoding
{
+
+ 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[][] MAC_ROMAN_ENCODING_TABLE = {
+ {0101, "A"},
+ {0256, "AE"},
+ {0347, "Aacute"},
+ {0345, "Acircumflex"},
+ {0200, "Adieresis"},
+ {0313, "Agrave"},
+ {0201, "Aring"},
+ {0314, "Atilde"},
+ {0102, "B"},
+ {0103, "C"},
+ {0202, "Ccedilla"},
+ {0104, "D"},
+ {0105, "E"},
+ {0203, "Eacute"},
+ {0346, "Ecircumflex"},
+ {0350, "Edieresis"},
+ {0351, "Egrave"},
+ {0106, "F"},
+ {0107, "G"},
+ {0110, "H"},
+ {0111, "I"},
+ {0352, "Iacute"},
+ {0353, "Icircumflex"},
+ {0354, "Idieresis"},
+ {0355, "Igrave"},
+ {0112, "J"},
+ {0113, "K"},
+ {0114, "L"},
+ {0115, "M"},
+ {0116, "N"},
+ {0204, "Ntilde"},
+ {0117, "O"},
+ {0316, "OE"},
+ {0356, "Oacute"},
+ {0357, "Ocircumflex"},
+ {0205, "Odieresis"},
+ {0361, "Ograve"},
+ {0257, "Oslash"},
+ {0315, "Otilde"},
+ {0120, "P"},
+ {0121, "Q"},
+ {0122, "R"},
+ {0123, "S"},
+ {0124, "T"},
+ {0125, "U"},
+ {0362, "Uacute"},
+ {0363, "Ucircumflex"},
+ {0206, "Udieresis"},
+ {0364, "Ugrave"},
+ {0126, "V"},
+ {0127, "W"},
+ {0130, "X"},
+ {0131, "Y"},
+ {0331, "Ydieresis"},
+ {0132, "Z"},
+ {0141, "a"},
+ {0207, "aacute"},
+ {0211, "acircumflex"},
+ {0253, "acute"},
+ {0212, "adieresis"},
+ {0276, "ae"},
+ {0210, "agrave"},
+ {046, "ampersand"},
+ {0214, "aring"},
+ {0136, "asciicircum"},
+ {0176, "asciitilde"},
+ {052, "asterisk"},
+ {0100, "at"},
+ {0213, "atilde"},
+ {0142, "b"},
+ {0134, "backslash"},
+ {0174, "bar"},
+ {0173, "braceleft"},
+ {0175, "braceright"},
+ {0133, "bracketleft"},
+ {0135, "bracketright"},
+ {0371, "breve"},
+ {0245, "bullet"},
+ {0143, "c"},
+ {0377, "caron"},
+ {0215, "ccedilla"},
+ {0374, "cedilla"},
+ {0242, "cent"},
+ {0366, "circumflex"},
+ {072, "colon"},
+ {054, "comma"},
+ {0251, "copyright"},
+ {0333, "currency"},
+ {0144, "d"},
+ {0240, "dagger"},
+ {0340, "daggerdbl"},
+ {0241, "degree"},
+ {0254, "dieresis"},
+ {0326, "divide"},
+ {044, "dollar"},
+ {0372, "dotaccent"},
+ {0365, "dotlessi"},
+ {0145, "e"},
+ {0216, "eacute"},
+ {0220, "ecircumflex"},
+ {0221, "edieresis"},
+ {0217, "egrave"},
+ {070, "eight"},
+ {0311, "ellipsis"},
+ {0321, "emdash"},
+ {0320, "endash"},
+ {075, "equal"},
+ {041, "exclam"},
+ {0301, "exclamdown"},
+ {0146, "f"},
+ {0336, "fi"},
+ {065, "five"},
+ {0337, "fl"},
+ {0304, "florin"},
+ {064, "four"},
+ {0332, "fraction"},
+ {0147, "g"},
+ {0247, "germandbls"},
+ {0140, "grave"},
+ {076, "greater"},
+ {0307, "guillemotleft"},
+ {0310, "guillemotright"},
+ {0334, "guilsinglleft"},
+ {0335, "guilsinglright"},
+ {0150, "h"},
+ {0375, "hungarumlaut"},
+ {055, "hyphen"},
+ {0151, "i"},
+ {0222, "iacute"},
+ {0224, "icircumflex"},
+ {0225, "idieresis"},
+ {0223, "igrave"},
+ {0152, "j"},
+ {0153, "k"},
+ {0154, "l"},
+ {074, "less"},
+ {0302, "logicalnot"},
+ {0155, "m"},
+ {0370, "macron"},
+ {0265, "mu"},
+ {0156, "n"},
+ {071, "nine"},
+ {0226, "ntilde"},
+ {043, "numbersign"},
+ {0157, "o"},
+ {0227, "oacute"},
+ {0231, "ocircumflex"},
+ {0232, "odieresis"},
+ {0317, "oe"},
+ {0376, "ogonek"},
+ {0230, "ograve"},
+ {061, "one"},
+ {0273, "ordfeminine"},
+ {0274, "ordmasculine"},
+ {0277, "oslash"},
+ {0233, "otilde"},
+ {0160, "p"},
+ {0246, "paragraph"},
+ {050, "parenleft"},
+ {051, "parenright"},
+ {045, "percent"},
+ {056, "period"},
+ {0341, "periodcentered"},
+ {0344, "perthousand"},
+ {053, "plus"},
+ {0261, "plusminus"},
+ {0161, "q"},
+ {077, "question"},
+ {0300, "questiondown"},
+ {042, "quotedbl"},
+ {0343, "quotedblbase"},
+ {0322, "quotedblleft"},
+ {0323, "quotedblright"},
+ {0324, "quoteleft"},
+ {0325, "quoteright"},
+ {0342, "quotesinglbase"},
+ {047, "quotesingle"},
+ {0162, "r"},
+ {0250, "registered"},
+ {0373, "ring"},
+ {0163, "s"},
+ {0244, "section"},
+ {073, "semicolon"},
+ {067, "seven"},
+ {066, "six"},
+ {057, "slash"},
+ {040, "space"},
+ {0243, "sterling"},
+ {0164, "t"},
+ {063, "three"},
+ {0367, "tilde"},
+ {0252, "trademark"},
+ {062, "two"},
+ {0165, "u"},
+ {0234, "uacute"},
+ {0236, "ucircumflex"},
+ {0237, "udieresis"},
+ {0235, "ugrave"},
+ {0137, "underscore"},
+ {0166, "v"},
+ {0167, "w"},
+ {0170, "x"},
+ {0171, "y"},
+ {0330, "ydieresis"},
+ {0264, "yen"},
+ {0172, "z"},
+ {060, "zero"}
+
+ };
+
/**
* Singleton instance of this class.
*
@@ -36,212 +254,9 @@ public class MacRomanEncoding extends En
*/
public MacRomanEncoding()
{
- addCharacterEncoding( 0101, "A" );
- addCharacterEncoding( 0256, "AE" );
- addCharacterEncoding( 0347, "Aacute" );
- addCharacterEncoding( 0345, "Acircumflex" );
- addCharacterEncoding( 0200, "Adieresis" );
- addCharacterEncoding( 0313, "Agrave" );
- addCharacterEncoding( 0201, "Aring" );
- addCharacterEncoding( 0314, "Atilde" );
- addCharacterEncoding( 0102, "B" );
- addCharacterEncoding( 0103, "C" );
- addCharacterEncoding( 0202, "Ccedilla" );
- addCharacterEncoding( 0104, "D" );
- addCharacterEncoding( 0105, "E" );
- addCharacterEncoding( 0203, "Eacute" );
- addCharacterEncoding( 0346, "Ecircumflex" );
- addCharacterEncoding( 0350, "Edieresis" );
- addCharacterEncoding( 0351, "Egrave" );
- addCharacterEncoding( 0106, "F" );
- addCharacterEncoding( 0107, "G" );
- addCharacterEncoding( 0110, "H" );
- addCharacterEncoding( 0111, "I" );
- addCharacterEncoding( 0352, "Iacute" );
- addCharacterEncoding( 0353, "Icircumflex" );
- addCharacterEncoding( 0354, "Idieresis" );
- addCharacterEncoding( 0355, "Igrave" );
- addCharacterEncoding( 0112, "J" );
- addCharacterEncoding( 0113, "K" );
- addCharacterEncoding( 0114, "L" );
- addCharacterEncoding( 0115, "M" );
- addCharacterEncoding( 0116, "N" );
- addCharacterEncoding( 0204, "Ntilde" );
- addCharacterEncoding( 0117, "O" );
- addCharacterEncoding( 0316, "OE" );
- addCharacterEncoding( 0356, "Oacute" );
- addCharacterEncoding( 0357, "Ocircumflex" );
- addCharacterEncoding( 0205, "Odieresis" );
- addCharacterEncoding( 0361, "Ograve" );
- addCharacterEncoding( 0257, "Oslash" );
- addCharacterEncoding( 0315, "Otilde" );
- addCharacterEncoding( 0120, "P" );
- addCharacterEncoding( 0121, "Q" );
- addCharacterEncoding( 0122, "R" );
- addCharacterEncoding( 0123, "S" );
- addCharacterEncoding( 0124, "T" );
- addCharacterEncoding( 0125, "U" );
- addCharacterEncoding( 0362, "Uacute" );
- addCharacterEncoding( 0363, "Ucircumflex" );
- addCharacterEncoding( 0206, "Udieresis" );
- addCharacterEncoding( 0364, "Ugrave" );
- addCharacterEncoding( 0126, "V" );
- addCharacterEncoding( 0127, "W" );
- addCharacterEncoding( 0130, "X" );
- addCharacterEncoding( 0131, "Y" );
- addCharacterEncoding( 0331, "Ydieresis" );
- addCharacterEncoding( 0132, "Z" );
- addCharacterEncoding( 0141, "a" );
- addCharacterEncoding( 0207, "aacute" );
- addCharacterEncoding( 0211, "acircumflex" );
- addCharacterEncoding( 0253, "acute" );
- addCharacterEncoding( 0212, "adieresis" );
- addCharacterEncoding( 0276, "ae" );
- addCharacterEncoding( 0210, "agrave" );
- addCharacterEncoding( 046, "ampersand" );
- addCharacterEncoding( 0214, "aring" );
- addCharacterEncoding( 0136, "asciicircum" );
- addCharacterEncoding( 0176, "asciitilde" );
- addCharacterEncoding( 052, "asterisk" );
- addCharacterEncoding( 0100, "at" );
- addCharacterEncoding( 0213, "atilde" );
- addCharacterEncoding( 0142, "b" );
- addCharacterEncoding( 0134, "backslash" );
- addCharacterEncoding( 0174, "bar" );
- addCharacterEncoding( 0173, "braceleft" );
- addCharacterEncoding( 0175, "braceright" );
- addCharacterEncoding( 0133, "bracketleft" );
- addCharacterEncoding( 0135, "bracketright" );
- addCharacterEncoding( 0371, "breve" );
- addCharacterEncoding( 0245, "bullet" );
- addCharacterEncoding( 0143, "c" );
- addCharacterEncoding( 0377, "caron" );
- addCharacterEncoding( 0215, "ccedilla" );
- addCharacterEncoding( 0374, "cedilla" );
- addCharacterEncoding( 0242, "cent" );
- addCharacterEncoding( 0366, "circumflex" );
- addCharacterEncoding( 072, "colon" );
- addCharacterEncoding( 054, "comma" );
- addCharacterEncoding( 0251, "copyright" );
- addCharacterEncoding( 0333, "currency" );
- addCharacterEncoding( 0144, "d" );
- addCharacterEncoding( 0240, "dagger" );
- addCharacterEncoding( 0340, "daggerdbl" );
- addCharacterEncoding( 0241, "degree" );
- addCharacterEncoding( 0254, "dieresis" );
- addCharacterEncoding( 0326, "divide" );
- addCharacterEncoding( 044, "dollar" );
- addCharacterEncoding( 0372, "dotaccent" );
- addCharacterEncoding( 0365, "dotlessi" );
- addCharacterEncoding( 0145, "e" );
- addCharacterEncoding( 0216, "eacute" );
- addCharacterEncoding( 0220, "ecircumflex" );
- addCharacterEncoding( 0221, "edieresis" );
- addCharacterEncoding( 0217, "egrave" );
- addCharacterEncoding( 070, "eight" );
- addCharacterEncoding( 0311, "ellipsis" );
- addCharacterEncoding( 0321, "emdash" );
- addCharacterEncoding( 0320, "endash" );
- addCharacterEncoding( 075, "equal" );
- addCharacterEncoding( 041, "exclam" );
- addCharacterEncoding( 0301, "exclamdown" );
- addCharacterEncoding( 0146, "f" );
- addCharacterEncoding( 0336, "fi" );
- addCharacterEncoding( 065, "five" );
- addCharacterEncoding( 0337, "fl" );
- addCharacterEncoding( 0304, "florin" );
- addCharacterEncoding( 064, "four" );
- addCharacterEncoding( 0332, "fraction" );
- addCharacterEncoding( 0147, "g" );
- addCharacterEncoding( 0247, "germandbls" );
- addCharacterEncoding( 0140, "grave" );
- addCharacterEncoding( 076, "greater" );
- addCharacterEncoding( 0307, "guillemotleft" );
- addCharacterEncoding( 0310, "guillemotright" );
- addCharacterEncoding( 0334, "guilsinglleft" );
- addCharacterEncoding( 0335, "guilsinglright" );
- addCharacterEncoding( 0150, "h" );
- addCharacterEncoding( 0375, "hungarumlaut" );
- addCharacterEncoding( 055, "hyphen" );
- addCharacterEncoding( 0151, "i" );
- addCharacterEncoding( 0222, "iacute" );
- addCharacterEncoding( 0224, "icircumflex" );
- addCharacterEncoding( 0225, "idieresis" );
- addCharacterEncoding( 0223, "igrave" );
- addCharacterEncoding( 0152, "j" );
- addCharacterEncoding( 0153, "k" );
- addCharacterEncoding( 0154, "l" );
- addCharacterEncoding( 074, "less" );
- addCharacterEncoding( 0302, "logicalnot" );
- addCharacterEncoding( 0155, "m" );
- addCharacterEncoding( 0370, "macron" );
- addCharacterEncoding( 0265, "mu" );
- addCharacterEncoding( 0156, "n" );
- addCharacterEncoding( 071, "nine" );
- addCharacterEncoding( 0226, "ntilde" );
- addCharacterEncoding( 043, "numbersign" );
- addCharacterEncoding( 0157, "o" );
- addCharacterEncoding( 0227, "oacute" );
- addCharacterEncoding( 0231, "ocircumflex" );
- addCharacterEncoding( 0232, "odieresis" );
- addCharacterEncoding( 0317, "oe" );
- addCharacterEncoding( 0376, "ogonek" );
- addCharacterEncoding( 0230, "ograve" );
- addCharacterEncoding( 061, "one" );
- addCharacterEncoding( 0273, "ordfeminine" );
- addCharacterEncoding( 0274, "ordmasculine" );
- addCharacterEncoding( 0277, "oslash" );
- addCharacterEncoding( 0233, "otilde" );
- addCharacterEncoding( 0160, "p" );
- addCharacterEncoding( 0246, "paragraph" );
- addCharacterEncoding( 050, "parenleft" );
- addCharacterEncoding( 051, "parenright" );
- addCharacterEncoding( 045, "percent" );
- addCharacterEncoding( 056, "period" );
- addCharacterEncoding( 0341, "periodcentered" );
- addCharacterEncoding( 0344, "perthousand" );
- addCharacterEncoding( 053, "plus" );
- addCharacterEncoding( 0261, "plusminus" );
- addCharacterEncoding( 0161, "q" );
- addCharacterEncoding( 077, "question" );
- addCharacterEncoding( 0300, "questiondown" );
- addCharacterEncoding( 042, "quotedbl" );
- addCharacterEncoding( 0343, "quotedblbase" );
- addCharacterEncoding( 0322, "quotedblleft" );
- addCharacterEncoding( 0323, "quotedblright" );
- addCharacterEncoding( 0324, "quoteleft" );
- addCharacterEncoding( 0325, "quoteright" );
- addCharacterEncoding( 0342, "quotesinglbase" );
- addCharacterEncoding( 047, "quotesingle" );
- addCharacterEncoding( 0162, "r" );
- addCharacterEncoding( 0250, "registered" );
- addCharacterEncoding( 0373, "ring" );
- addCharacterEncoding( 0163, "s" );
- addCharacterEncoding( 0244, "section" );
- addCharacterEncoding( 073, "semicolon" );
- addCharacterEncoding( 067, "seven" );
- addCharacterEncoding( 066, "six" );
- addCharacterEncoding( 057, "slash" );
- addCharacterEncoding( 040, "space" );
- addCharacterEncoding( 0243, "sterling" );
- addCharacterEncoding( 0164, "t" );
- addCharacterEncoding( 063, "three" );
- addCharacterEncoding( 0367, "tilde" );
- addCharacterEncoding( 0252, "trademark" );
- addCharacterEncoding( 062, "two" );
- addCharacterEncoding( 0165, "u" );
- addCharacterEncoding( 0234, "uacute" );
- addCharacterEncoding( 0236, "ucircumflex" );
- addCharacterEncoding( 0237, "udieresis" );
- addCharacterEncoding( 0235, "ugrave" );
- addCharacterEncoding( 0137, "underscore" );
- addCharacterEncoding( 0166, "v" );
- addCharacterEncoding( 0167, "w" );
- addCharacterEncoding( 0170, "x" );
- addCharacterEncoding( 0171, "y" );
- addCharacterEncoding( 0330, "ydieresis" );
- addCharacterEncoding( 0264, "yen" );
- addCharacterEncoding( 0172, "z" );
- addCharacterEncoding( 060, "zero" );
+ for (Object[] encodingEntry : MAC_ROMAN_ENCODING_TABLE)
+ {
+ addCharacterEncoding((Integer) encodingEntry[CHAR_CODE], encodingEntry[CHAR_NAME].toString());
+ }
}
}
\ No newline at end of file