src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-name-table.hh
changeset 48274 51772bf1fb0c
parent 47216 71c04702a3d5
child 50352 25db2c8f3cf8
equal deleted inserted replaced
48273:e2065f7505eb 48274:51772bf1fb0c
    40 #define HB_OT_TAG_name HB_TAG('n','a','m','e')
    40 #define HB_OT_TAG_name HB_TAG('n','a','m','e')
    41 
    41 
    42 
    42 
    43 struct NameRecord
    43 struct NameRecord
    44 {
    44 {
    45   static int cmp (const NameRecord *a, const NameRecord *b)
    45   static int cmp (const void *pa, const void *pb)
    46   {
    46   {
       
    47     const NameRecord *a = (const NameRecord *) pa;
       
    48     const NameRecord *b = (const NameRecord *) pb;
    47     int ret;
    49     int ret;
    48     ret = b->platformID.cmp (a->platformID);
    50     ret = b->platformID.cmp (a->platformID);
    49     if (ret) return ret;
    51     if (ret) return ret;
    50     ret = b->encodingID.cmp (a->encodingID);
    52     ret = b->encodingID.cmp (a->encodingID);
    51     if (ret) return ret;
    53     if (ret) return ret;
    87     NameRecord key;
    89     NameRecord key;
    88     key.platformID.set (platform_id);
    90     key.platformID.set (platform_id);
    89     key.encodingID.set (encoding_id);
    91     key.encodingID.set (encoding_id);
    90     key.languageID.set (language_id);
    92     key.languageID.set (language_id);
    91     key.nameID.set (name_id);
    93     key.nameID.set (name_id);
    92     NameRecord *match = (NameRecord *) bsearch (&key, nameRecord, count, sizeof (nameRecord[0]), (hb_compare_func_t) NameRecord::cmp);
    94     NameRecord *match = (NameRecord *) bsearch (&key, nameRecord, count, sizeof (nameRecord[0]), NameRecord::cmp);
    93 
    95 
    94     if (!match)
    96     if (!match)
    95       return 0;
    97       return 0;
    96 
    98 
    97     unsigned int length = MIN (buffer_length, (unsigned int) match->length);
    99     unsigned int length = MIN (buffer_length, (unsigned int) match->length);