Skip to content

Commit

Permalink
Add {GPOS,GSUB}_TYPE_ prefix to enum constants.
Browse files Browse the repository at this point in the history
To avoid identifier conflicts with a macro which is defined by MSVC.
All enum constants defined in gpos.cc and gsub.cc follow the same manner to ensure consistency.

BUG=77127
TEST=ran test/layout_common_table_test and test/test_{un,}malicious_fonts.sh with 4000+ fonts.
  • Loading branch information
[email protected] committed Mar 23, 2011
1 parent 9fef4be commit 3552f4c
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 41 deletions.
49 changes: 25 additions & 24 deletions src/gpos.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@
namespace {

enum GPOS_TYPE {
SINGLE_ADJUSTMENT = 1,
PAIR_ADJUSTMENT = 2,
CURSIVE_ATTACHMENT = 3,
MARK_TO_BASE_ATTACHMENT = 4,
MARK_TO_LIGATURE_ATTACHMENT = 5,
MARK_TO_MARK_ATTACHMENT = 6,
CONTEXT_POSITIONING = 7,
CHAINED_CONTEXT_POSITIONING = 8,
EXTENSION_POSITIONING = 9,
GPOS_TYPE_SINGLE_ADJUSTMENT = 1,
GPOS_TYPE_PAIR_ADJUSTMENT = 2,
GPOS_TYPE_CURSIVE_ATTACHMENT = 3,
GPOS_TYPE_MARK_TO_BASE_ATTACHMENT = 4,
GPOS_TYPE_MARK_TO_LIGATURE_ATTACHMENT = 5,
GPOS_TYPE_MARK_TO_MARK_ATTACHMENT = 6,
GPOS_TYPE_CONTEXT_POSITIONING = 7,
GPOS_TYPE_CHAINED_CONTEXT_POSITIONING = 8,
GPOS_TYPE_EXTENSION_POSITIONING = 9,
GPOS_TYPE_RESERVED = 10
};

Expand Down Expand Up @@ -58,19 +58,19 @@ bool ParseExtensionPositioning(const ots::OpenTypeFile *file,
const uint8_t *data, const size_t length);

const ots::LookupSubtableParser::TypeParser kGposTypeParsers[] = {
{SINGLE_ADJUSTMENT, ParseSingleAdjustment},
{PAIR_ADJUSTMENT, ParsePairAdjustment},
{CURSIVE_ATTACHMENT, ParseCursiveAttachment},
{MARK_TO_BASE_ATTACHMENT, ParseMarkToBaseAttachment},
{MARK_TO_LIGATURE_ATTACHMENT, ParseMarkToLigatureAttachment},
{MARK_TO_MARK_ATTACHMENT, ParseMarkToMarkAttachment},
{CONTEXT_POSITIONING, ParseContextPositioning},
{CHAINED_CONTEXT_POSITIONING, ParseChainedContextPositioning},
{EXTENSION_POSITIONING, ParseExtensionPositioning}
{GPOS_TYPE_SINGLE_ADJUSTMENT, ParseSingleAdjustment},
{GPOS_TYPE_PAIR_ADJUSTMENT, ParsePairAdjustment},
{GPOS_TYPE_CURSIVE_ATTACHMENT, ParseCursiveAttachment},
{GPOS_TYPE_MARK_TO_BASE_ATTACHMENT, ParseMarkToBaseAttachment},
{GPOS_TYPE_MARK_TO_LIGATURE_ATTACHMENT, ParseMarkToLigatureAttachment},
{GPOS_TYPE_MARK_TO_MARK_ATTACHMENT, ParseMarkToMarkAttachment},
{GPOS_TYPE_CONTEXT_POSITIONING, ParseContextPositioning},
{GPOS_TYPE_CHAINED_CONTEXT_POSITIONING, ParseChainedContextPositioning},
{GPOS_TYPE_EXTENSION_POSITIONING, ParseExtensionPositioning}
};

const ots::LookupSubtableParser kGposLookupSubtableParser = {
GPOS_TYPE_RESERVED, EXTENSION_POSITIONING, kGposTypeParsers
GPOS_TYPE_RESERVED, GPOS_TYPE_EXTENSION_POSITIONING, kGposTypeParsers
};

// Shared Tables: ValueRecord, Anchor Table, and MarkArray
Expand Down Expand Up @@ -596,13 +596,14 @@ bool ParseMarkToAttachmentSubtables(const ots::OpenTypeFile *file,
offset_type_specific_array >= length) {
return OTS_FAILURE();
}
if (type == MARK_TO_BASE_ATTACHMENT || type == MARK_TO_MARK_ATTACHMENT) {
if (type == GPOS_TYPE_MARK_TO_BASE_ATTACHMENT ||
type == GPOS_TYPE_MARK_TO_MARK_ATTACHMENT) {
if (!ParseAnchorArrayTable(data + offset_type_specific_array,
length - offset_type_specific_array,
class_count)) {
return OTS_FAILURE();
}
} else if (type == MARK_TO_LIGATURE_ATTACHMENT) {
} else if (type == GPOS_TYPE_MARK_TO_LIGATURE_ATTACHMENT) {
if (!ParseLigatureArrayTable(data + offset_type_specific_array,
length - offset_type_specific_array,
class_count)) {
Expand All @@ -620,23 +621,23 @@ bool ParseMarkToAttachmentSubtables(const ots::OpenTypeFile *file,
bool ParseMarkToBaseAttachment(const ots::OpenTypeFile *file,
const uint8_t *data, const size_t length) {
return ParseMarkToAttachmentSubtables(file, data, length,
MARK_TO_BASE_ATTACHMENT);
GPOS_TYPE_MARK_TO_BASE_ATTACHMENT);
}

// Lookup Type 5:
// MarkToLigature Attachment Positioning Subtable
bool ParseMarkToLigatureAttachment(const ots::OpenTypeFile *file,
const uint8_t *data, const size_t length) {
return ParseMarkToAttachmentSubtables(file, data, length,
MARK_TO_LIGATURE_ATTACHMENT);
GPOS_TYPE_MARK_TO_LIGATURE_ATTACHMENT);
}

// Lookup Type 6:
// MarkToMark Attachment Positioning Subtable
bool ParseMarkToMarkAttachment(const ots::OpenTypeFile *file,
const uint8_t *data, const size_t length) {
return ParseMarkToAttachmentSubtables(file, data, length,
MARK_TO_MARK_ATTACHMENT);
GPOS_TYPE_MARK_TO_MARK_ATTACHMENT);
}

// Lookup Type 7:
Expand Down
34 changes: 17 additions & 17 deletions src/gsub.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ namespace {
const size_t kGsubHeaderSize = 8;

enum GSUB_TYPE {
SINGLE = 1,
MULTIPLE = 2,
ALTERNATE = 3,
LIGATURE = 4,
CONTEXT = 5,
CHANGING_CONTEXT = 6,
EXTENSION_SUBSTITUTION = 7,
REVERSE_CHAINING_CONTEXT_SINGLE = 8,
GSUB_TYPE_SINGLE = 1,
GSUB_TYPE_MULTIPLE = 2,
GSUB_TYPE_ALTERNATE = 3,
GSUB_TYPE_LIGATURE = 4,
GSUB_TYPE_CONTEXT = 5,
GSUB_TYPE_CHANGING_CONTEXT = 6,
GSUB_TYPE_EXTENSION_SUBSTITUTION = 7,
GSUB_TYPE_REVERSE_CHAINING_CONTEXT_SINGLE = 8,
GSUB_TYPE_RESERVED = 9
};

Expand All @@ -52,19 +52,19 @@ bool ParseReverseChainingContextSingleSubstitution(
const ots::OpenTypeFile *file, const uint8_t *data, const size_t length);

const ots::LookupSubtableParser::TypeParser kGsubTypeParsers[] = {
{SINGLE, ParseSingleSubstitution},
{MULTIPLE, ParseMutipleSubstitution},
{ALTERNATE, ParseAlternateSubstitution},
{LIGATURE, ParseLigatureSubstitution},
{CONTEXT, ParseContextSubstitution},
{CHANGING_CONTEXT, ParseChainingContextSubstitution},
{EXTENSION_SUBSTITUTION, ParseExtensionSubstitution},
{REVERSE_CHAINING_CONTEXT_SINGLE,
{GSUB_TYPE_SINGLE, ParseSingleSubstitution},
{GSUB_TYPE_MULTIPLE, ParseMutipleSubstitution},
{GSUB_TYPE_ALTERNATE, ParseAlternateSubstitution},
{GSUB_TYPE_LIGATURE, ParseLigatureSubstitution},
{GSUB_TYPE_CONTEXT, ParseContextSubstitution},
{GSUB_TYPE_CHANGING_CONTEXT, ParseChainingContextSubstitution},
{GSUB_TYPE_EXTENSION_SUBSTITUTION, ParseExtensionSubstitution},
{GSUB_TYPE_REVERSE_CHAINING_CONTEXT_SINGLE,
ParseReverseChainingContextSingleSubstitution}
};

const ots::LookupSubtableParser kGsubLookupSubtableParser = {
GSUB_TYPE_RESERVED, EXTENSION_SUBSTITUTION, kGsubTypeParsers
GSUB_TYPE_RESERVED, GSUB_TYPE_EXTENSION_SUBSTITUTION, kGsubTypeParsers
};

// Lookup Type 1:
Expand Down

0 comments on commit 3552f4c

Please sign in to comment.