blob: a0dad0e91817c3f7efd652dc1b74a7eb93bb2901 [file] [log] [blame]
/*
* 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.fontbox.cff;
/**
* This is specialized CFFCharset. It's used if the CharsetId of a font is set to 2.
*
* @author Villu Ruusmann
*/
public final class CFFExpertSubsetCharset extends CFFCharsetType1
{
private static final int CHAR_CODE = 0;
private static final int CHAR_NAME = 1;
private CFFExpertSubsetCharset()
{
// Table of character codes and their corresponding names.
Object[][] cffExpertSubsetCharsetTable = {
{0, ".notdef"},
{1, "space"},
{231, "dollaroldstyle"},
{232, "dollarsuperior"},
{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"},
{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"},
{272, "hyphensuperior"},
{300, "colonmonetary"},
{301, "onefitted"},
{302, "rupiah"},
{305, "centoldstyle"},
{314, "figuredash"},
{315, "hypheninferior"},
{158, "onequarter"},
{155, "onehalf"},
{163, "threequarters"},
{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"}
};
int gid = 0;
for (Object[] charsetEntry : cffExpertSubsetCharsetTable)
{
addSID(gid++, (Integer) charsetEntry[CHAR_CODE], charsetEntry[CHAR_NAME].toString());
}
}
/**
* Returns an instance of the CFFExpertSubsetCharset class.
* @return an instance of CFFExpertSubsetCharset
*/
public static CFFExpertSubsetCharset getInstance()
{
return CFFExpertSubsetCharset.INSTANCE;
}
private static final CFFExpertSubsetCharset INSTANCE = new CFFExpertSubsetCharset();
}