| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.pdfbox.pdmodel.font.encoding; |
| |
| import org.apache.pdfbox.cos.COSBase; |
| import org.apache.pdfbox.cos.COSName; |
| |
| /** |
| * This is an interface to a text encoder. |
| */ |
| public class SymbolEncoding extends Encoding |
| { |
| /** |
| * Table of octal character codes and their corresponding names. |
| */ |
| 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 SymbolEncoding INSTANCE = new SymbolEncoding(); |
| |
| /** |
| * Constructor. |
| */ |
| private SymbolEncoding() |
| { |
| for (Object[] encodingEntry : SYMBOL_ENCODING_TABLE) |
| { |
| add((Integer) encodingEntry[CHAR_CODE], encodingEntry[CHAR_NAME].toString()); |
| } |
| } |
| |
| @Override |
| public COSBase getCOSObject() |
| { |
| return COSName.getPDFName("SymbolEncoding"); |
| } |
| |
| @Override |
| public String getEncodingName() |
| { |
| return "SymbolEncoding"; |
| } |
| } |