blob: 77314a7b33f114ab804d392f5c847ceb9e3bdb70 [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 CFFEncoding. It's used if the EncodingId of a font is set to 0.
*
* @author Villu Ruusmann
*/
public final class CFFStandardEncoding extends CFFEncoding
{
private static final int CHAR_CODE = 0;
private static final int CHAR_SID = 1;
private CFFStandardEncoding()
{
// Table of character codes and their corresponding sid.
int[][] cffStandardEncodingTable = {
{0, 0},
{1, 0},
{2, 0},
{3, 0},
{4, 0},
{5, 0},
{6, 0},
{7, 0},
{8, 0},
{9, 0},
{10, 0},
{11, 0},
{12, 0},
{13, 0},
{14, 0},
{15, 0},
{16, 0},
{17, 0},
{18, 0},
{19, 0},
{20, 0},
{21, 0},
{22, 0},
{23, 0},
{24, 0},
{25, 0},
{26, 0},
{27, 0},
{28, 0},
{29, 0},
{30, 0},
{31, 0},
{32, 1},
{33, 2},
{34, 3},
{35, 4},
{36, 5},
{37, 6},
{38, 7},
{39, 8},
{40, 9},
{41, 10},
{42, 11},
{43, 12},
{44, 13},
{45, 14},
{46, 15},
{47, 16},
{48, 17},
{49, 18},
{50, 19},
{51, 20},
{52, 21},
{53, 22},
{54, 23},
{55, 24},
{56, 25},
{57, 26},
{58, 27},
{59, 28},
{60, 29},
{61, 30},
{62, 31},
{63, 32},
{64, 33},
{65, 34},
{66, 35},
{67, 36},
{68, 37},
{69, 38},
{70, 39},
{71, 40},
{72, 41},
{73, 42},
{74, 43},
{75, 44},
{76, 45},
{77, 46},
{78, 47},
{79, 48},
{80, 49},
{81, 50},
{82, 51},
{83, 52},
{84, 53},
{85, 54},
{86, 55},
{87, 56},
{88, 57},
{89, 58},
{90, 59},
{91, 60},
{92, 61},
{93, 62},
{94, 63},
{95, 64},
{96, 65},
{97, 66},
{98, 67},
{99, 68},
{100, 69},
{101, 70},
{102, 71},
{103, 72},
{104, 73},
{105, 74},
{106, 75},
{107, 76},
{108, 77},
{109, 78},
{110, 79},
{111, 80},
{112, 81},
{113, 82},
{114, 83},
{115, 84},
{116, 85},
{117, 86},
{118, 87},
{119, 88},
{120, 89},
{121, 90},
{122, 91},
{123, 92},
{124, 93},
{125, 94},
{126, 95},
{127, 0},
{128, 0},
{129, 0},
{130, 0},
{131, 0},
{132, 0},
{133, 0},
{134, 0},
{135, 0},
{136, 0},
{137, 0},
{138, 0},
{139, 0},
{140, 0},
{141, 0},
{142, 0},
{143, 0},
{144, 0},
{145, 0},
{146, 0},
{147, 0},
{148, 0},
{149, 0},
{150, 0},
{151, 0},
{152, 0},
{153, 0},
{154, 0},
{155, 0},
{156, 0},
{157, 0},
{158, 0},
{159, 0},
{160, 0},
{161, 96},
{162, 97},
{163, 98},
{164, 99},
{165, 100},
{166, 101},
{167, 102},
{168, 103},
{169, 104},
{170, 105},
{171, 106},
{172, 107},
{173, 108},
{174, 109},
{175, 110},
{176, 0},
{177, 111},
{178, 112},
{179, 113},
{180, 114},
{181, 0},
{182, 115},
{183, 116},
{184, 117},
{185, 118},
{186, 119},
{187, 120},
{188, 121},
{189, 122},
{190, 0},
{191, 123},
{192, 0},
{193, 124},
{194, 125},
{195, 126},
{196, 127},
{197, 128},
{198, 129},
{199, 130},
{200, 131},
{201, 0},
{202, 132},
{203, 133},
{204, 0},
{205, 134},
{206, 135},
{207, 136},
{208, 137},
{209, 0},
{210, 0},
{211, 0},
{212, 0},
{213, 0},
{214, 0},
{215, 0},
{216, 0},
{217, 0},
{218, 0},
{219, 0},
{220, 0},
{221, 0},
{222, 0},
{223, 0},
{224, 0},
{225, 138},
{226, 0},
{227, 139},
{228, 0},
{229, 0},
{230, 0},
{231, 0},
{232, 140},
{233, 141},
{234, 142},
{235, 143},
{236, 0},
{237, 0},
{238, 0},
{239, 0},
{240, 0},
{241, 144},
{242, 0},
{243, 0},
{244, 0},
{245, 145},
{246, 0},
{247, 0},
{248, 146},
{249, 147},
{250, 148},
{251, 149},
{252, 0},
{253, 0},
{254, 0},
{255, 0}
};
for (int[] encodingEntry : cffStandardEncodingTable)
{
add(encodingEntry[CHAR_CODE], encodingEntry[CHAR_SID]);
}
}
/**
* Returns an instance of the CFFStandardEncoding class.
* @return an instance of CFFStandardEncoding
*/
public static CFFStandardEncoding getInstance()
{
return CFFStandardEncoding.INSTANCE;
}
private static final CFFStandardEncoding INSTANCE = new CFFStandardEncoding();
}