| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2005, 2006, 2010, 2011 Apple Inc. All rights reserved. |    2  * Copyright (C) 2005, 2006, 2010, 2011 Apple Inc. All rights reserved. | 
|    3  * Copyright (C) 2006 Alexey Proskuryakov |    3  * Copyright (C) 2006 Alexey Proskuryakov | 
|    4  * |    4  * | 
|    5  * Redistribution and use in source and binary forms, with or without |    5  * Redistribution and use in source and binary forms, with or without | 
|    6  * modification, are permitted provided that the following conditions |    6  * modification, are permitted provided that the following conditions | 
|    7  * are met: |    7  * are met: | 
|    8  * 1. Redistributions of source code must retain the above copyright |    8  * 1. Redistributions of source code must retain the above copyright | 
|    9  *    notice, this list of conditions and the following disclaimer. |    9  *    notice, this list of conditions and the following disclaimer. | 
|   10  * 2. Redistributions in binary form must reproduce the above copyright |   10  * 2. Redistributions in binary form must reproduce the above copyright | 
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  206     // such fonts meant the same distance, but in the reverse direction. |  206     // such fonts meant the same distance, but in the reverse direction. | 
|  207     iDescent = -abs(CGFontGetDescent(m_platformData.cgFont())); |  207     iDescent = -abs(CGFontGetDescent(m_platformData.cgFont())); | 
|  208     iLineGap = CGFontGetLeading(m_platformData.cgFont()); |  208     iLineGap = CGFontGetLeading(m_platformData.cgFont()); | 
|  209     unitsPerEm = CGFontGetUnitsPerEm(m_platformData.cgFont()); |  209     unitsPerEm = CGFontGetUnitsPerEm(m_platformData.cgFont()); | 
|  210  |  210  | 
|  211     float pointSize = m_platformData.m_size; |  211     float pointSize = m_platformData.m_size; | 
|  212     float ascent = scaleEmToUnits(iAscent, unitsPerEm) * pointSize; |  212     float ascent = scaleEmToUnits(iAscent, unitsPerEm) * pointSize; | 
|  213     float descent = -scaleEmToUnits(iDescent, unitsPerEm) * pointSize; |  213     float descent = -scaleEmToUnits(iDescent, unitsPerEm) * pointSize; | 
|  214     float lineGap = scaleEmToUnits(iLineGap, unitsPerEm) * pointSize; |  214     float lineGap = scaleEmToUnits(iLineGap, unitsPerEm) * pointSize; | 
|  215     float underlineThickness = CTFontGetUnderlineThickness(m_platformData.ctFont
     ()); |  215     float underlineThickness = CTFontGetUnderlineThickness(m_platformData.ctFont
     ()); | 
 |  216     float underlinePosition = CTFontGetUnderlinePosition(m_platformData.ctFont()
     ); | 
|  216  |  217  | 
|  217     // We need to adjust Times, Helvetica, and Courier to closely match the |  218     // We need to adjust Times, Helvetica, and Courier to closely match the | 
|  218     // vertical metrics of their Microsoft counterparts that are the de facto |  219     // vertical metrics of their Microsoft counterparts that are the de facto | 
|  219     // web standard. The AppKit adjustment of 20% is too big and is |  220     // web standard. The AppKit adjustment of 20% is too big and is | 
|  220     // incorrectly added to line spacing, so we use a 15% adjustment instead |  221     // incorrectly added to line spacing, so we use a 15% adjustment instead | 
|  221     // and add it to the ascent. |  222     // and add it to the ascent. | 
|  222     NSString *familyName = [m_platformData.font() familyName]; |  223     NSString *familyName = [m_platformData.font() familyName]; | 
|  223     if ([familyName isEqualToString:@"Times"] || [familyName isEqualToString:@"H
     elvetica"] || [familyName isEqualToString:@"Courier"]) |  224     if ([familyName isEqualToString:@"Times"] || [familyName isEqualToString:@"H
     elvetica"] || [familyName isEqualToString:@"Courier"]) | 
|  224         ascent += floorf(((ascent + descent) * 0.15f) + 0.5f); |  225         ascent += floorf(((ascent + descent) * 0.15f) + 0.5f); | 
|  225  |  226  | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
|  249             xHeight = scaleEmToUnits(CGFontGetXHeight(m_platformData.cgFont()), 
     unitsPerEm) * pointSize; |  250             xHeight = scaleEmToUnits(CGFontGetXHeight(m_platformData.cgFont()), 
     unitsPerEm) * pointSize; | 
|  250     } else |  251     } else | 
|  251         xHeight = verticalRightOrientationFontData()->fontMetrics().xHeight(); |  252         xHeight = verticalRightOrientationFontData()->fontMetrics().xHeight(); | 
|  252  |  253  | 
|  253     m_fontMetrics.setUnitsPerEm(unitsPerEm); |  254     m_fontMetrics.setUnitsPerEm(unitsPerEm); | 
|  254     m_fontMetrics.setAscent(ascent); |  255     m_fontMetrics.setAscent(ascent); | 
|  255     m_fontMetrics.setDescent(descent); |  256     m_fontMetrics.setDescent(descent); | 
|  256     m_fontMetrics.setLineGap(lineGap); |  257     m_fontMetrics.setLineGap(lineGap); | 
|  257     m_fontMetrics.setXHeight(xHeight); |  258     m_fontMetrics.setXHeight(xHeight); | 
|  258     m_fontMetrics.setUnderlineThickness(underlineThickness); |  259     m_fontMetrics.setUnderlineThickness(underlineThickness); | 
 |  260     m_fontMetrics.setUnderlinePosition(underlinePosition); | 
|  259 } |  261 } | 
|  260  |  262  | 
|  261 static CFDataRef copyFontTableForTag(FontPlatformData& platformData, FourCharCod
     e tableName) |  263 static CFDataRef copyFontTableForTag(FontPlatformData& platformData, FourCharCod
     e tableName) | 
|  262 { |  264 { | 
|  263     return CGFontCopyTableForTag(platformData.cgFont(), tableName); |  265     return CGFontCopyTableForTag(platformData.cgFont(), tableName); | 
|  264 } |  266 } | 
|  265  |  267  | 
|  266 void SimpleFontData::platformCharWidthInit() |  268 void SimpleFontData::platformCharWidthInit() | 
|  267 { |  269 { | 
|  268     m_avgCharWidth = 0; |  270     m_avgCharWidth = 0; | 
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  437         RetainPtr<CGFontRef> runCGFont(AdoptCF, CTFontCopyGraphicsFont(runFont, 
     0)); |  439         RetainPtr<CGFontRef> runCGFont(AdoptCF, CTFontCopyGraphicsFont(runFont, 
     0)); | 
|  438         if (!CFEqual(runCGFont.get(), cgFont.get())) |  440         if (!CFEqual(runCGFont.get(), cgFont.get())) | 
|  439             return false; |  441             return false; | 
|  440     } |  442     } | 
|  441  |  443  | 
|  442     addResult.storedValue->value = true; |  444     addResult.storedValue->value = true; | 
|  443     return true; |  445     return true; | 
|  444 } |  446 } | 
|  445  |  447  | 
|  446 } // namespace WebCore |  448 } // namespace WebCore | 
| OLD | NEW |