Operator stretching: read the Open Type MATH table
https://bugs.webkit.org/show_bug.cgi?id=130324

Reviewed by Chris Fleizach.

Source/WebCore:

We parse and expose some data from the OpenType MATH table that will be
be relevant for at least the MathML operator stretching (bug 130322):
math constants, italic corrections and size variants / glyph assembly.
This will be tested when the MathML code uses the data.

* WebCore.xcodeproj/project.pbxproj: Add OpenTypeTypes.h to the Mac build.
* platform/graphics/opentype/OpenTypeMathData.cpp: We implement the low-level parsing of the MATH table.
(WebCore::OpenType::MathItalicsCorrectionInfo::getItalicCorrection):
(WebCore::OpenType::MathGlyphInfo::mathItalicsCorrectionInfo):
(WebCore::OpenType::GlyphAssembly::getAssemblyParts):
(WebCore::OpenType::MathGlyphConstruction::getSizeVariants):
(WebCore::OpenType::MathGlyphConstruction::getAssemblyParts):
(WebCore::OpenType::MathVariants::mathGlyphConstruction):
(WebCore::OpenType::MATHTable::mathConstants):
(WebCore::OpenType::MATHTable::mathGlyphInfo):
(WebCore::OpenType::MATHTable::mathVariants):
(WebCore::OpenTypeMathData::OpenTypeMathData): We load the MATH table.
(WebCore::OpenTypeMathData::getMathConstant): We add a function to get values from the MathConstant subtable.
(WebCore::OpenTypeMathData::getItalicCorrection): We add a function to get italic correction from the MathGlyphInfo subtable.
(WebCore::OpenTypeMathData::getMathVariants): We add a function to get size variants / glyph assembly from the MathVariants subtable.
* platform/graphics/opentype/OpenTypeMathData.h: We expose three new functions to get math data.
* platform/graphics/opentype/OpenTypeTypes.h: We share the coverage tables that are common to vertical and math data.
(WebCore::OpenType::TableWithCoverage::getCoverageIndex): We add a function to get the coverage index from a given glyph.
* platform/graphics/opentype/OpenTypeVerticalData.cpp: We move the coverage tables to OpenTypeTypes.h.

Source/WTF:

* wtf/Platform.h: enable OPENTYPE_MATH on platforms that can read OpenType tables.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Warning fix for RenderLayer.
https://bugs.webkit.org/show_bug.cgi?id=131090

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-04-02
Reviewed by Csaba Osztrogonác.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateDescendantDependentFlags):

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