diff src/nsfont.m @ 105561:69741c366370

* nsfont.m (ns_char_width): Replace deprecated call (suggested by Erik Charlebois). (ns_findfonts, nsfont_list_family): Use long format in printf, and cast argument. (nsfont_open): Use ns_char_width() everywhere. (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
author Adrian Robert <Adrian.B.Robert@gmail.com>
date Mon, 12 Oct 2009 00:27:28 +0000
parents 8f8d95750940
children f846b59ab251
line wrap: on
line diff
--- a/src/nsfont.m	Mon Oct 12 00:27:13 2009 +0000
+++ b/src/nsfont.m	Mon Oct 12 00:27:28 2009 +0000
@@ -244,7 +244,11 @@
 	    return w;
       }
 #endif
-    w = [sfont widthOfString: cstr];
+    {
+      NSDictionary *attrsDictionary =
+        [NSDictionary dictionaryWithObject: sfont forKey: NSFontAttributeName];
+      w = [cstr sizeWithAttributes: attrsDictionary].width;
+    }
     return max (w, 2.0);
 }
 
@@ -543,7 +547,8 @@
       return ns_fallback_entity ();
 
     if (NSFONT_TRACE)
-	fprintf (stderr, "    Returning %d entities.\n", XINT (Flength (list)));
+	fprintf (stderr, "    Returning %ld entities.\n",
+                 (long)XINT (Flength (list)));
 
     return list;
 }
@@ -649,8 +654,8 @@
   /* FIXME: escape the name? */
 
   if (NSFONT_TRACE)
-    fprintf (stderr, "nsfont: list families returning %d entries\n",
-            XINT (Flength (list)));
+    fprintf (stderr, "nsfont: list families returning %ld entries\n",
+            (long)XINT (Flength (list)));
 
   return list;
 }
@@ -876,7 +881,7 @@
     /* set up metrics portion of font struct */
     font->ascent = [sfont ascender];
     font->descent = -[sfont descender];
-    font->min_width = [sfont widthOfString: @"|"]; /* FIXME */
+    font->min_width = ns_char_width(sfont, '|');
     font->space_width = lrint (ns_char_width (sfont, ' '));
     font->average_width = lrint (font_info->width);
     font->max_width = lrint (font_info->max_bounds.width);
@@ -1332,7 +1337,7 @@
     NSGlyphGenerator *glyphGenerator = [NSGlyphGenerator sharedGlyphGenerator];
     /*NSCharacterSet *coveredChars = [nsfont coveredCharacterSet]; */
     unsigned int numGlyphs = [font_info->nsfont numberOfGlyphs];
-    unsigned int gInd =0, cInd =0;
+    NSUInteger gInd =0, cInd =0;
 
     [glyphStorage setString: allChars font: font_info->nsfont];
     [glyphGenerator generateGlyphsForGlyphStorage: glyphStorage
@@ -1454,7 +1459,7 @@
 }
 
 /* NSGlyphStorage protocol */
-- (unsigned int)layoutOptions
+- (NSUInteger)layoutOptions
 {
   return 0;
 }
@@ -1464,9 +1469,9 @@
   return attrStr;
 }
 
-- (void)insertGlyphs: (const NSGlyph *)glyphs length: (unsigned int)length
-        forStartingGlyphAtIndex: (unsigned int)glyphIndex
-        characterIndex: (unsigned int)charIndex
+- (void)insertGlyphs: (const NSGlyph *)glyphs length: (NSUInteger)length
+        forStartingGlyphAtIndex: (NSUInteger)glyphIndex
+        characterIndex: (NSUInteger)charIndex
 {
   len = glyphIndex+length;
   for (i =glyphIndex; i<len; i++)
@@ -1475,8 +1480,8 @@
     maxGlyph = len;
 }
 
-- (void)setIntAttribute: (int)attributeTag value: (int)val
-        forGlyphAtIndex: (unsigned)glyphIndex
+- (void)setIntAttribute: (NSInteger)attributeTag value: (NSInteger)val
+        forGlyphAtIndex: (NSUInteger)glyphIndex
 {
   return;
 }