blob: 38966316576c55e978017ea908db7d2e5009e8c2 [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 1.
*
* @author Villu Ruusmann
*/
public final class CFFExpertEncoding extends CFFEncoding
{
private static final int CHAR_CODE = 0;
private static final int CHAR_SID = 1;
private CFFExpertEncoding()
{
// Table of character codes and their corresponding sid.
int[][] cffExpertEncodingTable = {
{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, 229},
{34, 230},
{35, 0},
{36, 231},
{37, 232},
{38, 233},
{39, 234},
{40, 235},
{41, 236},
{42, 237},
{43, 238},
{44, 13},
{45, 14},
{46, 15},
{47, 99},
{48, 239},
{49, 240},
{50, 241},
{51, 242},
{52, 243},
{53, 244},
{54, 245},
{55, 246},
{56, 247},
{57, 248},
{58, 27},
{59, 28},
{60, 249},
{61, 250},
{62, 251},
{63, 252},
{64, 0},
{65, 253},
{66, 254},
{67, 255},
{68, 256},
{69, 257},
{70, 0},
{71, 0},
{72, 0},
{73, 258},
{74, 0},
{75, 0},
{76, 259},
{77, 260},
{78, 261},
{79, 262},
{80, 0},
{81, 0},
{82, 263},
{83, 264},
{84, 265},
{85, 0},
{86, 266},
{87, 109},
{88, 110},
{89, 267},
{90, 268},
{91, 269},
{92, 0},
{93, 270},
{94, 271},
{95, 272},
{96, 273},
{97, 274},
{98, 275},
{99, 276},
{100, 277},
{101, 278},
{102, 279},
{103, 280},
{104, 281},
{105, 282},
{106, 283},
{107, 284},
{108, 285},
{109, 286},
{110, 287},
{111, 288},
{112, 289},
{113, 290},
{114, 291},
{115, 292},
{116, 293},
{117, 294},
{118, 295},
{119, 296},
{120, 297},
{121, 298},
{122, 299},
{123, 300},
{124, 301},
{125, 302},
{126, 303},
{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, 304},
{162, 305},
{163, 306},
{164, 0},
{165, 0},
{166, 307},
{167, 308},
{168, 309},
{169, 310},
{170, 311},
{171, 0},
{172, 312},
{173, 0},
{174, 0},
{175, 313},
{176, 0},
{177, 0},
{178, 314},
{179, 315},
{180, 0},
{181, 0},
{182, 316},
{183, 317},
{184, 318},
{185, 0},
{186, 0},
{187, 0},
{188, 158},
{189, 155},
{190, 163},
{191, 319},
{192, 320},
{193, 321},
{194, 322},
{195, 323},
{196, 324},
{197, 325},
{198, 0},
{199, 0},
{200, 326},
{201, 150},
{202, 164},
{203, 169},
{204, 327},
{205, 328},
{206, 329},
{207, 330},
{208, 331},
{209, 332},
{210, 333},
{211, 334},
{212, 335},
{213, 336},
{214, 337},
{215, 338},
{216, 339},
{217, 340},
{218, 341},
{219, 342},
{220, 343},
{221, 344},
{222, 345},
{223, 346},
{224, 347},
{225, 348},
{226, 349},
{227, 350},
{228, 351},
{229, 352},
{230, 353},
{231, 354},
{232, 355},
{233, 356},
{234, 357},
{235, 358},
{236, 359},
{237, 360},
{238, 361},
{239, 362},
{240, 363},
{241, 364},
{242, 365},
{243, 366},
{244, 367},
{245, 368},
{246, 369},
{247, 370},
{248, 371},
{249, 372},
{250, 373},
{251, 374},
{252, 375},
{253, 376},
{254, 377},
{255, 378}
};
for (int[] encodingEntry : cffExpertEncodingTable)
{
add(encodingEntry[CHAR_CODE], encodingEntry[CHAR_SID]);
}
}
/**
* Returns an instance of the CFFExportEncoding class.
* @return an instance of CFFExportEncoding
*/
public static CFFExpertEncoding getInstance()
{
return CFFExpertEncoding.INSTANCE;
}
private static final CFFExpertEncoding INSTANCE = new CFFExpertEncoding();
}