--- ManOpen/ManDocument.m.orig	2005-11-28 00:32:39.000000000 -0700
+++ ManOpen/ManDocument.m	2009-03-09 01:04:29.000000000 -0600
@@ -325,7 +325,7 @@
 #ifdef MACOS_X
     /* The new ATS typesetter in Jaguar causes some weirdnesses... but is fixed in later versions. */
     if (IsPantherOrEarlier())
-        [[textView layoutManager] setTypesetter:[NSSimpleHorizontalTypesetter sharedInstance]];
+        [[textView layoutManager] setTypesetter:[NSTypesetter sharedSystemTypesetter]];
 #endif
 
     if (sizeString != nil)
@@ -631,7 +631,9 @@
     NSFont *font = ManFont();
     int currPage = [[NSPrintOperation currentOperation] currentPage];
     NSString *str = [NSString stringWithFormat:@"%d", currPage];
-    float strWidth = [font widthOfString:str];
+//    float strWidth = [font widthOfString:str];
+       NSSize strSize = [str sizeWithAttributes:[NSDictionary dictionaryWithObject:font forKey: NSFontAttributeName]];
+       float strWidth = strSize.width;
     NSPoint point = NSMakePoint(size.width/2 - strWidth/2, 20.0);
 
 #ifdef MACOS_X
@@ -641,8 +643,8 @@
     CGContextSetTextMatrix(context, CGAffineTransformIdentity);
     CGContextSetTextDrawingMode(context, kCGTextFill);  //needed?
     CGContextSetGrayFillColor(context, 0.0, 1.0);
-    CGContextSelectFont(context, [[font fontName] cString], [font pointSize], kCGEncodingMacRoman);
-    CGContextShowTextAtPoint(context, point.x, point.y, [str cString], [str cStringLength]);
+    CGContextSelectFont(context, [[font fontName] UTF8String], [font pointSize], kCGEncodingMacRoman);
+    CGContextShowTextAtPoint(context, point.x, point.y, [str UTF8String], [str lengthOfBytesUsingEncoding:NSASCIIStringEncoding]);
     CGContextRestoreGState(context);
 #else
     PSgsave();

