comparison src/font.c @ 95984:cf2b26adbb9b

Tweak last change.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 16 Jun 2008 02:04:45 +0000
parents 104a55eb192a
children f2d08191aec7
comparison
equal deleted inserted replaced
95983:104a55eb192a 95984:cf2b26adbb9b
1426 while (*p) 1426 while (*p)
1427 { 1427 {
1428 Lisp_Object val; 1428 Lisp_Object val;
1429 int word_len, prop; 1429 int word_len, prop;
1430 1430
1431 #define PROP_MATCH(STR,N) ((word_len == N) && memcmp (p, STR, N) == 0)
1432
1433 for (q = p + 1; *q && *q != '=' && *q != ':'; q++); 1431 for (q = p + 1; *q && *q != '=' && *q != ':'; q++);
1434 word_len = q - p; 1432 word_len = q - p;
1435 if (*q != '=') 1433 if (*q != '=')
1436 { 1434 {
1437 /* Must be an enumerated value. */ 1435 /* Must be an enumerated value. */
1438 val = font_intern_prop (p, q - p, 1); 1436 val = font_intern_prop (p, q - p, 1);
1437
1438 #define PROP_MATCH(STR,N) ((word_len == N) && memcmp (p, STR, N) == 0)
1439
1439 if (PROP_MATCH ("light", 5) 1440 if (PROP_MATCH ("light", 5)
1440 || PROP_MATCH ("medium", 6) 1441 || PROP_MATCH ("medium", 6)
1441 || PROP_MATCH ("demibold", 8) 1442 || PROP_MATCH ("demibold", 8)
1442 || PROP_MATCH ("bold", 4) 1443 || PROP_MATCH ("bold", 4)
1443 || PROP_MATCH ("black", 5)) 1444 || PROP_MATCH ("black", 5))
1459 { 1460 {
1460 /* Unknown key */ 1461 /* Unknown key */
1461 bcopy (p, copy, word_len); 1462 bcopy (p, copy, word_len);
1462 copy += word_len; 1463 copy += word_len;
1463 } 1464 }
1465 #undef PROP_MATCH
1464 } 1466 }
1465 else /* KEY=VAL pairs */ 1467 else /* KEY=VAL pairs */
1466 { 1468 {
1467 Lisp_Object key; 1469 Lisp_Object key;
1468 char *keyhead = p; 1470 char *keyhead = p;
1490 bcopy (keyhead, copy, q - keyhead); 1492 bcopy (keyhead, copy, q - keyhead);
1491 copy += q - keyhead; 1493 copy += q - keyhead;
1492 } 1494 }
1493 } 1495 }
1494 p = *q ? q + 1 : q; 1496 p = *q ? q + 1 : q;
1495 #undef PROP_MATCH
1496 } 1497 }
1497 if (name != copy) 1498 if (name != copy)
1498 font_put_extra (font, QCfc_unknown_spec, 1499 font_put_extra (font, QCfc_unknown_spec,
1499 make_unibyte_string (name, copy - name)); 1500 make_unibyte_string (name, copy - name));
1500 } 1501 }