--- a/apple/GemRB.xcodeproj/project.pbxproj
+++ b/apple/GemRB.xcodeproj/project.pbxproj
@@ -88,6 +88,7 @@
 		A226F44A13A11ABE009CE75E /* WEDImporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A27B877C139F0A7D0002DC13 /* WEDImporter.cpp */; };
 		A226F44B13A11AC3009CE75E /* WMPImporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A27B8781139F0A7D0002DC13 /* WMPImporter.cpp */; };
 		A226F44C13A11AC8009CE75E /* ZLibManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A27B8786139F0A7D0002DC13 /* ZLibManager.cpp */; };
+		A228D24916A86FA00053375D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A228D24816A86FA00053375D /* libiconv.dylib */; };
 		A22B5D611583D816007B4AA4 /* libFreetype2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A22B5D5D1583D816007B4AA4 /* libFreetype2.a */; };
 		A22B5D621583D816007B4AA4 /* libPython.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A22B5D5E1583D816007B4AA4 /* libPython.a */; };
 		A22B5D641583D816007B4AA4 /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A22B5D601583D816007B4AA4 /* libSDL2.a */; };
@@ -345,6 +346,13 @@
 		A29BF91313A04A6F00C812DD /* Objects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2BF9FD01395FF62006ADC12 /* Objects.cpp */; };
 		A29BF91413A04A6F00C812DD /* Triggers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2BF9FD11395FF62006ADC12 /* Triggers.cpp */; };
 		A2A26ADD15AA729800A8E25D /* VideoContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A26ADB15AA729800A8E25D /* VideoContext.cpp */; };
+		A2A2EA2F16A5EB4C0092B903 /* BAMFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A2EA2D16A5EB4C0092B903 /* BAMFont.cpp */; };
+		A2A2EA3016A5EB4C0092B903 /* BAMFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A2EA2D16A5EB4C0092B903 /* BAMFont.cpp */; };
+		A2A2EA3416A5EB630092B903 /* TTFFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A2EA3216A5EB630092B903 /* TTFFont.cpp */; };
+		A2A2EA3516A5EB630092B903 /* TTFFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A2EA3216A5EB630092B903 /* TTFFont.cpp */; };
+		A2A2EA3816A5FC860092B903 /* Freetype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A2EA3616A5FC860092B903 /* Freetype.cpp */; };
+		A2A2EA3916A5FC860092B903 /* Freetype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2A2EA3616A5FC860092B903 /* Freetype.cpp */; };
+		A2A2EA4716A76AE90092B903 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A2EA4516A76ACC0092B903 /* libiconv.dylib */; };
 		A2A3A7D914A505FD00F705CF /* CocoaWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = A2A3A7D814A505FD00F705CF /* CocoaWrapper.mm */; };
 		A2A3A7E514A5130F00F705CF /* CocoaMain.m in Sources */ = {isa = PBXBuildFile; fileRef = A2A3A7DF14A5130F00F705CF /* CocoaMain.m */; };
 		A2A3A7E614A5130F00F705CF /* GEM_ConfController.m in Sources */ = {isa = PBXBuildFile; fileRef = A2A3A7E114A5130F00F705CF /* GEM_ConfController.m */; };
@@ -1133,6 +1141,7 @@
 		8D1107320486CEB800E47090 /* GemRB.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GemRB.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A218A75114A8F3DB001142CF /* ../artwork/gemrb.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = ../artwork/gemrb.icns; sourceTree = "<group>"; };
 		A22693781422931B004468E8 /* CocoaWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CocoaWrapper.h; path = ../gemrb/includes/CocoaWrapper.h; sourceTree = "<group>"; };
+		A228D24816A86FA00053375D /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/libiconv.dylib; sourceTree = DEVELOPER_DIR; };
 		A22B5D5D1583D816007B4AA4 /* libFreetype2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libFreetype2.a; path = ios/lib/iphonesimulator/libFreetype2.a; sourceTree = "<group>"; };
 		A22B5D5E1583D816007B4AA4 /* libPython.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libPython.a; path = ios/lib/iphonesimulator/libPython.a; sourceTree = "<group>"; };
 		A22B5D601583D816007B4AA4 /* libSDL2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSDL2.a; path = ios/lib/iphonesimulator/libSDL2.a; sourceTree = "<group>"; };
@@ -1334,6 +1343,13 @@
 		A29BF85C13A0427900C812DD /* GemRB.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GemRB.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		A2A26ADB15AA729800A8E25D /* VideoContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VideoContext.cpp; path = ../VLCPlayer/VideoContext.cpp; sourceTree = "<group>"; };
 		A2A26ADC15AA729800A8E25D /* VideoContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoContext.h; path = ../VLCPlayer/VideoContext.h; sourceTree = "<group>"; };
+		A2A2EA2D16A5EB4C0092B903 /* BAMFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BAMFont.cpp; sourceTree = "<group>"; };
+		A2A2EA2E16A5EB4C0092B903 /* BAMFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BAMFont.h; sourceTree = "<group>"; };
+		A2A2EA3216A5EB630092B903 /* TTFFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TTFFont.cpp; sourceTree = "<group>"; };
+		A2A2EA3316A5EB630092B903 /* TTFFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TTFFont.h; sourceTree = "<group>"; };
+		A2A2EA3616A5FC860092B903 /* Freetype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Freetype.cpp; sourceTree = "<group>"; };
+		A2A2EA3716A5FC860092B903 /* Freetype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Freetype.h; sourceTree = "<group>"; };
+		A2A2EA4516A76ACC0092B903 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = /usr/lib/libiconv.dylib; sourceTree = "<absolute>"; };
 		A2A3A7D814A505FD00F705CF /* CocoaWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CocoaWrapper.mm; path = CocoaWrapper/mac/CocoaWrapper.mm; sourceTree = "<group>"; };
 		A2A3A7DF14A5130F00F705CF /* CocoaMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaMain.m; sourceTree = "<group>"; };
 		A2A3A7E014A5130F00F705CF /* GEM_ConfController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GEM_ConfController.h; sourceTree = "<group>"; };
@@ -1962,6 +1978,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				A2A2EA4716A76AE90092B903 /* libiconv.dylib in Frameworks */,
 				A29504721609721300BB22AA /* FreeType.framework in Frameworks */,
 				A29504731609721300BB22AA /* libgemrb_core.dylib in Frameworks */,
 			);
@@ -1989,6 +2006,7 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				A228D24916A86FA00053375D /* libiconv.dylib in Frameworks */,
 				A2374CA215F1486E002A1C8C /* libbz2.dylib in Frameworks */,
 				A288622214A5501F009AC280 /* libz.dylib in Frameworks */,
 				A288622014A54FFD009AC280 /* libarchive.dylib in Frameworks */,
@@ -2288,10 +2306,12 @@
 		A27B86AC139F0A7D0002DC13 /* BAMImporter */ = {
 			isa = PBXGroup;
 			children = (
+				A2A2EA2D16A5EB4C0092B903 /* BAMFont.cpp */,
+				A2A2EA2E16A5EB4C0092B903 /* BAMFont.h */,
+				A28D24A0143C24C100A27897 /* BAMFontManager.cpp */,
+				A28D24A3143C24E500A27897 /* BAMFontManager.h */,
 				A27B86AD139F0A7D0002DC13 /* BAMImporter.cpp */,
 				A27B86AE139F0A7D0002DC13 /* BAMImporter.h */,
-				A28D24A0143C24C100A27897 /* BAMFontManager.cpp */,
-				A28D24A3143C24E500A27897 /* BAMFontManager.h */,
 			);
 			path = BAMImporter;
 			sourceTree = "<group>";
@@ -2710,8 +2730,12 @@
 		A2A6A457146893CC000F1688 /* TTFImporter */ = {
 			isa = PBXGroup;
 			children = (
+				A2A2EA3216A5EB630092B903 /* TTFFont.cpp */,
+				A2A2EA3316A5EB630092B903 /* TTFFont.h */,
 				A2A6A459146893CC000F1688 /* TTFFontManager.cpp */,
 				A2A6A45A146893CC000F1688 /* TTFFontManager.h */,
+				A2A2EA3616A5FC860092B903 /* Freetype.cpp */,
+				A2A2EA3716A5FC860092B903 /* Freetype.h */,
 			);
 			path = TTFImporter;
 			sourceTree = "<group>";
@@ -3067,6 +3091,8 @@
 		A2E7985C14845B3F00B15DF4 /* dylibs */ = {
 			isa = PBXGroup;
 			children = (
+				A228D24816A86FA00053375D /* libiconv.dylib */,
+				A2A2EA4516A76ACC0092B903 /* libiconv.dylib */,
 				A288621F14A54FFD009AC280 /* libarchive.dylib */,
 				A288622114A5501F009AC280 /* libz.dylib */,
 				A273DC7B14856755000DA299 /* libz.dylib */,
@@ -4565,6 +4591,8 @@
 			buildActionMask = 2147483647;
 			files = (
 				A29504701609721300BB22AA /* TTFFontManager.cpp in Sources */,
+				A2A2EA3516A5EB630092B903 /* TTFFont.cpp in Sources */,
+				A2A2EA3916A5FC860092B903 /* Freetype.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -4584,6 +4612,7 @@
 			files = (
 				A2B0CCD61486FF780074E54B /* BAMFontManager.cpp in Sources */,
 				A29BF82B13A03DFC00C812DD /* BAMImporter.cpp in Sources */,
+				A2A2EA3016A5EB4C0092B903 /* BAMFont.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -4780,6 +4809,9 @@
 				A2CB5AC415000A0D00B5C154 /* File.cpp in Sources */,
 				A2DB6D5A15D9EE8C00D70E88 /* MessageWindowLogger.cpp in Sources */,
 				A2969F10168CDC0D00D9C6FC /* CombatInfo.cpp in Sources */,
+				A2A2EA2F16A5EB4C0092B903 /* BAMFont.cpp in Sources */,
+				A2A2EA3416A5EB630092B903 /* TTFFont.cpp in Sources */,
+				A2A2EA3816A5FC860092B903 /* Freetype.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6716,6 +6748,7 @@
 					"-W",
 					"-Wextra",
 					"-Wformat",
+					"-Wall",
 				);
 				SDKROOT = "";
 				"SDKROOT[arch=*]" = "";