[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:41:24 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e49ae4b5d25dd553e9df97f0cddbf490f683d9a8
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri May 9 20:56:36 2003 +0000

            Apply the same check used to by-pass fast rendering
            in the fix to 3146161 to measurement.
    
            Reviewed by Ken.
    
            * Misc.subproj/WebKitNSStringExtras.m:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4333 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 1716513..bf4b190 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,12 @@
+2003-05-09  Richard Williamson  <rjw at apple.com>
+
+        Apply the same check used to by-pass fast rendering
+        in the fix to 3146161 to measurement.
+        
+        Reviewed by Ken.
+
+        * Misc.subproj/WebKitNSStringExtras.m:
+
 2003-05-09  Ken Kocienda  <kocienda at apple.com>
 
         Reviewed by John
diff --git a/WebKit/Misc.subproj/WebKitNSStringExtras.m b/WebKit/Misc.subproj/WebKitNSStringExtras.m
index 3ce1a05..0f6e96c 100644
--- a/WebKit/Misc.subproj/WebKitNSStringExtras.m
+++ b/WebKit/Misc.subproj/WebKitNSStringExtras.m
@@ -12,25 +12,26 @@
 
 @implementation NSString (WebKitExtras)
 
-- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor;
+static BOOL canUseFastRenderer (const UniChar *buffer, unsigned length)
 {
-    unsigned i, length = [self length];
-    UniChar *buffer = (UniChar *)malloc(sizeof(UniChar) * length);
-    BOOL fastRender = YES;
-
-    [self getCharacters:buffer];
-    
-    // Check if this string only contains normal, and left-to-right characters.
-    // If not hand the string over to the appkit for slower but correct rendering.
+    unsigned i;
     for (i = 0; i < length; i++){
         WebCoreUnicodeDirection direction = WebCoreUnicodeDirectionFunction (buffer[i]);
         if (direction == DirectionR || direction > DirectionON){
-            fastRender = NO;
-            break;
+            return NO;
         }
     }
+    return YES;
+}
+
+- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor;
+{
+    unsigned length = [self length];
+    UniChar *buffer = (UniChar *)malloc(sizeof(UniChar) * length);
 
-    if (fastRender){
+    [self getCharacters:buffer];
+    
+    if (canUseFastRenderer(buffer, length)){
         WebTextRenderer *renderer = [[WebTextRendererFactory sharedFactory] rendererWithFont:font usingPrinterFont:NO];
         [renderer drawCharacters:buffer
                     stringLength:length
@@ -62,22 +63,29 @@
     UniChar *buffer = (UniChar *)malloc(sizeof(UniChar) * length);
 
     [self getCharacters:buffer];
-    WebTextRenderer *renderer = [[WebTextRendererFactory sharedFactory] rendererWithFont:font usingPrinterFont:NO];
-    width = [renderer _floatWidthForCharacters:buffer
-                stringLength:length
-                fromCharacterPosition: 0
-                numberOfCharacters: length
-                withPadding:0
-                applyRounding: NO
-                attemptFontSubstitution: YES
-                widths: 0
-                fonts: 0
-                glyphs: 0
-                numGlyphs: 0
-                letterSpacing: 0
-                wordSpacing: 0
-                smallCaps: false
-                fontFamilies: 0];
+
+    if (canUseFastRenderer(buffer, length)){
+        WebTextRenderer *renderer = [[WebTextRendererFactory sharedFactory] rendererWithFont:font usingPrinterFont:NO];
+        width = [renderer _floatWidthForCharacters:buffer
+                    stringLength:length
+                    fromCharacterPosition: 0
+                    numberOfCharacters: length
+                    withPadding:0
+                    applyRounding: NO
+                    attemptFontSubstitution: YES
+                    widths: 0
+                    fonts: 0
+                    glyphs: 0
+                    numGlyphs: 0
+                    letterSpacing: 0
+                    wordSpacing: 0
+                    smallCaps: false
+                    fontFamilies: 0];
+    }
+    else {
+        width = [self sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil]].width;
+    }
+    
     free(buffer);
     
     return width;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list