title: NSString boundingRectWithSize returning unnecessarily tall height
body: <p>When using <code>[NSString boundingRectWithSize:options:attributes]</code> the size of the rect that is returned is taller than I would expect for certain strings. The height returned appears to represent the maximum possible height of a string with the given attributes, rather than the height of the string itself. </p>
  
  <p>Assuming the same attributes and options, the height returned for the string "<code>cars</code>" is the same height returned for the string "<code>ÉTAS-UNIS</code>" (note the accent on the E). </p>
  
  <p>I would have expected <code>boundingRectWithSize</code> to only consider the characters in the given string, which in my opinion would have it return a shorter height for the string "<code>cars</code>". </p>
  
  <p>In the attached screenshots, I've filled the rect returned from <code>boundingRectWithSize</code> and outlined in red what I would have assumed the bounding rect should have been. The width of the rect is pretty much as I would expect but the height is considerably taller than I would have expected. Why is that? </p>
  
  <p><img src="https://i.stack.imgur.com/c0i5A.png" alt="Bounding Rect Example"></p>
  
  <p>Sample code: </p>
  
  <pre><code>NSRect boundingRect = NSZeroRect;
  NSSize constraintSize = NSMakeSize(CGFLOAT_MAX, 0);
  
  NSString *lowercaseString = @"cars";
  NSString *uppercaseString = @"ÉTAS-UNIS";
  NSString *capitalizedString = @"Japan";
  
  NSFont *drawingFont = [NSFont fontWithName:@"Georgia" size:24.0];
  NSDictionary *attributes = @{NSFontAttributeName : drawingFont, NSForegroundColorAttributeName : [NSColor blackColor]};
  
  boundingRect = [lowercaseString boundingRectWithSize:constraintSize options:0 attributes:attributes];
  NSLog(@"Lowercase rect: %@", NSStringFromRect(boundingRect));
  
  boundingRect = [uppercaseString boundingRectWithSize:constraintSize options:0 attributes:attributes];
  NSLog(@"Uppercase rect: %@", NSStringFromRect(boundingRect));
  
  boundingRect = [capitalizedString boundingRectWithSize:constraintSize options:0 attributes:attributes];
  NSLog(@"Capitalized rect: %@", NSStringFromRect(boundingRect));
  </code></pre>
  
  <p>Output: </p>
  
  <pre><code>Lowercase rect: {{0, -6}, {43.1953125, 33}}
  Uppercase rect: {{0, -6}, {128.44921875, 33}}
  Capitalized rect: {{0, -6}, {64.5, 33}}
  </code></pre>