Title: [118798] trunk/Source/WebCore
Revision
118798
Author
[email protected]
Date
2012-05-29 09:52:42 -0700 (Tue, 29 May 2012)

Log Message

[Mac] Move DefaultFonts.plist to C++ code
https://bugs.webkit.org/show_bug.cgi?id=87560
<rdar://problem/11466119>

Reviewed by Dan Bernstein.

* DerivedSources.make:
* Resources/DefaultFonts.plist.in: Removed.
* WebCore.xcodeproj/project.pbxproj:
* page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
Instead of having a separate configuration file, just hardcode the settings in C++.

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (118797 => 118798)


--- trunk/Source/WebCore/ChangeLog	2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/ChangeLog	2012-05-29 16:52:42 UTC (rev 118798)
@@ -1,3 +1,17 @@
+2012-05-29  Alexey Proskuryakov  <[email protected]>
+
+        [Mac] Move DefaultFonts.plist to C++ code
+        https://bugs.webkit.org/show_bug.cgi?id=87560
+        <rdar://problem/11466119>
+
+        Reviewed by Dan Bernstein.
+
+        * DerivedSources.make:
+        * Resources/DefaultFonts.plist.in: Removed.
+        * WebCore.xcodeproj/project.pbxproj:
+        * page/mac/SettingsMac.mm: (WebCore::Settings::initializeDefaultFontFamilies):
+        Instead of having a separate configuration file, just hardcode the settings in C++.
+
 2012-05-29  Alexei Filippov  <[email protected]>
 
         Web Inspector: Retainers are missing for all objects

Modified: trunk/Source/WebCore/DerivedSources.make (118797 => 118798)


--- trunk/Source/WebCore/DerivedSources.make	2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/DerivedSources.make	2012-05-29 16:52:42 UTC (rev 118798)
@@ -34,7 +34,6 @@
     $(WebCore)/Modules/webaudio \
     $(WebCore)/Modules/webdatabase \
     $(WebCore)/Modules/websockets \
-    $(WebCore)/Resources \
     $(WebCore)/bindings/generic \
     $(WebCore)/bindings/js \
     $(WebCore)/bindings/objc \
@@ -669,12 +668,6 @@
     ENABLE_ORIENTATION_EVENTS = 0
 endif
 
-all: DefaultFonts.plist
-
-DefaultFonts.plist : DefaultFonts.plist.in
-	@echo Pre-processing DefaultFonts.plist...
-	$(CC) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" $< > $@
-
 else
 
 ifndef ENABLE_DASHBOARD_SUPPORT

Deleted: trunk/Source/WebCore/Resources/DefaultFonts.plist.in (118797 => 118798)


--- trunk/Source/WebCore/Resources/DefaultFonts.plist.in	2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/Resources/DefaultFonts.plist.in	2012-05-29 16:52:42 UTC (rev 118798)
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-    <key>hant</key> <!-- Traditional Chinese -->
-    <dict>
-        <key>monospace</key>
-        <string>Heiti TC</string>
-        <key>standard</key>
-        <string>Apple LiSung</string>
-        <key>sans-serif</key>
-        <string>Heiti TC</string>
-        <key>serif</key>
-        <string>Apple LiSung</string>
-    </dict>
-    <key>hans</key> <!-- Simplified Chinese -->
-    <dict>
-        <key>monospace</key>
-        <string>Heiti SC</string>
-        <key>standard</key>
-        <string>STSong</string>
-        <key>sans-serif</key>
-        <string>Heiti SC</string>
-        <key>serif</key>
-        <string>STSong</string>
-    </dict>
-    <key>hrkt</key>  <!-- Japanese -->
-    <dict>
-        <key>monospace</key>
-        <string>Osaka-Mono</string>
-        <key>standard</key>
-        <string>Hiragino Mincho ProN</string>
-        <key>sans-serif</key>
-        <string>Hiragino Kaku Gothic ProN</string>
-        <key>serif</key>
-        <string>Hiragino Mincho ProN</string>
-    </dict>
-    <key>hang</key> <!-- Korean -->
-    <dict>
-        <key>standard</key>
-        <string>AppleMyungjo</string>
-#if !defined(BUILDING_ON_SNOW_LEOPARD) && !defined(BUILDING_ON_LION)
-        <key>monospace</key>
-        <string>Apple SD Gothic Neo</string>
-        <key>sans-serif</key>
-        <string>Apple SD Gothic Neo</string>
-#else
-        <key>monospace</key>
-        <string>AppleGothic</string>
-        <key>sans-serif</key>
-        <string>AppleGothic</string>
-#endif
-        <key>serif</key>
-        <string>AppleMyungjo</string>
-    </dict>
-    <key>zyyy</key> <!-- Other scripts (USCRIPT_COMMON) -->
-    <dict>
-        <key>monospace</key>
-        <string>Courier</string>
-        <key>standard</key>
-        <string>Times</string>
-        <key>sans-serif</key>
-        <string>Helvetica</string>
-        <key>serif</key>
-        <string>Times</string>
-    </dict>
-</dict>
-</plist>

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (118797 => 118798)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2012-05-29 16:52:42 UTC (rev 118798)
@@ -5918,7 +5918,6 @@
 		E18256900EF2B02D00933242 /* JSWorkerContext.h in Headers */ = {isa = PBXBuildFile; fileRef = E182568E0EF2B02D00933242 /* JSWorkerContext.h */; };
 		E18258AC0EF3CD7000933242 /* JSWorkerContextCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18258AB0EF3CD7000933242 /* JSWorkerContextCustom.cpp */; };
 		E18772F1126E2629003DD586 /* Language.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18772F0126E2629003DD586 /* Language.cpp */; };
-		E19582311536099C00B60875 /* DefaultFonts.plist in Resources */ = {isa = PBXBuildFile; fileRef = E19582301536099C00B60875 /* DefaultFonts.plist */; };
 		E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A1470711102B1500EEC0F3 /* ContainerNodeAlgorithms.h */; };
 		E1A3162D134BC32D007C9A4F /* WebNSAttributedStringExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		E1A3162E134BC32D007C9A4F /* WebNSAttributedStringExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1A3162C134BC32D007C9A4F /* WebNSAttributedStringExtras.mm */; };
@@ -13103,7 +13102,6 @@
 		E182568E0EF2B02D00933242 /* JSWorkerContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWorkerContext.h; sourceTree = "<group>"; };
 		E18258AB0EF3CD7000933242 /* JSWorkerContextCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWorkerContextCustom.cpp; sourceTree = "<group>"; };
 		E18772F0126E2629003DD586 /* Language.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Language.cpp; sourceTree = "<group>"; };
-		E19582301536099C00B60875 /* DefaultFonts.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultFonts.plist; sourceTree = "<group>"; };
 		E1A1470711102B1500EEC0F3 /* ContainerNodeAlgorithms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContainerNodeAlgorithms.h; sourceTree = "<group>"; };
 		E1A3162B134BC32D007C9A4F /* WebNSAttributedStringExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNSAttributedStringExtras.h; sourceTree = "<group>"; };
 		E1A3162C134BC32D007C9A4F /* WebNSAttributedStringExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSAttributedStringExtras.mm; sourceTree = "<group>"; };
@@ -13167,7 +13165,6 @@
 		E1B4CD2410B322E200BFFD7E /* CredentialStorageMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CredentialStorageMac.mm; sourceTree = "<group>"; };
 		E1BE512B0CF6C512002EA959 /* XSLTUnicodeSort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTUnicodeSort.cpp; sourceTree = "<group>"; };
 		E1BE512C0CF6C512002EA959 /* XSLTUnicodeSort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XSLTUnicodeSort.h; sourceTree = "<group>"; };
-		E1C2F244153398CE0083F974 /* DefaultFonts.plist.in */ = {isa = PBXFileReference; explicitFileType = text; fileEncoding = 4; path = DefaultFonts.plist.in; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.plist; };
 		E1C2F2481533A2120083F974 /* SettingsMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SettingsMac.mm; sourceTree = "<group>"; };
 		E1C362ED0EAF2AA9007410BC /* JSWorkerLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWorkerLocation.h; sourceTree = "<group>"; };
 		E1C362EE0EAF2AA9007410BC /* JSWorkerLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWorkerLocation.cpp; sourceTree = "<group>"; };
@@ -14010,7 +14007,6 @@
 				46D4F2460AF97E810035385A /* cellCursor.png */,
 				46D4F2470AF97E810035385A /* contextMenuCursor.png */,
 				4614A1FD0B23A8D600446E1C /* copyCursor.png */,
-				E1C2F244153398CE0083F974 /* DefaultFonts.plist.in */,
 				93153BDD141959F400FCF5BE /* deleteButton.png */,
 				93153BCC1417FBBF00FCF5BE /* [email protected] */,
 				93153BDF14195A2800FCF5BE /* deleteButtonPressed.png */,
@@ -15190,7 +15186,6 @@
 				E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */,
 				6565814709D13043000E61D7 /* CSSValueKeywords.gperf */,
 				6565814809D13043000E61D7 /* CSSValueKeywords.h */,
-				E19582301536099C00B60875 /* DefaultFonts.plist */,
 				9B3A8871145632F9003AE8F5 /* DOMDOMSettableTokenList.h */,
 				9766504E144FBFFE00F6BB51 /* EventFactory.cpp */,
 				970B72A5145008EB00F00A37 /* EventHeaders.h */,
@@ -25095,7 +25090,6 @@
 				46D4F2490AF97E810035385A /* cellCursor.png in Resources */,
 				46D4F24A0AF97E810035385A /* contextMenuCursor.png in Resources */,
 				4614A1FE0B23A8D600446E1C /* copyCursor.png in Resources */,
-				E19582311536099C00B60875 /* DefaultFonts.plist in Resources */,
 				93153BDE141959F400FCF5BE /* deleteButton.png in Resources */,
 				93153BCD1417FBBF00FCF5BE /* [email protected] in Resources */,
 				93153BE014195A2800FCF5BE /* deleteButtonPressed.png in Resources */,

Modified: trunk/Source/WebCore/page/mac/SettingsMac.mm (118797 => 118798)


--- trunk/Source/WebCore/page/mac/SettingsMac.mm	2012-05-29 16:49:11 UTC (rev 118797)
+++ trunk/Source/WebCore/page/mac/SettingsMac.mm	2012-05-29 16:52:42 UTC (rev 118798)
@@ -26,87 +26,39 @@
 #include "config.h"
 #include "Settings.h"
 
-#include "LocaleToScriptMapping.h"
-#include <wtf/text/CString.h>
-
 namespace WebCore {
 
-static NSDictionary *defaultFontFamilyDictionary()
-{
-    static NSDictionary *fontFamilyDictionary;
-    if (fontFamilyDictionary)
-        return fontFamilyDictionary;
-
-    NSBundle *bundle = [NSBundle bundleWithIdentifier:@"com.apple.WebCore"];
-#ifdef BUILDING_ON_LION
-    // Temporary workaround for a Safari Webpage Preview Fetcher crash caused by insufficient sandbox permissions.
-    if (!bundle)
-        return 0;
-#endif
-    NSData *fileData = [NSData dataWithContentsOfURL:[bundle URLForResource:@"DefaultFonts" withExtension:@"plist"]];
-    if (!fileData)
-        FATAL("Could not read font fallback file");
-    NSError *error;
-    id propertyList = [NSPropertyListSerialization propertyListWithData:fileData options:NSPropertyListImmutable format:0 error:&error];
-    if (!propertyList)
-        FATAL("Could not parse font fallback property list: %s", [[error description] UTF8String]);
-    if (![propertyList isKindOfClass:[NSDictionary class]])
-        FATAL("Font fallback file has incorrect format - root object is not a dictionary");
-
-    fontFamilyDictionary = static_cast<NSDictionary *>(propertyList);
-    CFRetain(fontFamilyDictionary);
-    return fontFamilyDictionary;
-}
-
 void Settings::initializeDefaultFontFamilies()
 {
-    DEFINE_STATIC_LOCAL(AtomicString, standardFamily, ("standard"));
-    DEFINE_STATIC_LOCAL(AtomicString, monospaceFamily, ("monospace"));
-    DEFINE_STATIC_LOCAL(AtomicString, serifFamily, ("serif"));
-    DEFINE_STATIC_LOCAL(AtomicString, sansSerifFamily, ("sans-serif"));
-    DEFINE_STATIC_LOCAL(AtomicString, cursiveFamily, ("cursive"));
-    DEFINE_STATIC_LOCAL(AtomicString, fantasyFamily, ("fantasy"));
-    DEFINE_STATIC_LOCAL(AtomicString, pictographFamily, ("pictograph"));
+    setStandardFontFamily("Apple LiSung", USCRIPT_TRADITIONAL_HAN);
+    setFixedFontFamily("Heiti TC", USCRIPT_TRADITIONAL_HAN);
+    setSerifFontFamily("Apple LiSung", USCRIPT_TRADITIONAL_HAN);
+    setSansSerifFontFamily("Heiti TC", USCRIPT_TRADITIONAL_HAN);
 
-    NSDictionary *rootDictionary = defaultFontFamilyDictionary();
-    for (NSString *scriptName in rootDictionary) {
-        NSDictionary *scriptDictionary = static_cast<NSDictionary *>([rootDictionary objectForKey:scriptName]);
-        if (![scriptName isKindOfClass:[NSString class]])
-            FATAL("Font fallback file has incorrect format - script name is not a string");
-        if (![scriptDictionary isKindOfClass:[NSDictionary class]])
-            FATAL("Font fallback file has incorrect format - per-script value is not a dictionary");
+    setStandardFontFamily("STSong", USCRIPT_SIMPLIFIED_HAN);
+    setFixedFontFamily("Heiti SC", USCRIPT_SIMPLIFIED_HAN);
+    setSerifFontFamily("STSong", USCRIPT_SIMPLIFIED_HAN);
+    setSansSerifFontFamily("Heiti SC", USCRIPT_SIMPLIFIED_HAN);
 
-        UScriptCode script = scriptNameToCode(scriptName);
-        if (script == USCRIPT_UNKNOWN)
-            FATAL("Font fallback file has incorrect format - unknown language code %s", [scriptName UTF8String]);
+    setStandardFontFamily("Hiragino Mincho ProN", USCRIPT_KATAKANA_OR_HIRAGANA);
+    setFixedFontFamily("Osaka-Mono", USCRIPT_KATAKANA_OR_HIRAGANA);
+    setSerifFontFamily("Hiragino Mincho ProN", USCRIPT_KATAKANA_OR_HIRAGANA);
+    setSansSerifFontFamily("Hiragino Kaku Gothic ProN", USCRIPT_KATAKANA_OR_HIRAGANA);
 
-        for (NSString *genericFamilyName in scriptDictionary) {
-            NSString *familyName = [scriptDictionary objectForKey:genericFamilyName];
-            if (![genericFamilyName isKindOfClass:[NSString class]])
-                FATAL("Font fallback file has incorrect format - generic family name is not a string");
-            if (![familyName isKindOfClass:[NSString class]])
-                FATAL("Font fallback file has incorrect format - font family name is not a string");
+    setStandardFontFamily("AppleMyungjo", USCRIPT_HANGUL);
+#if !defined(BUILDING_ON_SNOW_LEOPARD) && !defined(BUILDING_ON_LION)
+    setFixedFontFamily("Apple SD Gothic Neo", USCRIPT_HANGUL);
+    setSansSerifFontFamily("Apple SD Gothic Neo", USCRIPT_HANGUL);
+#else
+    setFixedFontFamily("AppleGothic", USCRIPT_HANGUL);
+    setSansSerifFontFamily("AppleGothic", USCRIPT_HANGUL);
+#endif
+    setSerifFontFamily("AppleMyungjo", USCRIPT_HANGUL);
 
-            AtomicString genericFamily(genericFamilyName);
-
-            if (genericFamily == standardFamily)
-                setStandardFontFamily(familyName, script);
-            else if (genericFamily == monospaceFamily)
-                setFixedFontFamily(familyName, script);
-            else if (genericFamily == serifFamily)
-                setSerifFontFamily(familyName, script);
-            else if (genericFamily == sansSerifFamily)
-                setSansSerifFontFamily(familyName, script);
-            else if (genericFamily == cursiveFamily)
-                setCursiveFontFamily(familyName, script);
-            else if (genericFamily == fantasyFamily)
-                setFantasyFontFamily(familyName, script);
-            else if (genericFamily == pictographFamily)
-                setPictographFontFamily(familyName, script);
-            else
-                FATAL("Font fallback file has incorrect format - unknown font family name %s", [familyName UTF8String]);
-        }
-    }
+    setStandardFontFamily("Times", USCRIPT_COMMON);
+    setFixedFontFamily("Courier", USCRIPT_COMMON);
+    setSerifFontFamily("Times", USCRIPT_COMMON);
+    setSansSerifFontFamily("Helvetica", USCRIPT_COMMON);
 }
 
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to