diff --git a/AppKit/AppKit.xcodeproj/project.pbxproj b/AppKit/AppKit.xcodeproj/project.pbxproj index 7bfdc2f2..24af659d 100644 --- a/AppKit/AppKit.xcodeproj/project.pbxproj +++ b/AppKit/AppKit.xcodeproj/project.pbxproj @@ -3727,6 +3727,7 @@ 6E2B53240976075200DA0954 /* Classes */ = { isa = PBXGroup; children = ( + FEB0822A0FFB1F2800C27509 /* CoreText */, FEA317C10FD5893300F480D4 /* NSRaise.h */, 6E2B53FC0976075200DA0954 /* AppKit.h */, 6E2B53FA0976075200DA0954 /* AppKitExport.h */, @@ -4186,7 +4187,6 @@ FEAED79C0FD6C96E0043F915 /* KGDataConsumer.h */, FEAED79D0FD6C96E0043F915 /* KGDataConsumer.m */, FEAED7980FD6C95D0043F915 /* CGDataConsumer.m */, - FE337FC90EE77A6C00D4A751 /* CTFont.m */, FE25FF600EE58712009C91B1 /* KGFont.h */, FE25FF610EE58712009C91B1 /* KGFont.m */, FEF9CB780E13EB8E003502ED /* KGColorSpace+PDF.h */, @@ -4253,8 +4253,6 @@ FE64B8AA0B81239D007EE513 /* KGContext.m */, FE64B8AB0B81239D007EE513 /* KGDataProvider.h */, FE64B8AC0B81239D007EE513 /* KGDataProvider.m */, - FE89AF470C33679100CD21FB /* KTFont.h */, - FE89AF480C33679100CD21FB /* KTFont.m */, FE64B8AD0B81239D007EE513 /* KGFunction.h */, FE64B8AE0B81239D007EE513 /* KGFunction.m */, 6E2B55D10976075300DA0954 /* KGGraphicsState.h */, @@ -4758,6 +4756,17 @@ path = NSKeyValueBinding; sourceTree = ""; }; + FEB0822A0FFB1F2800C27509 /* CoreText */ = { + isa = PBXGroup; + children = ( + FE89AF470C33679100CD21FB /* KTFont.h */, + FE89AF480C33679100CD21FB /* KTFont.m */, + FE337FC90EE77A6C00D4A751 /* CTFont.m */, + ); + name = CoreText; + path = ../CoreText; + sourceTree = ""; + }; FECAF4C90DB710EE00BA2A8E /* Products */ = { isa = PBXGroup; children = ( @@ -7931,6 +7940,7 @@ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/CoreGraphics.subproj\""; OTHER_CFLAGS = ( "-DAPPKIT_INSIDE_BUILD", + "-DCORETEXT_INSIDE_BUILD", "-DCOREGRAPHICS_INSIDE_BUILD", "-D__LITTLE_ENDIAN__", "-Wreturn-type", @@ -7993,6 +8003,7 @@ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/CoreGraphics.subproj\""; OTHER_CFLAGS = ( "-DAPPKIT_INSIDE_BUILD", + "-DCORETEXT_INSIDE_BUILD", "-DCOREGRAPHICS_INSIDE_BUILD", "-D__LITTLE_ENDIAN__", "-DLINUX", @@ -8044,6 +8055,7 @@ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/CoreGraphics.subproj\""; OTHER_CFLAGS = ( "-DAPPKIT_INSIDE_BUILD", + "-DCORETEXT_INSIDE_BUILD", "-DCOREGRAPHICS_INSIDE_BUILD", "-D__LITTLE_ENDIAN__", "-DLINUX", @@ -8092,6 +8104,7 @@ LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/CoreGraphics.subproj\""; OTHER_CFLAGS = ( "-DAPPKIT_INSIDE_BUILD", + "-DCORETEXT_INSIDE_BUILD", "-DCOREGRAPHICS_INSIDE_BUILD", "-D__LITTLE_ENDIAN__", "-DDARWIN", @@ -8147,6 +8160,7 @@ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/CoreGraphics.subproj\""; OTHER_CFLAGS = ( "-DAPPKIT_INSIDE_BUILD", + "-DCORETEXT_INSIDE_BUILD", "-DCOREGRAPHICS_INSIDE_BUILD", "-D__LITTLE_ENDIAN__", "-DDARWIN", @@ -8193,6 +8207,7 @@ INSTALL_PATH = /Developer/Cocotron/1.0/Windows/i386/Frameworks; OTHER_CFLAGS = ( "-DAPPKIT_INSIDE_BUILD", + "-DCORETEXT_INSIDE_BUILD", "-DCOREGRAPHICS_INSIDE_BUILD", "-D__LITTLE_ENDIAN__", "-Wreturn-type", diff --git a/AppKit/Win32.subproj/KGContext_builtin_gdi.h b/AppKit/Win32.subproj/KGContext_builtin_gdi.h index 7a534579..c390f489 100644 --- a/AppKit/Win32.subproj/KGContext_builtin_gdi.h +++ b/AppKit/Win32.subproj/KGContext_builtin_gdi.h @@ -5,7 +5,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#import "../../CoreGraphics/KGContext_builtin.h" +#import #import @class Win32Font,KGDeviceContext_gdi; diff --git a/AppKit/Win32.subproj/KGContext_builtin_gdi.m b/AppKit/Win32.subproj/KGContext_builtin_gdi.m index 4bab186e..5bdd0d07 100644 --- a/AppKit/Win32.subproj/KGContext_builtin_gdi.m +++ b/AppKit/Win32.subproj/KGContext_builtin_gdi.m @@ -9,9 +9,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI #import #import "KGSurface_DIBSection.h" #import "KGDeviceContext_gdi.h" -#import "KTFont_gdi.h" -#import "../../CoreGraphics/KGColorSpace.h" -#import "../../CoreGraphics/KGColor.h" +#import "KGFont_gdi.h" +#import +#import #import @implementation KGContext_builtin_gdi @@ -61,45 +61,49 @@ static inline BOOL transformIsFlipped(CGAffineTransform matrix){ -(void)showGlyphs:(const CGGlyph *)glyphs count:(unsigned)count { CGAffineTransform transformToDevice=[self userSpaceToDeviceSpaceTransform]; - CGAffineTransform Trm=CGAffineTransformConcat([self currentState]->_textTransform,transformToDevice); + KGGraphicsState *gState=[self currentState]; + CGAffineTransform Trm=CGAffineTransformConcat(gState->_textTransform,transformToDevice); NSPoint point=CGPointApplyAffineTransform(NSMakePoint(0,0),Trm); SetTextColor(_dc,COLORREFFromColor([self fillColor])); - ExtTextOutW(_dc,point.x,point.y,ETO_GLYPH_INDEX,NULL,(void *)glyphs,count,NULL); + + ExtTextOutW(_dc,lroundf(point.x),lroundf(point.y),ETO_GLYPH_INDEX,NULL,(void *)glyphs,count,NULL); + + KGFont *font=[gState font]; + int i,advances[count]; + CGFloat unitsPerEm=CGFontGetUnitsPerEm(font); - KTFont_gdi *ktFont=[[self currentState] fontState]; - NSSize advancement=[ktFont advancementForNominalGlyphs:glyphs count:count]; + O2FontGetGlyphAdvances(font,glyphs,count,advances); - [self currentState]->_textTransform.tx+=advancement.width; - [self currentState]->_textTransform.ty+=advancement.height; + CGFloat total=0; + + for(i=0;i_pointSize; + + [self currentState]->_textTransform.tx+=total; + [self currentState]->_textTransform.ty+=0; } -(void)showText:(const char *)text length:(unsigned)length { - unichar unicode[length]; - CGGlyph glyphs[length]; - int i; + CGGlyph *encoding=[[self currentState] glyphTableForTextEncoding]; + CGGlyph glyphs[length]; + int i; -// FIX, encoding for(i=0;i #import #import -#import "KTFont_gdi.h" -#import "../../CoreGraphics/KGImage.h" +#import "KGFont_gdi.h" +#import #import #import #import @@ -190,17 +190,12 @@ static RECT NSRectToRECT(NSRect rect) { } -(void)establishFontStateInDevice { - KTFont *font=[[self currentState] fontState]; + KGGraphicsState *gState=[self currentState]; [_gdiFont release]; - _gdiFont=[[[self currentState] fontState] createGDIFontSelectedInDC:_dc]; + _gdiFont=[(KGFont_gdi *)[gState font] createGDIFontSelectedInDC:_dc pointSize:[gState pointSize]]; } -(void)establishFontState { - KGGraphicsState *state=[self currentState]; - KTFont *fontState=[[KTFont_gdi alloc] initWithFont:[state font] size:[state pointSize]]; - - [state setFontState:fontState]; - [fontState release]; [self establishFontStateInDevice]; } @@ -342,29 +337,39 @@ static RECT NSRectToRECT(NSRect rect) { -(void)showGlyphs:(const CGGlyph *)glyphs count:(unsigned)count { CGAffineTransform transformToDevice=[self userSpaceToDeviceSpaceTransform]; - CGAffineTransform Trm=CGAffineTransformConcat([self currentState]->_textTransform,transformToDevice); + KGGraphicsState *gState=[self currentState]; + CGAffineTransform Trm=CGAffineTransformConcat(gState->_textTransform,transformToDevice); NSPoint point=CGPointApplyAffineTransform(NSMakePoint(0,0),Trm); SetTextColor(_dc,COLORREFFromColor([self fillColor])); + ExtTextOutW(_dc,lroundf(point.x),lroundf(point.y),ETO_GLYPH_INDEX,NULL,(void *)glyphs,count,NULL); + + KGFont *font=[gState font]; + int i,advances[count]; + CGFloat unitsPerEm=CGFontGetUnitsPerEm(font); - KTFont_gdi *ktFont=[[self currentState] fontState]; - NSSize advancement=[ktFont advancementForNominalGlyphs:glyphs count:count]; + O2FontGetGlyphAdvances(font,glyphs,count,advances); - [self currentState]->_textTransform.tx+=advancement.width; - [self currentState]->_textTransform.ty+=advancement.height; + CGFloat total=0; + + for(i=0;i_pointSize; + + [self currentState]->_textTransform.tx+=total; + [self currentState]->_textTransform.ty+=0; } -(void)showText:(const char *)text length:(unsigned)length { - unichar unicode[length]; - CGGlyph glyphs[length]; - int i; + CGGlyph *encoding=[[self currentState] glyphTableForTextEncoding]; + CGGlyph glyphs[length]; + int i; -// FIX, encoding for(i=0;i +#import + +@class Win32Font; @interface KGFont_gdi : KGFont { + BOOL _useMacMetrics; unichar *_glyphsToCharacters; } +-(Win32Font *)createGDIFontSelectedInDC:(HDC)dc pointSize:(CGFloat)pointSize; + @end diff --git a/AppKit/Win32.subproj/KGFont_gdi.m b/AppKit/Win32.subproj/KGFont_gdi.m index 96fb57e2..5798f06f 100644 --- a/AppKit/Win32.subproj/KGFont_gdi.m +++ b/AppKit/Win32.subproj/KGFont_gdi.m @@ -3,6 +3,7 @@ #define _WIN32_WINNT 0x0501 #import #import +#import "Win32Font.h" @implementation KGFont(GDI) @@ -94,11 +95,13 @@ static HFONT Win32FontHandleWithName(NSString *name,int unitsPerEm){ _unitsPerEm=ttMetrics->otmEMSquare; if([name isEqualToString:@"Marlett"]){ + _useMacMetrics=NO; _ascent=ttMetrics->otmAscent; _descent=ttMetrics->otmDescent; _leading=ttMetrics->otmLineGap; } else { + _useMacMetrics=YES; _ascent=ttMetrics->otmMacAscent; _descent=ttMetrics->otmMacDescent; _leading=ttMetrics->otmMacLineGap; @@ -169,7 +172,6 @@ static HFONT Win32FontHandleWithName(NSString *name,int unitsPerEm){ for(i=max;--i>=0;){ CGGlyph glyph=glyphs[i]; - if(glyph<_numberOfGlyphs) _advances[glyph]=abc[i].abcfA+abc[i].abcfB+abc[i].abcfC; } @@ -179,6 +181,23 @@ static HFONT Win32FontHandleWithName(NSString *name,int unitsPerEm){ ReleaseDC(NULL,dc); } +-(Win32Font *)createGDIFontSelectedInDC:(HDC)dc pointSize:(CGFloat)pointSize { + if(_useMacMetrics){ + if (pointSize <= 10.0) + pointSize=pointSize; + else if (pointSize < 20.0) + pointSize=pointSize/(1.0 + 0.2*sqrtf(0.0390625*(pointSize - 10.0))); + else + pointSize=pointSize/1.125; + } + int height=(pointSize*GetDeviceCaps(dc,LOGPIXELSY))/72.0; + Win32Font *result=[[Win32Font alloc] initWithName:_name height:height antialias:NO]; + + SelectObject(dc,[result fontHandle]); + + return result; +} + // These are only used for PDF generation until we get PS glyph names working // They are both temporary and inaccurate @@ -230,21 +249,25 @@ static HFONT Win32FontHandleWithName(NSString *name,int unitsPerEm){ } } --(void)getMacRomanEncoding:(CGGlyph[256])encoding { - HDC dc=GetDC(NULL); - unichar characters[256]; - HANDLE library=LoadLibrary("GDI32"); - FARPROC getGlyphIndices=GetProcAddress(library,"GetGlyphIndicesW"); - int i; +-(CGGlyph *)MacRomanEncoding { + if(_MacRomanEncoding==NULL){ + HDC dc=GetDC(NULL); + unichar characters[256]; + HANDLE library=LoadLibrary("GDI32"); + FARPROC getGlyphIndices=GetProcAddress(library,"GetGlyphIndicesW"); + int i; - for(i=0;i<256;i++) - characters[i]=i; + _MacRomanEncoding=NSZoneMalloc(NULL,sizeof(CGGlyph)*256); + for(i=0;i<256;i++) + characters[i]=i; - HFONT font=Win32FontHandleWithName(_name,_unitsPerEm); - SelectObject(dc,font); - getGlyphIndices(dc,characters,256,encoding,0); - DeleteObject(font); - ReleaseDC(NULL,dc); + HFONT font=Win32FontHandleWithName(_name,_unitsPerEm); + SelectObject(dc,font); + getGlyphIndices(dc,characters,256,_MacRomanEncoding,0); + DeleteObject(font); + ReleaseDC(NULL,dc); + } + return _MacRomanEncoding; } @end diff --git a/AppKit/Win32.subproj/KGSurface_DIBSection.h b/AppKit/Win32.subproj/KGSurface_DIBSection.h index 7f1ed2ee..b9b9e028 100644 --- a/AppKit/Win32.subproj/KGSurface_DIBSection.h +++ b/AppKit/Win32.subproj/KGSurface_DIBSection.h @@ -5,7 +5,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#import "../../CoreGraphics/KGSurface.h" +#import @class KGDeviceContext_gdi,KGDeviceContext_gdiDIBSection; diff --git a/AppKit/Win32.subproj/KTFont_gdi.m b/AppKit/Win32.subproj/KTFont_gdi.m index ce74ab03..94b16f4e 100644 --- a/AppKit/Win32.subproj/KTFont_gdi.m +++ b/AppKit/Win32.subproj/KTFont_gdi.m @@ -3,6 +3,7 @@ #import "KGContext_gdi.h" #import "Win32Display.h" #import "Win32Font.h" +#import "KGFont_gdi.h" #import #import @@ -93,7 +94,7 @@ static inline CGGlyphMetrics *glyphInfoForGlyph(KTFont_gdi *self,CGGlyph glyph){ return; HDC dc=GetDC(NULL); - Win32Font *gdiFont=[self createGDIFontSelectedInDC:dc]; + Win32Font *gdiFont=[(KGFont_gdi *)_font createGDIFontSelectedInDC:dc pointSize:_size]; NSRange range=NSMakeRange(0,MAXUNICHAR); unichar characters[range.length]; unsigned short glyphs[range.length]; @@ -158,7 +159,7 @@ static inline CGGlyphMetrics *glyphInfoForGlyph(KTFont_gdi *self,CGGlyph glyph){ -(void)fetchGlyphKerning { HDC dc=GetDC(NULL); - Win32Font *gdiFont=[self createGDIFontSelectedInDC:dc]; + Win32Font *gdiFont=[(KGFont_gdi *)_font createGDIFontSelectedInDC:dc pointSize:_size]; int i,numberOfPairs=GetKerningPairs(dc,0,NULL); KERNINGPAIR pairs[numberOfPairs]; @@ -221,7 +222,7 @@ static inline CGGlyphMetrics *fetchGlyphInfoIfNeeded(KTFont_gdi *self,CGGlyph gl -(void)fetchAdvancementsForGlyph:(CGGlyph)glyph { HDC dc=GetDC(NULL); - Win32Font *gdiFont=[self createGDIFontSelectedInDC:dc]; + Win32Font *gdiFont=[(KGFont_gdi *)_font createGDIFontSelectedInDC:dc pointSize:_size]; ABCFLOAT *abc; int i,max; @@ -280,7 +281,7 @@ static inline CGGlyphMetrics *fetchGlyphAdvancementIfNeeded(KTFont_gdi *self,CGG -(void)fetchMetrics { HDC dc=GetDC(NULL); - Win32Font *gdiFont=[self createGDIFontSelectedInDC:dc]; + Win32Font *gdiFont=[(KGFont_gdi *)_font createGDIFontSelectedInDC:dc pointSize:_size]; TEXTMETRIC gdiMetrics; GetTextMetrics(dc,&gdiMetrics); @@ -589,7 +590,7 @@ NSLog(@"name=%@,size=%f",[NSString stringWithCString:fontData. elfLogFont.lfFace -(KGPath *)createPathForGlyph:(CGGlyph)glyph transform:(CGAffineTransform *)xform { KGMutablePath *result=[[KGMutablePath alloc] init]; HDC dc=GetDC(NULL); - Win32Font *gdiFont=[self createGDIFontSelectedInDC:dc]; + Win32Font *gdiFont=[(KGFont_gdi *)_font createGDIFontSelectedInDC:dc pointSize:_size]; int size=GetOutlineTextMetricsA(dc,0,NULL); if(size<=0){ diff --git a/ApplicationServices/ApplicationServices.h b/ApplicationServices/ApplicationServices.h index e8d8b6ea..f042c465 100644 --- a/ApplicationServices/ApplicationServices.h +++ b/ApplicationServices/ApplicationServices.h @@ -7,4 +7,4 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #import -#import +#import diff --git a/ApplicationServices/ApplicationServices.xcodeproj/project.pbxproj b/ApplicationServices/ApplicationServices.xcodeproj/project.pbxproj index 274035f0..55b73eee 100644 --- a/ApplicationServices/ApplicationServices.xcodeproj/project.pbxproj +++ b/ApplicationServices/ApplicationServices.xcodeproj/project.pbxproj @@ -117,6 +117,41 @@ remoteGlobalIDString = FED70FB70C3C09C7000CBE5B; remoteInfo = "Foundation-Darwin-ppc"; }; + FECF921E0FFB222D007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8DC2EF5B0486A6940098B216 /* CoreText.framework */; + remoteInfo = CoreText; + }; + FECF92530FFB2A2B007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = FECF923F0FFB29FF007AECF1 /* CoreGraphics.framework */; + remoteInfo = "CoreText-Linux-i386"; + }; + FECF92550FFB2A2B007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = FECF924F0FFB2A0D007AECF1 /* CoreGraphics.framework */; + remoteInfo = "CoreText-Darwin-i386"; + }; + FECF92930FFB2D44007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 8DC2EF4F0486A6940098B216 /* CoreText-Windows-i386 */; + remoteInfo = "CoreText-Windows-i386"; + }; + FECF92950FFB2D4B007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = FECF92310FFB29FF007AECF1 /* CoreText-Linux-i386 */; + remoteInfo = "CoreText-Linux-i386"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -129,6 +164,7 @@ FE32179C0BB41C65004F000A /* ApplicationServices.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ApplicationServices.h; sourceTree = ""; }; FEC11BB10FD4B86500082282 /* CoreGraphics.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreGraphics.xcodeproj; path = ../CoreGraphics/CoreGraphics.xcodeproj; sourceTree = SOURCE_ROOT; }; FECAF5010DB7119B00BA2A8E /* Foundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Foundation.xcodeproj; path = ../Foundation/Foundation.xcodeproj; sourceTree = SOURCE_ROOT; }; + FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreText.xcodeproj; path = ../CoreText/CoreText.xcodeproj; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -169,6 +205,7 @@ 0867D691FE84028FC02AAC07 /* ApplicationServices */ = { isa = PBXGroup; children = ( + FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */, FEC11BB10FD4B86500082282 /* CoreGraphics.xcodeproj */, FE32179C0BB41C65004F000A /* ApplicationServices.h */, 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, @@ -244,6 +281,16 @@ name = Products; sourceTree = ""; }; + FECF921B0FFB222D007AECF1 /* Products */ = { + isa = PBXGroup; + children = ( + FECF921F0FFB222D007AECF1 /* CoreText.framework */, + FECF92540FFB2A2B007AECF1 /* CoreGraphics.framework */, + FECF92560FFB2A2B007AECF1 /* CoreGraphics.framework */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -287,6 +334,7 @@ C88977360EA0C0CD00D0A0A2 /* PBXBuildRule */, ); dependencies = ( + FECF92960FFB2D4B007AECF1 /* PBXTargetDependency */, ); name = "ApplicationServices-Linux-i386"; productInstallPath = "$(HOME)/Library/Frameworks"; @@ -328,6 +376,7 @@ ); dependencies = ( FEC11BB80FD4B88800082282 /* PBXTargetDependency */, + FECF92940FFB2D44007AECF1 /* PBXTargetDependency */, ); name = "ApplicationServices-Windows-i386"; productInstallPath = "$(HOME)/Library/Frameworks"; @@ -351,6 +400,10 @@ ProductGroup = FEC11BB20FD4B86500082282 /* Products */; ProjectRef = FEC11BB10FD4B86500082282 /* CoreGraphics.xcodeproj */; }, + { + ProductGroup = FECF921B0FFB222D007AECF1 /* Products */; + ProjectRef = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */; + }, { ProductGroup = FECAF5020DB7119B00BA2A8E /* Products */; ProjectRef = FECAF5010DB7119B00BA2A8E /* Foundation.xcodeproj */; @@ -436,6 +489,27 @@ remoteRef = FECAF5120DB7119B00BA2A8E /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + FECF921F0FFB222D007AECF1 /* CoreText.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = CoreText.framework; + remoteRef = FECF921E0FFB222D007AECF1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FECF92540FFB2A2B007AECF1 /* CoreGraphics.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = CoreGraphics.framework; + remoteRef = FECF92530FFB2A2B007AECF1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FECF92560FFB2A2B007AECF1 /* CoreGraphics.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = CoreGraphics.framework; + remoteRef = FECF92550FFB2A2B007AECF1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -492,6 +566,16 @@ name = "CoreGraphics-Windows-i386"; targetProxy = FEC11BB70FD4B88800082282 /* PBXContainerItemProxy */; }; + FECF92940FFB2D44007AECF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CoreText-Windows-i386"; + targetProxy = FECF92930FFB2D44007AECF1 /* PBXContainerItemProxy */; + }; + FECF92960FFB2D4B007AECF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CoreText-Linux-i386"; + targetProxy = FECF92950FFB2D4B007AECF1 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ diff --git a/CoreGraphics/CGContext.h b/CoreGraphics/CGContext.h index efa2b549..310164dd 100755 --- a/CoreGraphics/CGContext.h +++ b/CoreGraphics/CGContext.h @@ -27,7 +27,8 @@ typedef KGContext *CGContextRef; @class NSDictionary; typedef enum { - kCGEncodingFontSpecific + kCGEncodingFontSpecific, + kCGEncodingMacRoman, } CGTextEncoding; typedef enum { diff --git a/CoreGraphics/CTFont.h b/CoreGraphics/CTFont.h deleted file mode 100644 index 8e366850..00000000 --- a/CoreGraphics/CTFont.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (c) 2007 Christopher J. W. Lloyd - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#import -#import -#import -#import -#import - -@class KTFont; - -typedef KTFont *CTFontRef; - -typedef enum { - kCTFontMenuTitleFontType, - kCTFontMenuItemFontType, -} CTFontUIFontType; - -COREGRAPHICS_EXPORT CTFontRef CTFontCreateWithGraphicsFont(CGFontRef cgFont,CGFloat size,CGAffineTransform *xform,id attributes); -COREGRAPHICS_EXPORT CTFontRef CTFontCreateUIFontForLanguage(CTFontUIFontType uiFontType,CGFloat size,NSString *language); -COREGRAPHICS_EXPORT NSString *CTFontCopyFullName(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetSize(CTFontRef self); -COREGRAPHICS_EXPORT size_t CTFontGetGlyphCount(CTFontRef self); -COREGRAPHICS_EXPORT BOOL CTFontGetGlyphsForCharacters(CTFontRef self,const unichar *characters,CGGlyph *glyphs,size_t count); -COREGRAPHICS_EXPORT CGRect CTFontGetBoundingBox(CTFontRef self); -COREGRAPHICS_EXPORT void CTFontGetAdvancesForGlyphs(CTFontRef self,int orientation,const CGGlyph *glyphs,CGSize *advances,size_t count); -COREGRAPHICS_EXPORT CGFloat CTFontGetUnderlinePosition(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetUnderlineThickness(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetAscent(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetDescent(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetLeading(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetSlantAngle(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetXHeight(CTFontRef self); -COREGRAPHICS_EXPORT CGFloat CTFontGetCapHeight(CTFontRef self); -COREGRAPHICS_EXPORT CGPathRef CTFontCreatePathForGlyph(CTFontRef self,CGGlyph glyph,CGAffineTransform *xform); diff --git a/CoreGraphics/CoreGraphics.xcodeproj/project.pbxproj b/CoreGraphics/CoreGraphics.xcodeproj/project.pbxproj index 38565d34..20a80fac 100644 --- a/CoreGraphics/CoreGraphics.xcodeproj/project.pbxproj +++ b/CoreGraphics/CoreGraphics.xcodeproj/project.pbxproj @@ -91,13 +91,10 @@ FE6F7B4B0FD554A800C3244F /* KGShading.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD70FD4B4D600082282 /* KGShading.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7B4C0FD554A800C3244F /* KGSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD90FD4B4D600082282 /* KGSurface.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7B4D0FD554A800C3244F /* KGzlib.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADB0FD4B4D600082282 /* KGzlib.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FE6F7B4F0FD554A800C3244F /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADF0FD4B4D600082282 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7B500FD554A800C3244F /* NSTIFFImageFileDirectory.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE10FD4B4D600082282 /* NSTIFFImageFileDirectory.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7B510FD554A800C3244F /* NSTIFFReader.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE30FD4B4D600082282 /* NSTIFFReader.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7B520FD554A800C3244F /* VGmath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE50FD4B4D600082282 /* VGmath.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7B530FD554A800C3244F /* VGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE60FD4B4D600082282 /* VGPath.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FE6F7B540FD554A800C3244F /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11C030FD4C2BB00082282 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FE6F7B550FD554A800C3244F /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11C040FD4C2BB00082282 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; }; FE6F7B580FD554A800C3244F /* CGAffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A390FD4B4D600082282 /* CGAffineTransform.m */; }; FE6F7B590FD554A800C3244F /* CGBitmapContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3B0FD4B4D600082282 /* CGBitmapContext.m */; }; FE6F7B5A0FD554A800C3244F /* CGColor.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3D0FD4B4D600082282 /* CGColor.m */; }; @@ -118,7 +115,6 @@ FE6F7B690FD554A800C3244F /* CGPDFPage.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5B0FD4B4D600082282 /* CGPDFPage.m */; }; FE6F7B6A0FD554A800C3244F /* CGShading.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5D0FD4B4D600082282 /* CGShading.m */; }; FE6F7B6B0FD554A800C3244F /* CGWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5F0FD4B4D600082282 /* CGWindow.m */; }; - FE6F7B6C0FD554A800C3244F /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A620FD4B4D600082282 /* CTFont.m */; }; FE6F7B6D0FD554A800C3244F /* gif_lib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A640FD4B4D600082282 /* gif_lib.m */; }; FE6F7B6E0FD554A800C3244F /* KGBitmapContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A660FD4B4D600082282 /* KGBitmapContext.m */; }; FE6F7B6F0FD554A800C3244F /* KGClipPhase.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A690FD4B4D600082282 /* KGClipPhase.m */; }; @@ -179,7 +175,6 @@ FE6F7BA60FD554A800C3244F /* KGShading.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD80FD4B4D600082282 /* KGShading.m */; }; FE6F7BA70FD554A800C3244F /* KGSurface.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADA0FD4B4D600082282 /* KGSurface.m */; }; FE6F7BA80FD554A800C3244F /* KGzlib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADC0FD4B4D600082282 /* KGzlib.m */; }; - FE6F7BAA0FD554A800C3244F /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE00FD4B4D600082282 /* KTFont.m */; }; FE6F7BAB0FD554A800C3244F /* NSTIFFImageFileDirectory.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE20FD4B4D600082282 /* NSTIFFImageFileDirectory.m */; }; FE6F7BAC0FD554A800C3244F /* NSTIFFReader.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE40FD4B4D600082282 /* NSTIFFReader.m */; }; FE6F7BAD0FD554A800C3244F /* VGPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE70FD4B4D600082282 /* VGPath.m */; }; @@ -268,13 +263,10 @@ FE6F7C300FD55FA300C3244F /* KGShading.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD70FD4B4D600082282 /* KGShading.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7C310FD55FA300C3244F /* KGSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD90FD4B4D600082282 /* KGSurface.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7C320FD55FA300C3244F /* KGzlib.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADB0FD4B4D600082282 /* KGzlib.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FE6F7C340FD55FA300C3244F /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADF0FD4B4D600082282 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7C350FD55FA300C3244F /* NSTIFFImageFileDirectory.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE10FD4B4D600082282 /* NSTIFFImageFileDirectory.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7C360FD55FA300C3244F /* NSTIFFReader.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE30FD4B4D600082282 /* NSTIFFReader.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7C370FD55FA300C3244F /* VGmath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE50FD4B4D600082282 /* VGmath.h */; settings = {ATTRIBUTES = (Private, ); }; }; FE6F7C380FD55FA300C3244F /* VGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE60FD4B4D600082282 /* VGPath.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FE6F7C390FD55FA300C3244F /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11C030FD4C2BB00082282 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FE6F7C3A0FD55FA300C3244F /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11C040FD4C2BB00082282 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; }; FE6F7C3D0FD55FA300C3244F /* CGAffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A390FD4B4D600082282 /* CGAffineTransform.m */; }; FE6F7C3E0FD55FA300C3244F /* CGBitmapContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3B0FD4B4D600082282 /* CGBitmapContext.m */; }; FE6F7C3F0FD55FA300C3244F /* CGColor.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3D0FD4B4D600082282 /* CGColor.m */; }; @@ -295,7 +287,6 @@ FE6F7C4E0FD55FA300C3244F /* CGPDFPage.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5B0FD4B4D600082282 /* CGPDFPage.m */; }; FE6F7C4F0FD55FA300C3244F /* CGShading.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5D0FD4B4D600082282 /* CGShading.m */; }; FE6F7C500FD55FA300C3244F /* CGWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5F0FD4B4D600082282 /* CGWindow.m */; }; - FE6F7C510FD55FA300C3244F /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A620FD4B4D600082282 /* CTFont.m */; }; FE6F7C520FD55FA300C3244F /* gif_lib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A640FD4B4D600082282 /* gif_lib.m */; }; FE6F7C530FD55FA300C3244F /* KGBitmapContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A660FD4B4D600082282 /* KGBitmapContext.m */; }; FE6F7C540FD55FA300C3244F /* KGClipPhase.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A690FD4B4D600082282 /* KGClipPhase.m */; }; @@ -356,7 +347,6 @@ FE6F7C8B0FD55FA300C3244F /* KGShading.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD80FD4B4D600082282 /* KGShading.m */; }; FE6F7C8C0FD55FA300C3244F /* KGSurface.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADA0FD4B4D600082282 /* KGSurface.m */; }; FE6F7C8D0FD55FA300C3244F /* KGzlib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADC0FD4B4D600082282 /* KGzlib.m */; }; - FE6F7C8F0FD55FA300C3244F /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE00FD4B4D600082282 /* KTFont.m */; }; FE6F7C900FD55FA300C3244F /* NSTIFFImageFileDirectory.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE20FD4B4D600082282 /* NSTIFFImageFileDirectory.m */; }; FE6F7C910FD55FA300C3244F /* NSTIFFReader.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE40FD4B4D600082282 /* NSTIFFReader.m */; }; FE6F7C920FD55FA300C3244F /* VGPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE70FD4B4D600082282 /* VGPath.m */; }; @@ -421,7 +411,6 @@ FEC11B0F0FD4B4D600082282 /* CGWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5F0FD4B4D600082282 /* CGWindow.m */; }; FEC11B100FD4B4D600082282 /* CoreGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A600FD4B4D600082282 /* CoreGraphics.h */; settings = {ATTRIBUTES = (Public, ); }; }; FEC11B110FD4B4D600082282 /* CoreGraphicsExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A610FD4B4D600082282 /* CoreGraphicsExport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FEC11B120FD4B4D600082282 /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A620FD4B4D600082282 /* CTFont.m */; }; FEC11B130FD4B4D600082282 /* gif_lib.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A630FD4B4D600082282 /* gif_lib.h */; settings = {ATTRIBUTES = (Private, ); }; }; FEC11B140FD4B4D600082282 /* gif_lib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A640FD4B4D600082282 /* gif_lib.m */; }; FEC11B150FD4B4D600082282 /* KGBitmapContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A650FD4B4D600082282 /* KGBitmapContext.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -544,8 +533,6 @@ FEC11B8A0FD4B4D600082282 /* KGSurface.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADA0FD4B4D600082282 /* KGSurface.m */; }; FEC11B8B0FD4B4D600082282 /* KGzlib.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADB0FD4B4D600082282 /* KGzlib.h */; settings = {ATTRIBUTES = (Private, ); }; }; FEC11B8C0FD4B4D600082282 /* KGzlib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADC0FD4B4D600082282 /* KGzlib.m */; }; - FEC11B8F0FD4B4D600082282 /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADF0FD4B4D600082282 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FEC11B900FD4B4D600082282 /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE00FD4B4D600082282 /* KTFont.m */; }; FEC11B910FD4B4D600082282 /* NSTIFFImageFileDirectory.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE10FD4B4D600082282 /* NSTIFFImageFileDirectory.h */; settings = {ATTRIBUTES = (Private, ); }; }; FEC11B920FD4B4D600082282 /* NSTIFFImageFileDirectory.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE20FD4B4D600082282 /* NSTIFFImageFileDirectory.m */; }; FEC11B930FD4B4D600082282 /* NSTIFFReader.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE30FD4B4D600082282 /* NSTIFFReader.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -554,8 +541,6 @@ FEC11B960FD4B4D600082282 /* VGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE60FD4B4D600082282 /* VGPath.h */; settings = {ATTRIBUTES = (Private, ); }; }; FEC11B970FD4B4D600082282 /* VGPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE70FD4B4D600082282 /* VGPath.m */; }; FEC11BA50FD4B83E00082282 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; }; - FEC11C050FD4C2BB00082282 /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11C030FD4C2BB00082282 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FEC11C060FD4C2BB00082282 /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11C040FD4C2BB00082282 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ @@ -714,7 +699,6 @@ FEC11A5F0FD4B4D600082282 /* CGWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CGWindow.m; sourceTree = ""; }; FEC11A600FD4B4D600082282 /* CoreGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreGraphics.h; sourceTree = ""; }; FEC11A610FD4B4D600082282 /* CoreGraphicsExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreGraphicsExport.h; sourceTree = ""; }; - FEC11A620FD4B4D600082282 /* CTFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTFont.m; sourceTree = ""; }; FEC11A630FD4B4D600082282 /* gif_lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gif_lib.h; sourceTree = ""; }; FEC11A640FD4B4D600082282 /* gif_lib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = gif_lib.m; sourceTree = ""; }; FEC11A650FD4B4D600082282 /* KGBitmapContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KGBitmapContext.h; sourceTree = ""; }; @@ -837,8 +821,6 @@ FEC11ADA0FD4B4D600082282 /* KGSurface.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KGSurface.m; sourceTree = ""; }; FEC11ADB0FD4B4D600082282 /* KGzlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KGzlib.h; sourceTree = ""; }; FEC11ADC0FD4B4D600082282 /* KGzlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KGzlib.m; sourceTree = ""; }; - FEC11ADF0FD4B4D600082282 /* KTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KTFont.h; sourceTree = ""; }; - FEC11AE00FD4B4D600082282 /* KTFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KTFont.m; sourceTree = ""; }; FEC11AE10FD4B4D600082282 /* NSTIFFImageFileDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSTIFFImageFileDirectory.h; sourceTree = ""; }; FEC11AE20FD4B4D600082282 /* NSTIFFImageFileDirectory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSTIFFImageFileDirectory.m; sourceTree = ""; }; FEC11AE30FD4B4D600082282 /* NSTIFFReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSTIFFReader.h; sourceTree = ""; }; @@ -846,8 +828,6 @@ FEC11AE50FD4B4D600082282 /* VGmath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VGmath.h; sourceTree = ""; }; FEC11AE60FD4B4D600082282 /* VGPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VGPath.h; sourceTree = ""; }; FEC11AE70FD4B4D600082282 /* VGPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VGPath.m; sourceTree = ""; }; - FEC11C030FD4C2BB00082282 /* CoreText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreText.h; sourceTree = ""; }; - FEC11C040FD4C2BB00082282 /* CTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTFont.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -938,9 +918,6 @@ FEC11A5F0FD4B4D600082282 /* CGWindow.m */, FEC11A600FD4B4D600082282 /* CoreGraphics.h */, FEC11A610FD4B4D600082282 /* CoreGraphicsExport.h */, - FEC11C030FD4C2BB00082282 /* CoreText.h */, - FEC11C040FD4C2BB00082282 /* CTFont.h */, - FEC11A620FD4B4D600082282 /* CTFont.m */, 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, FE6F7BC00FD5572F00C3244F /* Foundation.xcodeproj */, FEC11A630FD4B4D600082282 /* gif_lib.h */, @@ -1067,8 +1044,6 @@ FEC11ADA0FD4B4D600082282 /* KGSurface.m */, FEC11ADB0FD4B4D600082282 /* KGzlib.h */, FEC11ADC0FD4B4D600082282 /* KGzlib.m */, - FEC11ADF0FD4B4D600082282 /* KTFont.h */, - FEC11AE00FD4B4D600082282 /* KTFont.m */, FEC11AE10FD4B4D600082282 /* NSTIFFImageFileDirectory.h */, FEC11AE20FD4B4D600082282 /* NSTIFFImageFileDirectory.m */, FEC11AE30FD4B4D600082282 /* NSTIFFReader.h */, @@ -1219,13 +1194,10 @@ FEC11B870FD4B4D600082282 /* KGShading.h in Headers */, FEC11B890FD4B4D600082282 /* KGSurface.h in Headers */, FEC11B8B0FD4B4D600082282 /* KGzlib.h in Headers */, - FEC11B8F0FD4B4D600082282 /* KTFont.h in Headers */, FEC11B910FD4B4D600082282 /* NSTIFFImageFileDirectory.h in Headers */, FEC11B930FD4B4D600082282 /* NSTIFFReader.h in Headers */, FEC11B950FD4B4D600082282 /* VGmath.h in Headers */, FEC11B960FD4B4D600082282 /* VGPath.h in Headers */, - FEC11C050FD4C2BB00082282 /* CoreText.h in Headers */, - FEC11C060FD4C2BB00082282 /* CTFont.h in Headers */, FE9DB4610FD6C38300A1CE17 /* CGDataConsumer.h in Headers */, FEAED7100FD6C40E0043F915 /* KGDataConsumer.h in Headers */, FEAED71C0FD6C4460043F915 /* CGPDFContext.h in Headers */, @@ -1320,13 +1292,10 @@ FE6F7B4B0FD554A800C3244F /* KGShading.h in Headers */, FE6F7B4C0FD554A800C3244F /* KGSurface.h in Headers */, FE6F7B4D0FD554A800C3244F /* KGzlib.h in Headers */, - FE6F7B4F0FD554A800C3244F /* KTFont.h in Headers */, FE6F7B500FD554A800C3244F /* NSTIFFImageFileDirectory.h in Headers */, FE6F7B510FD554A800C3244F /* NSTIFFReader.h in Headers */, FE6F7B520FD554A800C3244F /* VGmath.h in Headers */, FE6F7B530FD554A800C3244F /* VGPath.h in Headers */, - FE6F7B540FD554A800C3244F /* CoreText.h in Headers */, - FE6F7B550FD554A800C3244F /* CTFont.h in Headers */, FE9DB4630FD6C38300A1CE17 /* CGDataConsumer.h in Headers */, FEAED7120FD6C40E0043F915 /* KGDataConsumer.h in Headers */, FEAED71E0FD6C4460043F915 /* CGPDFContext.h in Headers */, @@ -1421,13 +1390,10 @@ FE6F7C300FD55FA300C3244F /* KGShading.h in Headers */, FE6F7C310FD55FA300C3244F /* KGSurface.h in Headers */, FE6F7C320FD55FA300C3244F /* KGzlib.h in Headers */, - FE6F7C340FD55FA300C3244F /* KTFont.h in Headers */, FE6F7C350FD55FA300C3244F /* NSTIFFImageFileDirectory.h in Headers */, FE6F7C360FD55FA300C3244F /* NSTIFFReader.h in Headers */, FE6F7C370FD55FA300C3244F /* VGmath.h in Headers */, FE6F7C380FD55FA300C3244F /* VGPath.h in Headers */, - FE6F7C390FD55FA300C3244F /* CoreText.h in Headers */, - FE6F7C3A0FD55FA300C3244F /* CTFont.h in Headers */, FE9DB4650FD6C38300A1CE17 /* CGDataConsumer.h in Headers */, FEAED7140FD6C40E0043F915 /* KGDataConsumer.h in Headers */, FEAED7200FD6C4460043F915 /* CGPDFContext.h in Headers */, @@ -1627,7 +1593,6 @@ FEC11B0B0FD4B4D600082282 /* CGPDFPage.m in Sources */, FEC11B0D0FD4B4D600082282 /* CGShading.m in Sources */, FEC11B0F0FD4B4D600082282 /* CGWindow.m in Sources */, - FEC11B120FD4B4D600082282 /* CTFont.m in Sources */, FEC11B140FD4B4D600082282 /* gif_lib.m in Sources */, FEC11B160FD4B4D600082282 /* KGBitmapContext.m in Sources */, FEC11B190FD4B4D600082282 /* KGClipPhase.m in Sources */, @@ -1688,7 +1653,6 @@ FEC11B880FD4B4D600082282 /* KGShading.m in Sources */, FEC11B8A0FD4B4D600082282 /* KGSurface.m in Sources */, FEC11B8C0FD4B4D600082282 /* KGzlib.m in Sources */, - FEC11B900FD4B4D600082282 /* KTFont.m in Sources */, FEC11B920FD4B4D600082282 /* NSTIFFImageFileDirectory.m in Sources */, FEC11B940FD4B4D600082282 /* NSTIFFReader.m in Sources */, FEC11B970FD4B4D600082282 /* VGPath.m in Sources */, @@ -1722,7 +1686,6 @@ FE6F7B690FD554A800C3244F /* CGPDFPage.m in Sources */, FE6F7B6A0FD554A800C3244F /* CGShading.m in Sources */, FE6F7B6B0FD554A800C3244F /* CGWindow.m in Sources */, - FE6F7B6C0FD554A800C3244F /* CTFont.m in Sources */, FE6F7B6D0FD554A800C3244F /* gif_lib.m in Sources */, FE6F7B6E0FD554A800C3244F /* KGBitmapContext.m in Sources */, FE6F7B6F0FD554A800C3244F /* KGClipPhase.m in Sources */, @@ -1783,7 +1746,6 @@ FE6F7BA60FD554A800C3244F /* KGShading.m in Sources */, FE6F7BA70FD554A800C3244F /* KGSurface.m in Sources */, FE6F7BA80FD554A800C3244F /* KGzlib.m in Sources */, - FE6F7BAA0FD554A800C3244F /* KTFont.m in Sources */, FE6F7BAB0FD554A800C3244F /* NSTIFFImageFileDirectory.m in Sources */, FE6F7BAC0FD554A800C3244F /* NSTIFFReader.m in Sources */, FE6F7BAD0FD554A800C3244F /* VGPath.m in Sources */, @@ -1817,7 +1779,6 @@ FE6F7C4E0FD55FA300C3244F /* CGPDFPage.m in Sources */, FE6F7C4F0FD55FA300C3244F /* CGShading.m in Sources */, FE6F7C500FD55FA300C3244F /* CGWindow.m in Sources */, - FE6F7C510FD55FA300C3244F /* CTFont.m in Sources */, FE6F7C520FD55FA300C3244F /* gif_lib.m in Sources */, FE6F7C530FD55FA300C3244F /* KGBitmapContext.m in Sources */, FE6F7C540FD55FA300C3244F /* KGClipPhase.m in Sources */, @@ -1878,7 +1839,6 @@ FE6F7C8B0FD55FA300C3244F /* KGShading.m in Sources */, FE6F7C8C0FD55FA300C3244F /* KGSurface.m in Sources */, FE6F7C8D0FD55FA300C3244F /* KGzlib.m in Sources */, - FE6F7C8F0FD55FA300C3244F /* KTFont.m in Sources */, FE6F7C900FD55FA300C3244F /* NSTIFFImageFileDirectory.m in Sources */, FE6F7C910FD55FA300C3244F /* NSTIFFReader.m in Sources */, FE6F7C920FD55FA300C3244F /* VGPath.m in Sources */, diff --git a/CoreGraphics/Info.plist b/CoreGraphics/Info.plist index 0ec80c38..deb790fc 100644 --- a/CoreGraphics/Info.plist +++ b/CoreGraphics/Info.plist @@ -6,18 +6,18 @@ English CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleName - ${PRODUCT_NAME} CFBundleIconFile CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:identifier} + org.cocotron.${PRODUCT_NAME:identifier} CFBundleInfoDictionaryVersion 6.0 + CFBundleName + ${PRODUCT_NAME} CFBundlePackageType FMWK CFBundleSignature - ???? + OBJC CFBundleVersion 1.0 NSPrincipalClass diff --git a/CoreGraphics/KGContext.h b/CoreGraphics/KGContext.h index 6be0789d..32b8f392 100644 --- a/CoreGraphics/KGContext.h +++ b/CoreGraphics/KGContext.h @@ -131,7 +131,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI -(void)setFont:(KGFont *)font; -(void)setFontSize:(float)size; --(void)selectFontWithName:(const char *)name size:(float)size encoding:(int)encoding; +-(void)selectFontWithName:(const char *)name size:(float)size encoding:(CGTextEncoding)encoding; -(void)setShouldSmoothFonts:(BOOL)yesOrNo; -(void)setLineWidth:(float)width; diff --git a/CoreGraphics/KGContext.m b/CoreGraphics/KGContext.m index ba964a33..ab994017 100644 --- a/CoreGraphics/KGContext.m +++ b/CoreGraphics/KGContext.m @@ -633,7 +633,7 @@ static inline KGGraphicsState *currentState(KGContext *self){ [currentState(self) setFontSize:size]; } --(void)selectFontWithName:(const char *)name size:(float)size encoding:(int)encoding { +-(void)selectFontWithName:(const char *)name size:(float)size encoding:(CGTextEncoding)encoding { [currentState(self) selectFontWithName:name size:size encoding:encoding]; } diff --git a/CoreGraphics/KGFont+PDF.m b/CoreGraphics/KGFont+PDF.m index 4125b20b..dd255bfa 100644 --- a/CoreGraphics/KGFont+PDF.m +++ b/CoreGraphics/KGFont+PDF.m @@ -6,264 +6,7 @@ @implementation KGFont(PDF) -static NSString *MacRomanEncoding[256]={ -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@".notdef", -@"space", -@"exclam", -@"quotedbl", -@"numbersign", -@"dollar", -@"percent", -@"ampersand", -@"quotesingle", -@"parenleft", -@"parenright", -@"asterisk", -@"plus", -@"comma", -@"hyphen", -@"period", -@"slash", -@"zero", -@"one", -@"two", -@"three", -@"four", -@"five", -@"six", -@"seven", -@"eight", -@"nine", -@"colon", -@"semicolon", -@"less", -@"equal", -@"greater", -@"question", -@"at", -@"A", -@"B", -@"C", -@"D", -@"E", -@"F", -@"G", -@"H", -@"I", -@"J", -@"K", -@"L", -@"M", -@"N", -@"O", -@"P", -@"Q", -@"R", -@"S", -@"T", -@"U", -@"V", -@"W", -@"X", -@"Y", -@"Z", -@"bracketleft", -@"backslash", -@"bracketright", -@"asciicircum", -@"underscore", -@"grave", -@"a", -@"b", -@"c", -@"d", -@"e", -@"f", -@"g", -@"h", -@"i", -@"j", -@"k", -@"l", -@"m", -@"n", -@"o", -@"p", -@"q", -@"r", -@"s", -@"t", -@"u", -@"v", -@"w", -@"x", -@"y", -@"z", -@"braceleft", -@"bar", -@"braceright", -@"asciitilde", -@".notdef", -@"Adieresis", -@"Aring", -@"Ccedilla", -@"Eacute", -@"Ntilde", -@"Odieresis", -@"Udieresis", -@"aacute", -@"agrave", -@"acircumflex", -@"adieresis", -@"atilde", -@"aring", -@"ccedilla", -@"eacute", -@"egrave", -@"ecircumflex", -@"edieresis", -@"iacute", -@"igrave", -@"icircumflex", -@"idieresis", -@"ntilde", -@"oacute", -@"ograve", -@"ocircumflex", -@"odieresis", -@"otilde", -@"uacute", -@"ugrave", -@"ucircumflex", -@"udieresis", -@"dagger", -@"degree", -@"cent", -@"sterling", -@"section", -@"bullet", -@"paragraph", -@"germandbls", -@"registered", -@"copyright", -@"trademark", -@"acute", -@"dieresis", -@"notequal", -@"AE", -@"Oslash", -@"infinity", -@"plusminus", -@"lessequal", -@"greaterequal", -@"yen", -@"mu", -@"partialdiff", -@"summation", -@"product", -@"pi", -@"integral", -@"ordfeminine", -@"ordmasculine", -@"Omegagreek", -@"ae", -@"oslash", -@"questiondown", -@"exclamdown", -@"logicalnot", -@"radical", -@"florin", -@"approxequal", -@"Delta", -@"guillemotleft", -@"guillemotright", -@"ellipsis", -@"nobreakspace", -@"Agrave", -@"Atilde", -@"Otilde", -@"OE", -@"oe", -@"endash", -@"emdash", -@"quotedblleft", -@"quotedblright", -@"commaturnedmod", -@"apostrophemod", -@"divide", -@"lozenge", -@"ydieresis", -@"Ydieresis", -@"fraction", -@"Euro", -@"guilsinglleft", -@"guilsinglright", -@"fi", -@"fl", -@"daggerdbl", -@"periodcentered", -@"quotesinglbase", -@"quotedblbase", -@"perthousand", -@"Acircumflex", -@"Ecircumflex", -@"Aacute", -@"Edieresis", -@"Egrave", -@"Iacute", -@"Icircumflex", -@"Idieresis", -@"Igrave", -@"Oacute", -@"Ocircumflex", -@"apple", -@"Ograve", -@"Uacute", -@"Ucircumflex", -@"Ugrave", -@"dotlessi", -@"circumflex", -@"tilde", -@"macron", -@"breve", -@"dotaccent", -@"ring", -@"cedilla", -@"hungarumlaut", -@"ogonek", -@"caron", -}; +extern NSString *O2MacRomanGlyphNames[256]; uint8_t O2PDFMacRomanPositionOfGlyphName(NSString *name){ static NSDictionary *map=nil; @@ -272,7 +15,7 @@ uint8_t O2PDFMacRomanPositionOfGlyphName(NSString *name){ NSMutableDictionary *mutmap=[NSDictionary new]; int i; for(i=0;i<256;i++) - [mutmap setObject:[NSNumber numberWithInt:i] forKey:MacRomanEncoding[i]]; + [mutmap setObject:[NSNumber numberWithInt:i] forKey:O2MacRomanGlyphNames[i]]; map=mutmap; } @@ -343,24 +86,13 @@ KGPDFArray *O2FontCreatePDFWidthsWithEncoding(O2FontRef self,CGGlyph encoding[25 return result; } -// this is overriden for GDI --(void)getMacRomanEncoding:(CGGlyph[256])encoding { - int i; - - for(i=0;i<256;i++) - encoding[i]=O2FontGetGlyphWithGlyphName(self,MacRomanEncoding[i]); -} - -(KGPDFObject *)encodeReferenceWithContext:(KGPDFContext *)context size:(CGFloat)size { KGPDFObject *reference=[context referenceForFontWithName:self->_name size:size]; if(reference==nil){ KGPDFDictionary *result=[KGPDFDictionary pdfDictionary]; - CGGlyph encoding[256]; - int i; - - [self getMacRomanEncoding:encoding]; - + CGGlyph *encoding=[self MacRomanEncoding]; + int i; [result setNameForKey:"Type" value:"Font"]; [result setNameForKey:"Subtype" value:"TrueType"]; diff --git a/CoreGraphics/KGFont.h b/CoreGraphics/KGFont.h index 2e6bf453..988ba983 100644 --- a/CoreGraphics/KGFont.h +++ b/CoreGraphics/KGFont.h @@ -24,6 +24,7 @@ typedef KGFont *O2FontRef; CGRect _bbox; int _numberOfGlyphs; int *_advances; + CGGlyph *_MacRomanEncoding; } +(KGFont *)createWithFontName:(NSString *)name; @@ -36,6 +37,9 @@ typedef KGFont *O2FontRef; -(void)fetchAdvances; +-(CGGlyph *)MacRomanEncoding; +-(CGGlyph *)glyphTableForEncoding:(CGTextEncoding)encoding; + O2FontRef O2FontCreateWithFontName(NSString *name); O2FontRef O2FontRetain(O2FontRef self); void O2FontRelease(O2FontRef self); diff --git a/CoreGraphics/KGFont.m b/CoreGraphics/KGFont.m index d84008af..c10cd62f 100644 --- a/CoreGraphics/KGFont.m +++ b/CoreGraphics/KGFont.m @@ -17,6 +17,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI -(void)dealloc { [_name release]; + if(_advances!=NULL) + NSZoneFree(NULL,_advances); + if(_MacRomanEncoding!=NULL) + NSZoneFree(NULL,_MacRomanEncoding); [super dealloc]; } @@ -43,6 +47,281 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI KGInvalidAbstractInvocation(); } +NSString *O2MacRomanGlyphNames[256]={ +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@".notdef", +@"space", +@"exclam", +@"quotedbl", +@"numbersign", +@"dollar", +@"percent", +@"ampersand", +@"quotesingle", +@"parenleft", +@"parenright", +@"asterisk", +@"plus", +@"comma", +@"hyphen", +@"period", +@"slash", +@"zero", +@"one", +@"two", +@"three", +@"four", +@"five", +@"six", +@"seven", +@"eight", +@"nine", +@"colon", +@"semicolon", +@"less", +@"equal", +@"greater", +@"question", +@"at", +@"A", +@"B", +@"C", +@"D", +@"E", +@"F", +@"G", +@"H", +@"I", +@"J", +@"K", +@"L", +@"M", +@"N", +@"O", +@"P", +@"Q", +@"R", +@"S", +@"T", +@"U", +@"V", +@"W", +@"X", +@"Y", +@"Z", +@"bracketleft", +@"backslash", +@"bracketright", +@"asciicircum", +@"underscore", +@"grave", +@"a", +@"b", +@"c", +@"d", +@"e", +@"f", +@"g", +@"h", +@"i", +@"j", +@"k", +@"l", +@"m", +@"n", +@"o", +@"p", +@"q", +@"r", +@"s", +@"t", +@"u", +@"v", +@"w", +@"x", +@"y", +@"z", +@"braceleft", +@"bar", +@"braceright", +@"asciitilde", +@".notdef", +@"Adieresis", +@"Aring", +@"Ccedilla", +@"Eacute", +@"Ntilde", +@"Odieresis", +@"Udieresis", +@"aacute", +@"agrave", +@"acircumflex", +@"adieresis", +@"atilde", +@"aring", +@"ccedilla", +@"eacute", +@"egrave", +@"ecircumflex", +@"edieresis", +@"iacute", +@"igrave", +@"icircumflex", +@"idieresis", +@"ntilde", +@"oacute", +@"ograve", +@"ocircumflex", +@"odieresis", +@"otilde", +@"uacute", +@"ugrave", +@"ucircumflex", +@"udieresis", +@"dagger", +@"degree", +@"cent", +@"sterling", +@"section", +@"bullet", +@"paragraph", +@"germandbls", +@"registered", +@"copyright", +@"trademark", +@"acute", +@"dieresis", +@"notequal", +@"AE", +@"Oslash", +@"infinity", +@"plusminus", +@"lessequal", +@"greaterequal", +@"yen", +@"mu", +@"partialdiff", +@"summation", +@"product", +@"pi", +@"integral", +@"ordfeminine", +@"ordmasculine", +@"Omegagreek", +@"ae", +@"oslash", +@"questiondown", +@"exclamdown", +@"logicalnot", +@"radical", +@"florin", +@"approxequal", +@"Delta", +@"guillemotleft", +@"guillemotright", +@"ellipsis", +@"nobreakspace", +@"Agrave", +@"Atilde", +@"Otilde", +@"OE", +@"oe", +@"endash", +@"emdash", +@"quotedblleft", +@"quotedblright", +@"commaturnedmod", +@"apostrophemod", +@"divide", +@"lozenge", +@"ydieresis", +@"Ydieresis", +@"fraction", +@"Euro", +@"guilsinglleft", +@"guilsinglright", +@"fi", +@"fl", +@"daggerdbl", +@"periodcentered", +@"quotesinglbase", +@"quotedblbase", +@"perthousand", +@"Acircumflex", +@"Ecircumflex", +@"Aacute", +@"Edieresis", +@"Egrave", +@"Iacute", +@"Icircumflex", +@"Idieresis", +@"Igrave", +@"Oacute", +@"Ocircumflex", +@"apple", +@"Ograve", +@"Uacute", +@"Ucircumflex", +@"Ugrave", +@"dotlessi", +@"circumflex", +@"tilde", +@"macron", +@"breve", +@"dotaccent", +@"ring", +@"cedilla", +@"hungarumlaut", +@"ogonek", +@"caron", +}; + +-(CGGlyph *)MacRomanEncoding { + if(_MacRomanEncoding==NULL){ + int i; + + _MacRomanEncoding=NSZoneMalloc(NULL,sizeof(CGGlyph)*256); + + for(i=0;i<256;i++) + _MacRomanEncoding[i]=O2FontGetGlyphWithGlyphName(self,O2MacRomanGlyphNames[i]); + } + return _MacRomanEncoding; +} + +-(CGGlyph *)glyphTableForEncoding:(CGTextEncoding)encoding { + return [self MacRomanEncoding]; +} + O2FontRef O2FontCreateWithFontName(NSString *name) { return [[KGFont alloc] initWithFontName:name]; } diff --git a/CoreGraphics/KGGraphicsState.h b/CoreGraphics/KGGraphicsState.h index e16711a2..50761114 100755 --- a/CoreGraphics/KGGraphicsState.h +++ b/CoreGraphics/KGGraphicsState.h @@ -22,6 +22,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI KGColor *_fillColor; KGFont *_font; CGFloat _pointSize; + CGTextEncoding _textEncoding; id _fontState; CGSize _patternPhase; float _characterSpacing; @@ -91,11 +92,13 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI -(void)setTextDrawingMode:(int)textMode; -(KGFont *)font; -(CGFloat)pointSize; +-(CGTextEncoding)textEncoding; +-(CGGlyph *)glyphTableForTextEncoding; -(id)fontState; -(void)setFontState:(id)fontState; -(void)setFont:(KGFont *)font; -(void)setFontSize:(float)size; --(void)selectFontWithName:(const char *)name size:(float)size encoding:(int)encoding; +-(void)selectFontWithName:(const char *)name size:(float)size encoding:(CGTextEncoding)encoding; -(void)setShouldSmoothFonts:(BOOL)yesOrNo; -(void)setLineWidth:(float)width; diff --git a/CoreGraphics/KGGraphicsState.m b/CoreGraphics/KGGraphicsState.m index cd7a155c..0c961b0d 100755 --- a/CoreGraphics/KGGraphicsState.m +++ b/CoreGraphics/KGGraphicsState.m @@ -29,6 +29,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI _fillColor=[[KGColor alloc] init]; _font=nil; _pointSize=12.0; + _textEncoding=kCGEncodingFontSpecific; _fontState=nil; _patternPhase=CGSizeMake(0,0); _lineWidth=1.0; @@ -229,6 +230,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI return _pointSize; } +-(CGTextEncoding)textEncoding { + return _textEncoding; +} + +-(CGGlyph *)glyphTableForTextEncoding { + return [_font glyphTableForEncoding:_textEncoding]; +} + -(id)fontState { return _fontState; } @@ -249,7 +258,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI _pointSize=size; } --(void)selectFontWithName:(const char *)name size:(float)size encoding:(int)encoding { +-(void)selectFontWithName:(const char *)name size:(float)size encoding:(CGTextEncoding)encoding { KGFont *font=O2FontCreateWithFontName([NSString stringWithCString:name]); if(font!=nil){ @@ -258,6 +267,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI } _pointSize=size; + _textEncoding=encoding; } -(void)setShouldSmoothFonts:(BOOL)yesOrNo { diff --git a/CoreText/CTFont.h b/CoreText/CTFont.h new file mode 100644 index 00000000..22ba7d49 --- /dev/null +++ b/CoreText/CTFont.h @@ -0,0 +1,39 @@ +/* Copyright (c) 2007 Christopher J. W. Lloyd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#import +#import +#import +#import +#import + +@class KTFont; + +typedef KTFont *CTFontRef; + +typedef enum { + kCTFontMenuTitleFontType, + kCTFontMenuItemFontType, +} CTFontUIFontType; + +CORETEXT_EXPORT CTFontRef CTFontCreateWithGraphicsFont(CGFontRef cgFont,CGFloat size,CGAffineTransform *xform,id attributes); +CORETEXT_EXPORT CTFontRef CTFontCreateUIFontForLanguage(CTFontUIFontType uiFontType,CGFloat size,NSString *language); +CORETEXT_EXPORT NSString *CTFontCopyFullName(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetSize(CTFontRef self); +CORETEXT_EXPORT size_t CTFontGetGlyphCount(CTFontRef self); +CORETEXT_EXPORT BOOL CTFontGetGlyphsForCharacters(CTFontRef self,const unichar *characters,CGGlyph *glyphs,size_t count); +CORETEXT_EXPORT CGRect CTFontGetBoundingBox(CTFontRef self); +CORETEXT_EXPORT void CTFontGetAdvancesForGlyphs(CTFontRef self,int orientation,const CGGlyph *glyphs,CGSize *advances,size_t count); +CORETEXT_EXPORT CGFloat CTFontGetUnderlinePosition(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetUnderlineThickness(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetAscent(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetDescent(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetLeading(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetSlantAngle(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetXHeight(CTFontRef self); +CORETEXT_EXPORT CGFloat CTFontGetCapHeight(CTFontRef self); +CORETEXT_EXPORT CGPathRef CTFontCreatePathForGlyph(CTFontRef self,CGGlyph glyph,CGAffineTransform *xform); diff --git a/CoreGraphics/CTFont.m b/CoreText/CTFont.m similarity index 98% rename from CoreGraphics/CTFont.m rename to CoreText/CTFont.m index e0e0698d..3b56eaf4 100644 --- a/CoreGraphics/CTFont.m +++ b/CoreText/CTFont.m @@ -6,7 +6,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#import +#import #import "KTFont.h" CTFontRef CTFontCreateWithGraphicsFont(CGFontRef cgFont,CGFloat size,CGAffineTransform *xform,id attributes) { diff --git a/CoreText/CoreText.xcodeproj/project.pbxproj b/CoreText/CoreText.xcodeproj/project.pbxproj new file mode 100644 index 00000000..90489a10 --- /dev/null +++ b/CoreText/CoreText.xcodeproj/project.pbxproj @@ -0,0 +1,621 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + FECF92110FFB217F007AECF1 /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920B0FFB217F007AECF1 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92120FFB217F007AECF1 /* CoreTextExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920C0FFB217F007AECF1 /* CoreTextExport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92130FFB217F007AECF1 /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920D0FFB217F007AECF1 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92140FFB217F007AECF1 /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF920E0FFB217F007AECF1 /* CTFont.m */; }; + FECF92150FFB217F007AECF1 /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920F0FFB217F007AECF1 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FECF92160FFB217F007AECF1 /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF92100FFB217F007AECF1 /* KTFont.m */; }; + FECF92330FFB29FF007AECF1 /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920B0FFB217F007AECF1 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92340FFB29FF007AECF1 /* CoreTextExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920C0FFB217F007AECF1 /* CoreTextExport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92350FFB29FF007AECF1 /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920D0FFB217F007AECF1 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92360FFB29FF007AECF1 /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920F0FFB217F007AECF1 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FECF923A0FFB29FF007AECF1 /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF920E0FFB217F007AECF1 /* CTFont.m */; }; + FECF923B0FFB29FF007AECF1 /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF92100FFB217F007AECF1 /* KTFont.m */; }; + FECF92430FFB2A0D007AECF1 /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920B0FFB217F007AECF1 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92440FFB2A0D007AECF1 /* CoreTextExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920C0FFB217F007AECF1 /* CoreTextExport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92450FFB2A0D007AECF1 /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920D0FFB217F007AECF1 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FECF92460FFB2A0D007AECF1 /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920F0FFB217F007AECF1 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FECF924A0FFB2A0D007AECF1 /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF920E0FFB217F007AECF1 /* CTFont.m */; }; + FECF924B0FFB2A0D007AECF1 /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF92100FFB217F007AECF1 /* KTFont.m */; }; + FECF92870FFB2C32007AECF1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; }; + FECF92880FFB2C3A007AECF1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; }; + FECF92890FFB2C3B007AECF1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; }; + FECF928C0FFB2C5C007AECF1 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; }; + FECF928D0FFB2C5C007AECF1 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; }; + FECF928E0FFB2C5C007AECF1 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXBuildRule section */ + FECF92600FFB2B8F007AECF1 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = org.cocotron.1.0.windows.i386.gcc.default; + fileType = sourcecode.c; + isEditable = 1; + outputFiles = ( + ); + }; + FECF92610FFB2B8F007AECF1 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = org.cocotron.1.0.linux.i386.gcc.default; + fileType = sourcecode.c; + isEditable = 1; + outputFiles = ( + ); + }; +/* End PBXBuildRule section */ + +/* Begin PBXContainerItemProxy section */ + FECF92710FFB2BA7007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8DC2EF5B0486A6940098B216 /* CoreGraphics.framework */; + remoteInfo = "CoreGraphics-Windows-i386"; + }; + FECF92730FFB2BA7007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = FE6F7BB30FD554A800C3244F /* CoreGraphics.framework */; + remoteInfo = "CoreGraphics-Linux-i386"; + }; + FECF92750FFB2BA7007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = FE6F7C980FD55FA300C3244F /* CoreGraphics.framework */; + remoteInfo = "CoreGraphics-Darwin-i386"; + }; + FECF92770FFB2BB0007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 8DC2EF4F0486A6940098B216 /* CoreGraphics-Windows-i386 */; + remoteInfo = "CoreGraphics-Windows-i386"; + }; + FECF92790FFB2BB8007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = FE6F7AF80FD554A800C3244F /* CoreGraphics-Linux-i386 */; + remoteInfo = "CoreGraphics-Linux-i386"; + }; + FECF927B0FFB2BBF007AECF1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = FE6F7BDB0FD55FA300C3244F /* CoreGraphics-Darwin-i386 */; + remoteInfo = "CoreGraphics-Darwin-i386"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8DC2EF5B0486A6940098B216 /* CoreText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FECF920B0FFB217F007AECF1 /* CoreText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreText.h; sourceTree = ""; }; + FECF920C0FFB217F007AECF1 /* CoreTextExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreTextExport.h; sourceTree = ""; }; + FECF920D0FFB217F007AECF1 /* CTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTFont.h; sourceTree = ""; }; + FECF920E0FFB217F007AECF1 /* CTFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTFont.m; sourceTree = ""; }; + FECF920F0FFB217F007AECF1 /* KTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KTFont.h; sourceTree = ""; }; + FECF92100FFB217F007AECF1 /* KTFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KTFont.m; sourceTree = ""; }; + FECF923F0FFB29FF007AECF1 /* CoreText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FECF924F0FFB2A0D007AECF1 /* CoreText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreGraphics.xcodeproj; path = ../CoreGraphics/CoreGraphics.xcodeproj; sourceTree = SOURCE_ROOT; }; + FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Cocotron/1.0/Windows/i386/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8DC2EF560486A6940098B216 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92870FFB2C32007AECF1 /* Foundation.framework in Frameworks */, + FECF928C0FFB2C5C007AECF1 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF923C0FFB29FF007AECF1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92880FFB2C3A007AECF1 /* Foundation.framework in Frameworks */, + FECF928E0FFB2C5C007AECF1 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF924C0FFB2A0D007AECF1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92890FFB2C3B007AECF1 /* Foundation.framework in Frameworks */, + FECF928D0FFB2C5C007AECF1 /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 034768DFFF38A50411DB9C8B /* Products */ = { + isa = PBXGroup; + children = ( + 8DC2EF5B0486A6940098B216 /* CoreText.framework */, + FECF923F0FFB29FF007AECF1 /* CoreText.framework */, + FECF924F0FFB2A0D007AECF1 /* CoreText.framework */, + ); + name = Products; + sourceTree = ""; + }; + 0867D691FE84028FC02AAC07 /* CoreText */ = { + isa = PBXGroup; + children = ( + FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */, + 08FB77AEFE84172EC02AAC07 /* Classes */, + 32C88DFF0371C24200C91783 /* Other Sources */, + 089C1665FE841158C02AAC07 /* Resources */, + 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, + 034768DFFF38A50411DB9C8B /* Products */, + ); + name = CoreText; + sourceTree = ""; + }; + 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */, + 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */, + 1058C7B2FEA5585E11CA2CBB /* Other Frameworks */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C1665FE841158C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8DC2EF5A0486A6940098B216 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77AEFE84172EC02AAC07 /* Classes */ = { + isa = PBXGroup; + children = ( + FECF920B0FFB217F007AECF1 /* CoreText.h */, + FECF920C0FFB217F007AECF1 /* CoreTextExport.h */, + FECF920D0FFB217F007AECF1 /* CTFont.h */, + FECF920E0FFB217F007AECF1 /* CTFont.m */, + FECF920F0FFB217F007AECF1 /* KTFont.h */, + FECF92100FFB217F007AECF1 /* KTFont.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 0867D69BFE84028FC02AAC07 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 32C88DFF0371C24200C91783 /* Other Sources */ = { + isa = PBXGroup; + children = ( + ); + name = "Other Sources"; + sourceTree = ""; + }; + FECF926C0FFB2BA7007AECF1 /* Products */ = { + isa = PBXGroup; + children = ( + FECF92720FFB2BA7007AECF1 /* CoreGraphics.framework */, + FECF92740FFB2BA7007AECF1 /* CoreGraphics.framework */, + FECF92760FFB2BA7007AECF1 /* CoreGraphics.framework */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8DC2EF500486A6940098B216 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92110FFB217F007AECF1 /* CoreText.h in Headers */, + FECF92120FFB217F007AECF1 /* CoreTextExport.h in Headers */, + FECF92130FFB217F007AECF1 /* CTFont.h in Headers */, + FECF92150FFB217F007AECF1 /* KTFont.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF92320FFB29FF007AECF1 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92330FFB29FF007AECF1 /* CoreText.h in Headers */, + FECF92340FFB29FF007AECF1 /* CoreTextExport.h in Headers */, + FECF92350FFB29FF007AECF1 /* CTFont.h in Headers */, + FECF92360FFB29FF007AECF1 /* KTFont.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF92420FFB2A0D007AECF1 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92430FFB2A0D007AECF1 /* CoreText.h in Headers */, + FECF92440FFB2A0D007AECF1 /* CoreTextExport.h in Headers */, + FECF92450FFB2A0D007AECF1 /* CTFont.h in Headers */, + FECF92460FFB2A0D007AECF1 /* KTFont.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8DC2EF4F0486A6940098B216 /* CoreText-Windows-i386 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreText-Windows-i386" */; + buildPhases = ( + 8DC2EF500486A6940098B216 /* Headers */, + 8DC2EF520486A6940098B216 /* Resources */, + 8DC2EF540486A6940098B216 /* Sources */, + 8DC2EF560486A6940098B216 /* Frameworks */, + ); + buildRules = ( + FECF92600FFB2B8F007AECF1 /* PBXBuildRule */, + ); + dependencies = ( + FECF92780FFB2BB0007AECF1 /* PBXTargetDependency */, + ); + name = "CoreText-Windows-i386"; + productInstallPath = "$(HOME)/Library/Frameworks"; + productName = CoreText; + productReference = 8DC2EF5B0486A6940098B216 /* CoreText.framework */; + productType = "com.apple.product-type.framework"; + }; + FECF92310FFB29FF007AECF1 /* CoreText-Linux-i386 */ = { + isa = PBXNativeTarget; + buildConfigurationList = FECF923D0FFB29FF007AECF1 /* Build configuration list for PBXNativeTarget "CoreText-Linux-i386" */; + buildPhases = ( + FECF92320FFB29FF007AECF1 /* Headers */, + FECF92370FFB29FF007AECF1 /* Resources */, + FECF92390FFB29FF007AECF1 /* Sources */, + FECF923C0FFB29FF007AECF1 /* Frameworks */, + ); + buildRules = ( + FECF92610FFB2B8F007AECF1 /* PBXBuildRule */, + ); + dependencies = ( + FECF927A0FFB2BB8007AECF1 /* PBXTargetDependency */, + ); + name = "CoreText-Linux-i386"; + productInstallPath = "$(HOME)/Library/Frameworks"; + productName = CoreText; + productReference = FECF923F0FFB29FF007AECF1 /* CoreText.framework */; + productType = "com.apple.product-type.framework"; + }; + FECF92410FFB2A0D007AECF1 /* CoreText-Darwin-i386 */ = { + isa = PBXNativeTarget; + buildConfigurationList = FECF924D0FFB2A0D007AECF1 /* Build configuration list for PBXNativeTarget "CoreText-Darwin-i386" */; + buildPhases = ( + FECF92420FFB2A0D007AECF1 /* Headers */, + FECF92470FFB2A0D007AECF1 /* Resources */, + FECF92490FFB2A0D007AECF1 /* Sources */, + FECF924C0FFB2A0D007AECF1 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + FECF927C0FFB2BBF007AECF1 /* PBXTargetDependency */, + ); + name = "CoreText-Darwin-i386"; + productInstallPath = "$(HOME)/Library/Frameworks"; + productName = CoreText; + productReference = FECF924F0FFB2A0D007AECF1 /* CoreText.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0867D690FE84028FC02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreText" */; + compatibilityVersion = "Xcode 3.1"; + hasScannedForEncodings = 1; + mainGroup = 0867D691FE84028FC02AAC07 /* CoreText */; + productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = FECF926C0FFB2BA7007AECF1 /* Products */; + ProjectRef = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8DC2EF4F0486A6940098B216 /* CoreText-Windows-i386 */, + FECF92310FFB29FF007AECF1 /* CoreText-Linux-i386 */, + FECF92410FFB2A0D007AECF1 /* CoreText-Darwin-i386 */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + FECF92720FFB2BA7007AECF1 /* CoreGraphics.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = CoreGraphics.framework; + remoteRef = FECF92710FFB2BA7007AECF1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FECF92740FFB2BA7007AECF1 /* CoreGraphics.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = CoreGraphics.framework; + remoteRef = FECF92730FFB2BA7007AECF1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + FECF92760FFB2BA7007AECF1 /* CoreGraphics.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = CoreGraphics.framework; + remoteRef = FECF92750FFB2BA7007AECF1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8DC2EF520486A6940098B216 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF92370FFB29FF007AECF1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF92470FFB2A0D007AECF1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8DC2EF540486A6940098B216 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF92140FFB217F007AECF1 /* CTFont.m in Sources */, + FECF92160FFB217F007AECF1 /* KTFont.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF92390FFB29FF007AECF1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF923A0FFB29FF007AECF1 /* CTFont.m in Sources */, + FECF923B0FFB29FF007AECF1 /* KTFont.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FECF92490FFB2A0D007AECF1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FECF924A0FFB2A0D007AECF1 /* CTFont.m in Sources */, + FECF924B0FFB2A0D007AECF1 /* KTFont.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + FECF92780FFB2BB0007AECF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CoreGraphics-Windows-i386"; + targetProxy = FECF92770FFB2BB0007AECF1 /* PBXContainerItemProxy */; + }; + FECF927A0FFB2BB8007AECF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CoreGraphics-Linux-i386"; + targetProxy = FECF92790FFB2BB8007AECF1 /* PBXContainerItemProxy */; + }; + FECF927C0FFB2BBF007AECF1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CoreGraphics-Darwin-i386"; + targetProxy = FECF927B0FFB2BBF007AECF1 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 1DEB91AF08733DA50010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = i386; + DEPLOYMENT_LOCATION = YES; + DEPLOYMENT_POSTPROCESSING = YES; + DSTROOT = /; + EXECUTABLE_SUFFIX = .1.0.dll; + FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/Windows/i386/Frameworks; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_ENABLE_CPP_RTTI = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + INFOPLIST_FILE = Info.plist; + INSTALL_MODE_FLAG = "og-w,a+rX"; + INSTALL_PATH = /Developer/Cocotron/1.0/Windows/i386/Frameworks; + OTHER_CFLAGS = ( + "-DCORETEXT_INSIDE_BUILD", + "-D__LITTLE_ENDIAN__", + "-Wreturn-type", + ); + OTHER_LDFLAGS = ( + "-shared", + "-lgdi32", + "-Wl,--enable-auto-import", + "-Wl,--export-all-symbols", + "-Wl,--image-base=0x20000000", + "-Wl,--out-implib,$TARGET_BUILD_DIR/CoreText.framework/libCoreText.a", + ); + PREBINDING = NO; + PRODUCT_NAME = CoreText; + STRIP_INSTALLED_PRODUCT = YES; + SYMROOT = /Developer/Cocotron/1.0/build/CoreText/Windows; + }; + name = Release; + }; + 1DEB91B308733DA50010E9CD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Release; + }; + FECF923E0FFB29FF007AECF1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = i386; + DEPLOYMENT_LOCATION = YES; + DEPLOYMENT_POSTPROCESSING = YES; + DSTROOT = /; + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .so; + FRAMEWORK_SEARCH_PATHS = ( + /Developer/Cocotron/1.0/Linux/i386/Frameworks, + "\"$(DEVELOPER_DIR)/Cocotron/1.0/Windows/i386/Frameworks\"", + ); + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_ENABLE_CPP_RTTI = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + INFOPLIST_FILE = Info.plist; + INSTALL_MODE_FLAG = "og-w,a+rX"; + INSTALL_PATH = /Developer/Cocotron/1.0/Linux/i386/Frameworks; + OTHER_CFLAGS = ( + "-DCORETEXT_INSIDE_BUILD", + "-D__LITTLE_ENDIAN__", + "-Wreturn-type", + ); + OTHER_LDFLAGS = ( + "-shared", + "-lm", + ); + PREBINDING = NO; + PRODUCT_NAME = CoreText; + STRIP_INSTALLED_PRODUCT = YES; + SYMROOT = /Developer/Cocotron/1.0/build/CoreText/Linux; + }; + name = Release; + }; + FECF924E0FFB2A0D007AECF1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = i386; + DEPLOYMENT_LOCATION = YES; + DEPLOYMENT_POSTPROCESSING = YES; + DSTROOT = /; + EXECUTABLE_PREFIX = lib; + EXECUTABLE_SUFFIX = .so; + FRAMEWORK_SEARCH_PATHS = ( + /Developer/Cocotron/1.0/Darwin/i386/Frameworks, + "\"$(DEVELOPER_DIR)/Cocotron/1.0/Windows/i386/Frameworks\"", + ); + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_ENABLE_CPP_RTTI = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + INFOPLIST_FILE = Info.plist; + INSTALL_MODE_FLAG = "og-w,a+rX"; + INSTALL_PATH = /Developer/Cocotron/1.0/Darwin/i386/Frameworks; + OTHER_CFLAGS = ( + "-DCORETEXT_INSIDE_BUILD", + "-D__LITTLE_ENDIAN__", + "-Wreturn-type", + ); + OTHER_LDFLAGS = ( + "-shared", + "-lm", + ); + PREBINDING = NO; + PRODUCT_NAME = CoreText; + STRIP_INSTALLED_PRODUCT = YES; + SYMROOT = /Developer/Cocotron/1.0/build/CoreText/Darwin; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreText-Windows-i386" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB91AF08733DA50010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreText" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB91B308733DA50010E9CD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FECF923D0FFB29FF007AECF1 /* Build configuration list for PBXNativeTarget "CoreText-Linux-i386" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FECF923E0FFB29FF007AECF1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FECF924D0FFB2A0D007AECF1 /* Build configuration list for PBXNativeTarget "CoreText-Darwin-i386" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FECF924E0FFB2A0D007AECF1 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0867D690FE84028FC02AAC07 /* Project object */; +} diff --git a/CoreText/Info.plist b/CoreText/Info.plist new file mode 100644 index 00000000..deb790fc --- /dev/null +++ b/CoreText/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + org.cocotron.${PRODUCT_NAME:identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleSignature + OBJC + CFBundleVersion + 1.0 + NSPrincipalClass + + + diff --git a/CoreGraphics/KTFont.h b/CoreText/KTFont.h similarity index 97% rename from CoreGraphics/KTFont.h rename to CoreText/KTFont.h index dcae58ac..63ef8283 100644 --- a/CoreGraphics/KTFont.h +++ b/CoreText/KTFont.h @@ -7,11 +7,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #import #import -#ifdef SWRENDER #import -#else -#import -#endif enum { CGNullGlyph=0x0 diff --git a/CoreGraphics/KTFont.m b/CoreText/KTFont.m similarity index 98% rename from CoreGraphics/KTFont.m rename to CoreText/KTFont.m index ddbb9a16..f7f0a5df 100644 --- a/CoreGraphics/KTFont.m +++ b/CoreText/KTFont.m @@ -6,7 +6,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #import "KTFont.h" -#import "KGExceptions.h" +#import #import @implementation KTFont