[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