Rename HB_TAG_STR() to HB_TAG_CHAR4()

The problem with HB_TAG_STR() was that it expected a string of size 4
exactly, and unlike hb_tag_from_string() it doesn't pad the tag with
space characters.  So, the new name is more appropriate.
This commit is contained in:
Behdad Esfahbod 2011-04-11 13:12:37 -04:00
parent 9faa980067
commit 07233581c9
4 changed files with 7 additions and 7 deletions

View File

@ -40,7 +40,7 @@ hb_tag_from_string (const char *s)
for (; i < 4; i++)
tag[i] = ' ';
return HB_TAG_STR (tag);
return HB_TAG_CHAR4 (tag);
}

View File

@ -55,10 +55,10 @@ typedef int hb_bool_t;
typedef uint32_t hb_tag_t;
#define HB_TAG(a,b,c,d) ((hb_tag_t)((((uint8_t)(a))<<24)|(((uint8_t)(b))<<16)|(((uint8_t)(c))<<8)|((uint8_t)(d))))
#define HB_TAG_STR(s) (HB_TAG(((const char *) s)[0], \
((const char *) s)[1], \
((const char *) s)[2], \
((const char *) s)[3]))
#define HB_TAG_CHAR4(s) (HB_TAG(((const char *) s)[0], \
((const char *) s)[1], \
((const char *) s)[2], \
((const char *) s)[3]))
#define HB_TAG_NONE HB_TAG(0,0,0,0)
hb_tag_t hb_tag_from_string (const char *s);

View File

@ -645,7 +645,7 @@ hb_ot_tag_from_language (hb_language_t language)
tag[i] = TO_UPPER (lang_str[i]);
for (; i < 4; i++)
tag[i] = ' ';
return HB_TAG_STR (tag);
return HB_TAG_CHAR4 (tag);
}
/* find a language matching in the first component */

View File

@ -85,7 +85,7 @@ test_types_tag (void)
g_assert_cmphex (HB_TAG_NONE, ==, 0);
g_assert_cmphex (HB_TAG ('a','B','c','D'), ==, 0x61426344);
g_assert_cmphex (HB_TAG_STR ("aBcD"), ==, 0x61426344);
g_assert_cmphex (HB_TAG_CHAR4 ("aBcD"), ==, 0x61426344);
g_assert_cmphex (hb_tag_from_string ("aBcDe"), ==, 0x61426344);
g_assert_cmphex (hb_tag_from_string ("aBcD"), ==, 0x61426344);