Open up CoreText on iPhone SDK

Originator:jamesyjhu
Number:rdar://7109508 Date Originated:31-Jul-2009 12:54 PM
Status:Open Resolved:
Product:iPhone SDK Product Version:3.0
Classification:Enhancement Reproducible:Always
 
Summary:
The CoreText.framework is listed under PrivateFrameworks. Yet, through dynamically loading framework symbols, CoreText seems to implement all functions, and constants described in the 10.5 CoreText framework.

Steps to reproduce:
1. Create an iPhone View-based application.
2. In the AppDelegate.m file, add:
#import <dlfcn.h>
typedef uint32_t (*CTGetCoreTextVersionPtr)(void);
static CTGetCoreTextVersionPtr _CTGetCoreTextVersion = NULL;

3. In the applicationDidFinishLaunching method, add:
if (!_CTGetCoreTextVersion) {
    _CTGetCoreTextVersion = (CTGetCoreTextVersionPtr)dlsym(RTLD_DEFAULT, "CTGetCoreTextVersion");
}
if (_CTGetCoreTextVersion) {
    NSLog(@"%X", _CTGetCoreTextVersion());
}

Expected result:
Should output "20000", as per 10.5 developer docs

Actual result:
Outputs "30000", possibly meaning that this version implements the 10.5 implementation, and then some.

Notes:
Since Quartz2D drawing functions don't support advanced glyph rendering functionalities (character shaping, ligatures, etc.), doing low level text rendering with unicode is next to impossible without libraries like ATSUI or CoreText on the iPhone. Please open up CoreText.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!