WebCore:
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Dec 2007 08:00:41 +0000 (08:00 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 12 Dec 2007 08:00:41 +0000 (08:00 +0000)
        Reviewed by Maciej Stachowiak.

        - allow non-integer font sizes on Windows for small caps

        * platform/graphics/win/FontDataWin.cpp:
        (WebCore::FontData::smallCapsFontData):
        * platform/graphics/win/FontPlatformData.h:
        (WebCore::FontPlatformData::size):
        (WebCore::FontPlatformData::setSize):
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

LayoutTests:

        Reviewed by Maciej Stachowiak.

        - removed now-passing tests

        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/win/Skipped
WebCore/ChangeLog
WebCore/platform/graphics/win/FontDataWin.cpp
WebCore/platform/graphics/win/FontPlatformData.h
WebCore/platform/graphics/win/FontPlatformDataWin.cpp

index 8896ce6da1c8bfafc1fd710d4e733fe5cbf758db..a74aaa98bd8d71ac40be29a154d1198ecc6fcd27 100644 (file)
@@ -1,3 +1,11 @@
+2007-12-11  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Maciej Stachowiak.
+
+        - removed now-passing tests
+
+        * platform/win/Skipped:
+
 2007-12-11  Dan Bernstein  <mitz@apple.com>
 
         Reviewed by Mark Rowe and Sam Weinig too!
index 30523dca4d0103ed58c464e9c2f89afd654ec33e..7e2212263baa2261e5fd58027e51c130176eae2b 100644 (file)
@@ -45,16 +45,8 @@ media
 http/tests/media
 
 # Layout tests that depend on certain fonts don't match Mac results <rdar://problem/5075790>
-css1/font_properties/font.html
-css1/pseudo/multiple_pseudo_elements.html
 css2.1/t1202-counter-09-b.html
 css2.1/t1202-counters-09-b.html
-css2.1/t1508-c527-font-00-b.html
-css2.1/t1508-c527-font-04-b.html
-css2.1/t1508-c527-font-05-b.html
-css2.1/t1508-c527-font-07-b.html
-css2.1/t1508-c527-font-10-c.html
-css2.1/t051201-c23-first-line-00-b.html
 editing/deleting/5144139-2.html
 fast/css/beforeSelectorOnCodeElement.html
 fast/css/font_property_normal.html
index b43fe08f071ffe7805a7c773a5b00bc8162ac96b..44cffbaa315155ac0082a9ed0934105f69c9bd64 100644 (file)
@@ -1,3 +1,17 @@
+2007-12-11  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Maciej Stachowiak.
+
+        - allow non-integer font sizes on Windows for small caps
+
+        * platform/graphics/win/FontDataWin.cpp:
+        (WebCore::FontData::smallCapsFontData):
+        * platform/graphics/win/FontPlatformData.h:
+        (WebCore::FontPlatformData::size):
+        (WebCore::FontPlatformData::setSize):
+        * platform/graphics/win/FontPlatformDataWin.cpp:
+        (WebCore::FontPlatformData::FontPlatformData):
+
 2007-12-11  Sam Weinig  <sam@webkit.org>
 
         Build fix for Qt, Gtk, and Wx.
index 17a43d320845cc8eaed09007cacae77c48842798..f23bc49e48429e0e6f0335a4f701bee38eb37dcb 100644 (file)
@@ -137,7 +137,7 @@ void FontData::platformDestroy()
 FontData* FontData::smallCapsFontData(const FontDescription& fontDescription) const
 {
     if (!m_smallCapsFontData) {
-        int smallCapsHeight = lroundf(cSmallCapsFontSizeMultiplier * m_font.size());
+        float smallCapsHeight = cSmallCapsFontSizeMultiplier * m_font.size();
         if (isCustomFont()) {
             FontPlatformData smallCapsFontData(m_font);
             smallCapsFontData.setSize(smallCapsHeight);
@@ -145,7 +145,7 @@ FontData* FontData::smallCapsFontData(const FontDescription& fontDescription) co
         } else {
             LOGFONT winfont;
             GetObject(m_font.hfont(), sizeof(LOGFONT), &winfont);
-            winfont.lfHeight = -smallCapsHeight * 32;
+            winfont.lfHeight = -lroundf(smallCapsHeight * 32);
             HFONT hfont = CreateFontIndirect(&winfont);
             m_smallCapsFontData = new FontData(FontPlatformData(hfont, smallCapsHeight, fontDescription.bold(), fontDescription.italic()));
         }
index 0b4343f6f58035e9262bfc61f5847aafcba40026..a83b4be2708ba3221b97241ff38c1c6857b09cd1 100644 (file)
@@ -55,15 +55,15 @@ public:
     , m_syntheticOblique(false)
     {}
 
-    FontPlatformData(HFONT, int size, bool bold, bool oblique);
-    FontPlatformData(CGFontRef, int size, bool bold, bool oblique);
+    FontPlatformData(HFONT, float size, bool bold, bool oblique);
+    FontPlatformData(CGFontRef, float size, bool bold, bool oblique);
     ~FontPlatformData();
 
     HFONT hfont() const { return m_font; }
     CGFontRef cgFont() const { return m_cgFont; }
 
-    int size() const { return m_size; }
-    void setSize(int size) { m_size = size; }
+    float size() const { return m_size; }
+    void setSize(float size) { m_size = size; }
     bool syntheticBold() const { return m_syntheticBold; }
     bool syntheticOblique() const { return m_syntheticOblique; }
 
@@ -82,7 +82,7 @@ private:
     HFONT m_font;
     CGFontRef m_cgFont;
 
-    int m_size;
+    float m_size;
     bool m_syntheticBold;
     bool m_syntheticOblique;
 };
index 7f747710d1adeb3a1425e6dad39a4f84fa1c0295..b3210de079fe14e22c4e48d7205106a8b0e1f153 100644 (file)
@@ -128,7 +128,7 @@ static int CALLBACK enumStylesCallback(const LOGFONT* logFont, const TEXTMETRIC*
     return 1;
 }
 
-FontPlatformData::FontPlatformData(HFONT font, int size, bool bold, bool oblique)
+FontPlatformData::FontPlatformData(HFONT font, float size, bool bold, bool oblique)
     : m_font(font)
     , m_size(size)
     , m_cgFont(0)
@@ -196,7 +196,7 @@ FontPlatformData::FontPlatformData(HFONT font, int size, bool bold, bool oblique
     ReleaseDC(0, hdc);
 }
 
-FontPlatformData::FontPlatformData(CGFontRef font, int size, bool bold, bool oblique)
+FontPlatformData::FontPlatformData(CGFontRef font, float size, bool bold, bool oblique)
     : m_font(0)
     , m_size(size)
     , m_cgFont(font)