Bug 70971 - Signed/unsigned compiler warnings on windows

Patch from Emil Eklund.
diff --git a/src/hb-buffer-serialize.cc b/src/hb-buffer-serialize.cc
index b32092c..4541db2 100644
--- a/src/hb-buffer-serialize.cc
+++ b/src/hb-buffer-serialize.cc
@@ -146,9 +146,9 @@
 
     *p++ = '}';
 
-    if (buf_size > (p - b))
+    unsigned int l = p - b;
+    if (buf_size > l)
     {
-      unsigned int l = p - b;
       memcpy (buf, b, l);
       buf += l;
       buf_size -= l;
@@ -208,9 +208,9 @@
 	p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), ",%d", pos[i].y_advance));
     }
 
-    if (buf_size > (p - b))
+    unsigned int l = p - b;
+    if (buf_size > l)
     {
-      unsigned int l = p - b;
       memcpy (buf, b, l);
       buf += l;
       buf_size -= l;
diff --git a/src/hb-ot-map.cc b/src/hb-ot-map.cc
index 17dc934..559193c 100644
--- a/src/hb-ot-map.cc
+++ b/src/hb-ot-map.cc
@@ -181,7 +181,7 @@
       continue; /* Feature disabled, or not enough bits. */
 
 
-    bool found = false;
+    hb_bool_t found = false;
     unsigned int feature_index[2];
     for (unsigned int table_index = 0; table_index < 2; table_index++)
       found |= hb_ot_layout_language_find_feature (face,