Index: third_party/ots/src/cff_type2_charstring.h |
diff --git a/third_party/ots/src/cff_type2_charstring.h b/third_party/ots/src/cff_type2_charstring.h |
deleted file mode 100644 |
index 673234257bd57f454f1189333a9154351309e949..0000000000000000000000000000000000000000 |
--- a/third_party/ots/src/cff_type2_charstring.h |
+++ /dev/null |
@@ -1,101 +0,0 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef OTS_CFF_TYPE2_CHARSTRING_H_ |
-#define OTS_CFF_TYPE2_CHARSTRING_H_ |
- |
-#include "cff.h" |
-#include "ots.h" |
- |
-#include <map> |
-#include <vector> |
- |
-namespace ots { |
- |
-// Validates all charstrings in |char_strings_index|. Charstring is a small |
-// language for font hinting defined in Adobe Technical Note #5177. |
-// http://www.adobe.com/devnet/font/pdfs/5177.Type2.pdf |
-// |
-// The validation will fail if one of the following conditions is met: |
-// 1. The code uses more than 48 values of argument stack. |
-// 2. The code uses deeply nested subroutine calls (more than 10 levels.) |
-// 3. The code passes invalid number of operands to an operator. |
-// 4. The code calls an undefined global or local subroutine. |
-// 5. The code uses one of the following operators that are unlikely used in |
-// an ordinary fonts, and could be dangerous: random, put, get, index, roll. |
-// |
-// Arguments: |
-// global_subrs_index: Global subroutines which could be called by a charstring |
-// in |char_strings_index|. |
-// fd_select: A map from glyph # to font #. |
-// local_subrs_per_font: A list of Local Subrs associated with FDArrays. Can be |
-// empty. |
-// local_subrs: A Local Subrs associated with Top DICT. Can be NULL. |
-// cff_table: A buffer which contains actual byte code of charstring, global |
-// subroutines and local subroutines. |
-bool ValidateType2CharStringIndex( |
- OpenTypeFile *file, |
- const CFFIndex &char_strings_index, |
- const CFFIndex &global_subrs_index, |
- const std::map<uint16_t, uint8_t> &fd_select, |
- const std::vector<CFFIndex *> &local_subrs_per_font, |
- const CFFIndex *local_subrs, |
- Buffer *cff_table); |
- |
-// The list of Operators. See Appendix. A in Adobe Technical Note #5177. |
-enum Type2CharStringOperator { |
- kHStem = 1, |
- kVStem = 3, |
- kVMoveTo = 4, |
- kRLineTo = 5, |
- kHLineTo = 6, |
- kVLineTo = 7, |
- kRRCurveTo = 8, |
- kCallSubr = 10, |
- kReturn = 11, |
- kEndChar = 14, |
- kHStemHm = 18, |
- kHintMask = 19, |
- kCntrMask = 20, |
- kRMoveTo = 21, |
- kHMoveTo = 22, |
- kVStemHm = 23, |
- kRCurveLine = 24, |
- kRLineCurve = 25, |
- kVVCurveTo = 26, |
- kHHCurveTo = 27, |
- kCallGSubr = 29, |
- kVHCurveTo = 30, |
- kHVCurveTo = 31, |
- kDotSection = 12 << 8, |
- kAnd = (12 << 8) + 3, |
- kOr = (12 << 8) + 4, |
- kNot = (12 << 8) + 5, |
- kAbs = (12 << 8) + 9, |
- kAdd = (12 << 8) + 10, |
- kSub = (12 << 8) + 11, |
- kDiv = (12 << 8) + 12, |
- kNeg = (12 << 8) + 14, |
- kEq = (12 << 8) + 15, |
- kDrop = (12 << 8) + 18, |
- kPut = (12 << 8) + 20, |
- kGet = (12 << 8) + 21, |
- kIfElse = (12 << 8) + 22, |
- kRandom = (12 << 8) + 23, |
- kMul = (12 << 8) + 24, |
- kSqrt = (12 << 8) + 26, |
- kDup = (12 << 8) + 27, |
- kExch = (12 << 8) + 28, |
- kIndex = (12 << 8) + 29, |
- kRoll = (12 << 8) + 30, |
- kHFlex = (12 << 8) + 34, |
- kFlex = (12 << 8) + 35, |
- kHFlex1 = (12 << 8) + 36, |
- kFlex1 = (12 << 8) + 37, |
- // Operators that are undocumented, such as 'blend', will be rejected. |
-}; |
- |
-} // namespace ots |
- |
-#endif // OTS_CFF_TYPE2_CHARSTRING_H_ |