OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. |
4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 HashSet<const SimpleFontData*> fallbackFonts; | 372 HashSet<const SimpleFontData*> fallbackFonts; |
373 GlyphOverflow glyphOverflow; | 373 GlyphOverflow glyphOverflow; |
374 | 374 |
375 const Font& font = layoutText->style(lineInfo.isFirstLine())->font(); | 375 const Font& font = layoutText->style(lineInfo.isFirstLine())->font(); |
376 // Always compute glyph overflow bounds if the block's line-box-contain valu
e is "glyphs". | 376 // Always compute glyph overflow bounds if the block's line-box-contain valu
e is "glyphs". |
377 if (lineBox->fitsToGlyphs()) | 377 if (lineBox->fitsToGlyphs()) |
378 glyphOverflow.computeBounds = true; | 378 glyphOverflow.computeBounds = true; |
379 | 379 |
380 LayoutUnit hyphenWidth = 0; | 380 LayoutUnit hyphenWidth = 0; |
381 if (toInlineTextBox(run->m_box)->hasHyphen()) | 381 if (toInlineTextBox(run->m_box)->hasHyphen()) |
382 hyphenWidth = measureHyphenWidth(layoutText, font, run->direction()); | 382 hyphenWidth = layoutText->hyphenWidth(font, run->direction()); |
383 | 383 |
384 float measuredWidth = 0; | 384 float measuredWidth = 0; |
385 FloatRect glyphBounds; | 385 FloatRect glyphBounds; |
386 | 386 |
387 bool kerningIsEnabled = font.fontDescription().typesettingFeatures() & Kerni
ng; | 387 bool kerningIsEnabled = font.fontDescription().typesettingFeatures() & Kerni
ng; |
388 | 388 |
389 #if OS(MACOSX) | 389 #if OS(MACOSX) |
390 // FIXME: Having any font feature settings enabled can lead to selection gap
s on | 390 // FIXME: Having any font feature settings enabled can lead to selection gap
s on |
391 // Chromium-mac. https://bugs.webkit.org/show_bug.cgi?id=113418 | 391 // Chromium-mac. https://bugs.webkit.org/show_bug.cgi?id=113418 |
392 bool canUseSimpleFontCodePath = layoutText->canUseSimpleFontCodePath() && !f
ont.fontDescription().featureSettings(); | 392 bool canUseSimpleFontCodePath = layoutText->canUseSimpleFontCodePath() && !f
ont.fontDescription().featureSettings(); |
(...skipping 1664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2057 LayoutUnit logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false); | 2057 LayoutUnit logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false); |
2058 LayoutUnit availableLogicalWidth = logicalRightOffsetForLine(logicalHeight()
, false) - logicalLeft; | 2058 LayoutUnit availableLogicalWidth = logicalRightOffsetForLine(logicalHeight()
, false) - logicalLeft; |
2059 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); | 2059 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); |
2060 | 2060 |
2061 if (!style()->isLeftToRightDirection()) | 2061 if (!style()->isLeftToRightDirection()) |
2062 return logicalWidth() - logicalLeft; | 2062 return logicalWidth() - logicalLeft; |
2063 return logicalLeft; | 2063 return logicalLeft; |
2064 } | 2064 } |
2065 | 2065 |
2066 } | 2066 } |
OLD | NEW |