redefine OpCodes as define instead of enum

in order to eradicate duplicate enum warnings
pull/1113/head
Michiharu Ariza 6 years ago
parent 9cdd70b344
commit eed7e6bbc8
  1. 348
      src/hb-cff-interp-common.hh

@ -30,184 +30,184 @@ namespace CFF {
using namespace OT;
enum OpCode {
/* === Dict operators === */
/* One byte operators (0-31) */
OpCode_version, /* 0 CFF Top */
OpCode_Notice, /* 1 CFF Top */
OpCode_FullName, /* 2 CFF Top */
OpCode_FamilyName, /* 3 CFF Top */
OpCode_Weight, /* 4 CFF Top */
OpCode_FontBBox, /* 5 CFF Top */
OpCode_BlueValues, /* 6 CFF Private, CFF2 Private */
OpCode_OtherBlues, /* 7 CFF Private, CFF2 Private */
OpCode_FamilyBlues, /* 8 CFF Private, CFF2 Private */
OpCode_FamilyOtherBlues, /* 9 CFF Private, CFF2 Private */
OpCode_StdHW, /* 10 CFF Private, CFF2 Private */
OpCode_StdVW, /* 11 CFF Private, CFF2 Private */
OpCode_escape, /* 12 All. Shared with CS */
OpCode_UniqueID, /* 13 CFF Top */
OpCode_XUID, /* 14 CFF Top */
OpCode_charset, /* 15 CFF Top (0) */
OpCode_Encoding, /* 16 CFF Top (0) */
OpCode_CharStrings, /* 17 CFF Top, CFF2 Top */
OpCode_Private, /* 18 CFF Top, CFF2 FD */
OpCode_Subrs, /* 19 CFF Private, CFF2 Private */
OpCode_defaultWidthX, /* 20 CFF Private (0) */
OpCode_nominalWidthX, /* 21 CFF Private (0) */
OpCode_vsindexdict, /* 22 CFF2 Private/CS */
OpCode_blenddict, /* 23 CFF2 Private/CS */
OpCode_vstore, /* 24 CFF2 Top */
OpCode_reserved25, /* 25 */
OpCode_reserved26, /* 26 */
OpCode_reserved27, /* 27 */
/* Numbers */
OpCode_shortint, /* 28 16-bit integer, All */
OpCode_longintdict, /* 29 32-bit integer, All */
OpCode_BCD, /* 30 real number, CFF2 Top/FD */
OpCode_reserved31, /* 31 */
/* 1-byte integers */
OpCode_OneByteIntFirst = 32, /* All. beginning of the range of first byte ints */
OpCode_OneByteIntLast = 246, /* All. ending of the range of first byte int */
/* 2-byte integers */
OpCode_TwoBytePosInt0, /* 247 All. first byte of two byte positive int (+108 to +1131) */
OpCode_TwoBytePosInt1,
OpCode_TwoBytePosInt2,
OpCode_TwoBytePosInt3,
OpCode_TwoByteNegInt0, /* 251 All. first byte of two byte negative int (-1131 to -108) */
OpCode_TwoByteNegInt1,
OpCode_TwoByteNegInt2,
OpCode_TwoByteNegInt3,
/* Two byte escape operators 12, (0-41) */
OpCode_ESC_Base = 256,
OpCode_Copyright = OpCode_ESC_Base, /* Make_OpCode_ESC (0) CFF Top */
OpCode_isFixedPitch, /* Make_OpCode_ESC (1) CFF Top (false) */
OpCode_ItalicAngle, /* Make_OpCode_ESC (2) CFF Top (0) */
OpCode_UnderlinePosition, /* Make_OpCode_ESC (3) CFF Top (-100) */
OpCode_UnderlineThickness, /* Make_OpCode_ESC (4) CFF Top (50) */
OpCode_PaintType, /* Make_OpCode_ESC (5) CFF Top (0) */
OpCode_CharstringType, /* Make_OpCode_ESC (6) CFF Top (2) */
OpCode_FontMatrix, /* Make_OpCode_ESC (7) CFF Top, CFF2 Top (.001 0 0 .001 0 0)*/
OpCode_StrokeWidth, /* Make_OpCode_ESC (8) CFF Top (0) */
OpCode_BlueScale, /* Make_OpCode_ESC (9) CFF Private, CFF2 Private (0.039625) */
OpCode_BlueShift, /* Make_OpCode_ESC (10) CFF Private, CFF2 Private (7) */
OpCode_BlueFuzz, /* Make_OpCode_ESC (11) CFF Private, CFF2 Private (1) */
OpCode_StemSnapH, /* Make_OpCode_ESC (12) CFF Private, CFF2 Private */
OpCode_StemSnapV, /* Make_OpCode_ESC (13) CFF Private, CFF2 Private */
OpCode_ForceBold, /* Make_OpCode_ESC (14) CFF Private (false) */
OpCode_reservedESC15, /* Make_OpCode_ESC (15) */
OpCode_reservedESC16, /* Make_OpCode_ESC (16) */
OpCode_LanguageGroup, /* Make_OpCode_ESC (17) CFF Private, CFF2 Private (0) */
OpCode_ExpansionFactor, /* Make_OpCode_ESC (18) CFF Private, CFF2 Private (0.06) */
OpCode_initialRandomSeed, /* Make_OpCode_ESC (19) CFF Private (0) */
OpCode_SyntheticBase, /* Make_OpCode_ESC (20) CFF Top */
OpCode_PostScript, /* Make_OpCode_ESC (21) CFF Top */
OpCode_BaseFontName, /* Make_OpCode_ESC (22) CFF Top */
OpCode_BaseFontBlend, /* Make_OpCode_ESC (23) CFF Top */
OpCode_reservedESC24, /* Make_OpCode_ESC (24) */
OpCode_reservedESC25, /* Make_OpCode_ESC (25) */
OpCode_reservedESC26, /* Make_OpCode_ESC (26) */
OpCode_reservedESC27, /* Make_OpCode_ESC (27) */
OpCode_reservedESC28, /* Make_OpCode_ESC (28) */
OpCode_reservedESC29, /* Make_OpCode_ESC (29) */
OpCode_ROS, /* Make_OpCode_ESC (30) CFF Top_CID */
OpCode_CIDFontVersion, /* Make_OpCode_ESC (31) CFF Top_CID (0) */
OpCode_CIDFontRevision, /* Make_OpCode_ESC (32) CFF Top_CID (0) */
OpCode_CIDFontType, /* Make_OpCode_ESC (33) CFF Top_CID (0) */
OpCode_CIDCount, /* Make_OpCode_ESC (34) CFF Top_CID (8720) */
OpCode_UIDBase, /* Make_OpCode_ESC (35) CFF Top_CID */
OpCode_FDArray, /* Make_OpCode_ESC (36) CFF Top_CID, CFF2 Top */
OpCode_FDSelect, /* Make_OpCode_ESC (37) CFF Top_CID, CFF2 Top */
OpCode_FontName, /* Make_OpCode_ESC (38) CFF Top_CID */
typedef unsigned int OpCode;
/* === Dict operators === */
/* One byte operators (0-31) */
#define OpCode_version 0 /* CFF Top */
#define OpCode_Notice 1 /* CFF Top */
#define OpCode_FullName 2 /* CFF Top */
#define OpCode_FamilyName 3 /* CFF Top */
#define OpCode_Weight 4 /* CFF Top */
#define OpCode_FontBBox 5 /* CFF Top */
#define OpCode_BlueValues 6 /* CFF Private, CFF2 Private */
#define OpCode_OtherBlues 7 /* CFF Private, CFF2 Private */
#define OpCode_FamilyBlues 8 /* CFF Private, CFF2 Private */
#define OpCode_FamilyOtherBlues 9 /* CFF Private, CFF2 Private */
#define OpCode_StdHW 10 /* CFF Private, CFF2 Private */
#define OpCode_StdVW 11 /* CFF Private, CFF2 Private */
#define OpCode_escape 12 /* All. Shared with CS */
#define OpCode_UniqueID 13 /* CFF Top */
#define OpCode_XUID 14 /* CFF Top */
#define OpCode_charset 15 /* CFF Top (0) */
#define OpCode_Encoding 16 /* CFF Top (0) */
#define OpCode_CharStrings 17 /* CFF Top, CFF2 Top */
#define OpCode_Private 18 /* CFF Top, CFF2 FD */
#define OpCode_Subrs 19 /* CFF Private, CFF2 Private */
#define OpCode_defaultWidthX 20 /* CFF Private (0) */
#define OpCode_nominalWidthX 21 /* CFF Private (0) */
#define OpCode_vsindexdict 22 /* CFF2 Private/CS */
#define OpCode_blenddict 23 /* CFF2 Private/CS */
#define OpCode_vstore 24 /* CFF2 Top */
#define OpCode_reserved25 25
#define OpCode_reserved26 26
#define OpCode_reserved27 27
/* Numbers */
#define OpCode_shortint 28 /* 16-bit integer, All */
#define OpCode_longintdict 29 /* 32-bit integer, All */
#define OpCode_BCD 30 /* real number, CFF2 Top/FD */
#define OpCode_reserved31 31
/* 1-byte integers */
#define OpCode_OneByteIntFirst 32 /* All. beginning of the range of first byte ints */
#define OpCode_OneByteIntLast 246 /* All. ending of the range of first byte int */
/* 2-byte integers */
#define OpCode_TwoBytePosInt0 247 /* All. first byte of two byte positive int (+108 to +1131) */
#define OpCode_TwoBytePosInt1 248
#define OpCode_TwoBytePosInt2 249
#define OpCode_TwoBytePosInt3 250
#define OpCode_TwoByteNegInt0 251 /* All. first byte of two byte negative int (-1131 to -108) */
#define OpCode_TwoByteNegInt1 252
#define OpCode_TwoByteNegInt2 253
#define OpCode_TwoByteNegInt3 254
/* Two byte escape operators 12, (0-41) */
#define OpCode_ESC_Base 256
#define Make_OpCode_ESC(byte2) ((OpCode)(OpCode_ESC_Base + (byte2)))
/* === CharString operators === */
OpCode_hstem = 1, /* 1 CFF, CFF2 */
OpCode_Reserved2,
OpCode_vstem, /* 3 CFF, CFF2 */
OpCode_vmoveto, /* 4 CFF, CFF2 */
OpCode_rlineto, /* 5 CFF, CFF2 */
OpCode_hlineto, /* 6 CFF, CFF2 */
OpCode_vlineto, /* 7 CFF, CFF2 */
OpCode_rrcurveto, /* 8 CFF, CFF2 */
OpCode_Reserved9,
OpCode_callsubr, /* 10 CFF, CFF2 */
OpCode_return, /* 11 CFF */
// OpCode_escape, /* 12 CFF, CFF2 */
OpCode_Reserved13 = 13,
OpCode_endchar, /* 14 CFF */
OpCode_vsindexcs, /* 15 CFF2 */
OpCode_blendcs, /* 16 CFF2 */
OpCode_Reserved17,
OpCode_hstemhm, /* 18 CFF, CFF2 */
OpCode_hintmask, /* 19 CFF, CFF2 */
OpCode_cntrmask, /* 20 CFF, CFF2 */
OpCode_rmoveto, /* 21 CFF, CFF2 */
OpCode_hmoveto, /* 22 CFF, CFF2 */
OpCode_vstemhm, /* 23 CFF, CFF2 */
OpCode_rcurveline, /* 24 CFF, CFF2 */
OpCode_rlinecurve, /* 25 CFF, CFF2 */
OpCode_vvcurveto, /* 26 CFF, CFF2 */
OpCode_hhcurveto, /* 27 CFF, CFF2 */
// OpCode_shortint, /* 28 CFF, CFF2 */
OpCode_callgsubr = 29, /* 29 CFF, CFF2 */
OpCode_vhcurveto, /* 30 CFF, CFF2 */
OpCode_hvcurveto, /* 31 CFF, CFF2 */
OpCode_fixedcs = 255, /* 32-bit fixed */
/* Two byte escape operators 12, (0-41) */
OpCode_ReservedESC0 = OpCode_ESC_Base, /* Make_OpCode_ESC (0) */
OpCode_ReservedESC1, /* Make_OpCode_ESC (1) */
OpCode_ReservedESC2, /* Make_OpCode_ESC (2) */
OpCode_and, /* Make_OpCode_ESC (3) CFF */
OpCode_or, /* Make_OpCode_ESC (4) CFF */
OpCode_not, /* Make_OpCode_ESC (5) CFF */
OpCode_ReservedESC6, /* Make_OpCode_ESC (6) */
OpCode_ReservedESC7, /* Make_OpCode_ESC (7) */
OpCode_ReservedESC8, /* Make_OpCode_ESC (8) */
OpCode_abs, /* Make_OpCode_ESC (9) CFF */
OpCode_add, /* Make_OpCode_ESC (10) CFF */
OpCode_sub, /* Make_OpCode_ESC (11) CFF */
OpCode_div, /* Make_OpCode_ESC (12) CFF */
OpCode_ReservedESC13, /* Make_OpCode_ESC (13) */
OpCode_neg, /* Make_OpCode_ESC (14) CFF */
OpCode_eq, /* Make_OpCode_ESC (15) CFF */
OpCode_ReservedESC16, /* Make_OpCode_ESC (16) */
OpCode_ReservedESC17, /* Make_OpCode_ESC (17) */
OpCode_drop, /* Make_OpCode_ESC (18) CFF */
OpCode_ReservedESC19, /* Make_OpCode_ESC (19) */
OpCode_put, /* Make_OpCode_ESC (20) CFF */
OpCode_get, /* Make_OpCode_ESC (21) CFF */
OpCode_ifelse, /* Make_OpCode_ESC (22) CFF */
OpCode_random, /* Make_OpCode_ESC (23) CFF */
OpCode_mul, /* Make_OpCode_ESC (24) CFF */
// OpCode_reservedESC25, /* Make_OpCode_ESC (25) */
OpCode_sqrt = OpCode_mul+2, /* Make_OpCode_ESC (26) CFF */
OpCode_dup, /* Make_OpCode_ESC (27) CFF */
OpCode_exch, /* Make_OpCode_ESC (28) CFF */
OpCode_index, /* Make_OpCode_ESC (29) CFF */
OpCode_roll, /* Make_OpCode_ESC (30) CFF */
OpCode_reservedESC31, /* Make_OpCode_ESC (31) */
OpCode_reservedESC32, /* Make_OpCode_ESC (32) */
OpCode_reservedESC33, /* Make_OpCode_ESC (33) */
OpCode_hflex, /* Make_OpCode_ESC (34) CFF, CFF2 */
OpCode_flex, /* Make_OpCode_ESC (35) CFF, CFF2 */
OpCode_hflex1, /* Make_OpCode_ESC (36) CFF, CFF2 */
OpCode_flex1 /* Make_OpCode_ESC (37) CFF, CFF2 */
};
inline OpCode Make_OpCode_ESC (unsigned char byte2) { return (OpCode)(OpCode_ESC_Base + byte2); }
inline OpCode Unmake_OpCode_ESC (OpCode op) { return (OpCode)(op - OpCode_ESC_Base); }
inline bool Is_OpCode_ESC (OpCode op) { return op >= OpCode_ESC_Base; }
inline unsigned int OpCode_Size (OpCode op) { return Is_OpCode_ESC (op)? 2: 1; }
#define OpCode_Copyright Make_OpCode_ESC(0) /* CFF Top */
#define OpCode_isFixedPitch Make_OpCode_ESC(1) /* CFF Top (false) */
#define OpCode_ItalicAngle Make_OpCode_ESC(2) /* CFF Top (0) */
#define OpCode_UnderlinePosition Make_OpCode_ESC(3) /* CFF Top (-100) */
#define OpCode_UnderlineThickness Make_OpCode_ESC(4) /* CFF Top (50) */
#define OpCode_PaintType Make_OpCode_ESC(5) /* CFF Top (0) */
#define OpCode_CharstringType Make_OpCode_ESC(6) /* CFF Top (2) */
#define OpCode_FontMatrix Make_OpCode_ESC(7) /* CFF Top, CFF2 Top (.001 0 0 .001 0 0)*/
#define OpCode_StrokeWidth Make_OpCode_ESC(8) /* CFF Top (0) */
#define OpCode_BlueScale Make_OpCode_ESC(9) /* CFF Private, CFF2 Private (0.039625) */
#define OpCode_BlueShift Make_OpCode_ESC(10) /* CFF Private, CFF2 Private (7) */
#define OpCode_BlueFuzz Make_OpCode_ESC(11) /* CFF Private, CFF2 Private (1) */
#define OpCode_StemSnapH Make_OpCode_ESC(12) /* CFF Private, CFF2 Private */
#define OpCode_StemSnapV Make_OpCode_ESC(13) /* CFF Private, CFF2 Private */
#define OpCode_ForceBold Make_OpCode_ESC(14) /* CFF Private (false) */
#define OpCode_reservedESC15 Make_OpCode_ESC(15)
#define OpCode_reservedESC16 Make_OpCode_ESC(16)
#define OpCode_LanguageGroup Make_OpCode_ESC(17) /* CFF Private, CFF2 Private (0) */
#define OpCode_ExpansionFactor Make_OpCode_ESC(18) /* CFF Private, CFF2 Private (0.06) */
#define OpCode_initialRandomSeed Make_OpCode_ESC(19) /* CFF Private (0) */
#define OpCode_SyntheticBase Make_OpCode_ESC(20) /* CFF Top */
#define OpCode_PostScript Make_OpCode_ESC(21) /* CFF Top */
#define OpCode_BaseFontName Make_OpCode_ESC(22) /* CFF Top */
#define OpCode_BaseFontBlend Make_OpCode_ESC(23) /* CFF Top */
#define OpCode_reservedESC24 Make_OpCode_ESC(24)
#define OpCode_reservedESC25 Make_OpCode_ESC(25)
#define OpCode_reservedESC26 Make_OpCode_ESC(26)
#define OpCode_reservedESC27 Make_OpCode_ESC(27)
#define OpCode_reservedESC28 Make_OpCode_ESC(28)
#define OpCode_reservedESC29 Make_OpCode_ESC(29)
#define OpCode_ROS Make_OpCode_ESC(30) /* CFF Top_CID */
#define OpCode_CIDFontVersion Make_OpCode_ESC(31) /* CFF Top_CID (0) */
#define OpCode_CIDFontRevision Make_OpCode_ESC(32) /* CFF Top_CID (0) */
#define OpCode_CIDFontType Make_OpCode_ESC(33) /* CFF Top_CID (0) */
#define OpCode_CIDCount Make_OpCode_ESC(34) /* CFF Top_CID (8720) */
#define OpCode_UIDBase Make_OpCode_ESC(35) /* CFF Top_CID */
#define OpCode_FDArray Make_OpCode_ESC(36) /* CFF Top_CID, CFF2 Top */
#define OpCode_FDSelect Make_OpCode_ESC(37) /* CFF Top_CID, CFF2 Top */
#define OpCode_FontName Make_OpCode_ESC(38) /* CFF Top_CID */
/* === CharString operators === */
#define OpCode_hstem 1 /* CFF, CFF2 */
#define OpCode_Reserved2 2
#define OpCode_vstem 3 /* CFF, CFF2 */
#define OpCode_vmoveto 4 /* CFF, CFF2 */
#define OpCode_rlineto 5 /* CFF, CFF2 */
#define OpCode_hlineto 6 /* CFF, CFF2 */
#define OpCode_vlineto 7 /* CFF, CFF2 */
#define OpCode_rrcurveto 8 /* CFF, CFF2 */
#define OpCode_Reserved9 9
#define OpCode_callsubr 10 /* CFF, CFF2 */
#define OpCode_return 11 /* CFF */
// #define OpCode_escape 12 /* CFF, CFF2 */
#define OpCode_Reserved13 13
#define OpCode_endchar 14 /* CFF */
#define OpCode_vsindexcs 15 /* CFF2 */
#define OpCode_blendcs 16 /* CFF2 */
#define OpCode_Reserved17 17
#define OpCode_hstemhm 18 /* CFF, CFF2 */
#define OpCode_hintmask 19 /* CFF, CFF2 */
#define OpCode_cntrmask 20 /* CFF, CFF2 */
#define OpCode_rmoveto 21 /* CFF, CFF2 */
#define OpCode_hmoveto 22 /* CFF, CFF2 */
#define OpCode_vstemhm 23 /* CFF, CFF2 */
#define OpCode_rcurveline 24 /* CFF, CFF2 */
#define OpCode_rlinecurve 25 /* CFF, CFF2 */
#define OpCode_vvcurveto 26 /* CFF, CFF2 */
#define OpCode_hhcurveto 27 /* CFF, CFF2 */
// #define OpCode_shortint 28 /* CFF, CFF2 */
#define OpCode_callgsubr 29 /* CFF, CFF2 */
#define OpCode_vhcurveto 30 /* CFF, CFF2 */
#define OpCode_hvcurveto 31 /* CFF, CFF2 */
#define OpCode_fixedcs 255 /* 32-bit fixed */
/* Two byte escape operators 12, (0-41) */
#define OpCode_ReservedESC0 Make_OpCode_ESC(0)
#define OpCode_ReservedESC1 Make_OpCode_ESC(1)
#define OpCode_ReservedESC2 Make_OpCode_ESC(2)
#define OpCode_and Make_OpCode_ESC(3) /* CFF */
#define OpCode_or Make_OpCode_ESC(4) /* CFF */
#define OpCode_not Make_OpCode_ESC(5) /* CFF */
#define OpCode_ReservedESC6 Make_OpCode_ESC(6)
#define OpCode_ReservedESC7 Make_OpCode_ESC(7)
#define OpCode_ReservedESC8 Make_OpCode_ESC(8)
#define OpCode_abs Make_OpCode_ESC(9) /* CFF */
#define OpCode_add Make_OpCode_ESC(10) /* CFF */
#define OpCode_sub Make_OpCode_ESC(11) /* CFF */
#define OpCode_div Make_OpCode_ESC(12) /* CFF */
#define OpCode_ReservedESC13 Make_OpCode_ESC(13)
#define OpCode_neg Make_OpCode_ESC(14) /* CFF */
#define OpCode_eq Make_OpCode_ESC(15) /* CFF */
#define OpCode_ReservedESC16 Make_OpCode_ESC(16)
#define OpCode_ReservedESC17 Make_OpCode_ESC(17)
#define OpCode_drop Make_OpCode_ESC(18) /* CFF */
#define OpCode_ReservedESC19 Make_OpCode_ESC(19)
#define OpCode_put Make_OpCode_ESC(20) /* CFF */
#define OpCode_get Make_OpCode_ESC(21) /* CFF */
#define OpCode_ifelse Make_OpCode_ESC(22) /* CFF */
#define OpCode_random Make_OpCode_ESC(23) /* CFF */
#define OpCode_mul Make_OpCode_ESC(24) /* CFF */
// #define OpCode_reservedESC25 Make_OpCode_ESC(25)
#define OpCode_sqrt Make_OpCode_ESC(26) /* CFF */
#define OpCode_dup Make_OpCode_ESC(27) /* CFF */
#define OpCode_exch Make_OpCode_ESC(28) /* CFF */
#define OpCode_index Make_OpCode_ESC(29) /* CFF */
#define OpCode_roll Make_OpCode_ESC(30) /* CFF */
#define OpCode_reservedESC31 Make_OpCode_ESC(31)
#define OpCode_reservedESC32 Make_OpCode_ESC(32)
#define OpCode_reservedESC33 Make_OpCode_ESC(33)
#define OpCode_hflex Make_OpCode_ESC(34) /* CFF, CFF2 */
#define OpCode_flex Make_OpCode_ESC(35) /* CFF, CFF2 */
#define OpCode_hflex1 Make_OpCode_ESC(36) /* CFF, CFF2 */
#define OpCode_flex1 Make_OpCode_ESC(37) /* CFF, CFF2 */
struct Number
{
inline void init (void)
@ -668,7 +668,7 @@ struct InterpEnv
if (op == OpCode_escape) {
if (unlikely (!substr.avail ()))
return false;
op = Make_OpCode_ESC (substr[1]);
op = Make_OpCode_ESC(substr[1]);
substr.inc ();
}
substr.inc ();

Loading…
Cancel
Save