From f1a72fe7bf863535ec09b559cc0bd878fd0799f2 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 4 Jun 2014 19:00:29 -0400 Subject: [PATCH] [ot-font] Fix cmap EncodingRecord cmp order --- src/hb-ot-cmap-table.hh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/hb-ot-cmap-table.hh b/src/hb-ot-cmap-table.hh index b7c89ce9a..e21baed4c 100644 --- a/src/hb-ot-cmap-table.hh +++ b/src/hb-ot-cmap-table.hh @@ -332,12 +332,12 @@ struct CmapSubtable struct EncodingRecord { - int cmp (const EncodingRecord &other) const + inline int cmp (const EncodingRecord &other) const { int ret; - ret = other.platformID.cmp (platformID); + ret = platformID.cmp (other.platformID); if (ret) return ret; - ret = other.encodingID.cmp (encodingID); + ret = encodingID.cmp (other.encodingID); if (ret) return ret; return 0; } @@ -381,8 +381,12 @@ struct cmap encodingRecord.sanitize (c, this)); } - USHORT version; /* Table version number (0). */ - ArrayOf encodingRecord; /* Encoding tables. */ + USHORT version; /* Table version number (0). */ + /* Note: We can use the Sorted array variant, but since it + * has no performance implications, we use non-sorted array and + * as such accept fonts with unsorted subtable list. */ + /*Sorted*/ArrayOf + encodingRecord; /* Encoding tables. */ public: DEFINE_SIZE_ARRAY (4, encodingRecord); };