Hi David,

Thanks so much for the bump in the right direction.  We're now using 
NSGraphicsContext + NSString drawAtPoint for a quick and simple solution and it 
seems to be working great.

-Stevo


On Aug 11, 2011, at 11:04 AM, David Duncan wrote:

> On Aug 11, 2011, at 10:57 AM, Stevo Brock wrote:
> 
>> We have an existing PDF Report creation module in one of our apps that is 
>> working great...  for English text.  This is what we are doing:
>> 
>>      NSFont* font = [NSFont fontWithName:@"Helvetica" size:12.0];
>>      CGContextSelectFont(state->mContextRef, [[font fontName] UTF8String], 
>> [font pointSize], kCGEncodingMacRoman);
>> 
>>      NSData* data = [string dataUsingEncoding:NSMacOSRomanStringEncoding];
>>      CGContextShowTextAtPoint(state->mContextRef, drawPt.x, drawPt.y, 
>> (char*) data.bytes, data.length);
>> 
>> We have a user who is entering Chinese text, which is obviously not making 
>> it to the PDF through this mechanism.
> 
> Chinese text (and most non-Western text) can't be represented in MacRoman. As 
> a general rule, this method of drawing text is highly discouraged, at minimum 
> because of its limited text support.
> 
>> What is the recommended approach for taking an NSString* of text and drawing 
>> it to a CGContextRef where the text may contain characters of any language?
> 
> 
> For simple needs, the NSString additions (on either Mac OS X or iOS) would be 
> recommended. There are platform specific methods for making a CGContextRef 
> current. For more complex needs, NSLayoutManager (Mac OS X only) or Core Text 
> (both) can be used as well.
> --
> David Duncan
> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to