| Index: third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| diff --git a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| index 402642e974c814333b0c46c8c418127c5ec65c60..ac756abc58ab294dfec117abf26139096694d796 100644
|
| --- a/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| +++ b/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
|
| @@ -43,7 +43,6 @@
|
| #include "platform/fonts/FontCache.h"
|
| #include "platform/fonts/FontPlatformData.h"
|
| #include "platform/fonts/SimpleFontData.h"
|
| -#include "platform/fonts/UnicodeRangeSet.h"
|
| #include "platform/fonts/shaping/HarfBuzzShaper.h"
|
| #include "wtf/HashMap.h"
|
| #include "wtf/MathExtras.h"
|
| @@ -115,13 +114,13 @@
|
| USING_FAST_MALLOC(HarfBuzzFontData);
|
| WTF_MAKE_NONCOPYABLE(HarfBuzzFontData);
|
| public:
|
| - HarfBuzzFontData(WTF::HashMap<uint32_t, uint16_t>* glyphCacheForFaceCacheEntry, hb_face_t* face, PassRefPtr<UnicodeRangeSet> rangeSet)
|
| + HarfBuzzFontData(WTF::HashMap<uint32_t, uint16_t>* glyphCacheForFaceCacheEntry, hb_face_t* face, unsigned rangeFrom, unsigned rangeTo)
|
| : m_glyphCacheForFaceCacheEntry(glyphCacheForFaceCacheEntry)
|
| , m_face(face)
|
| , m_hbOpenTypeFont(nullptr)
|
| - , m_rangeSet(rangeSet)
|
| - {
|
| - }
|
| + , m_rangeFrom(rangeFrom)
|
| + , m_rangeTo(rangeTo)
|
| + { }
|
|
|
| ~HarfBuzzFontData()
|
| {
|
| @@ -134,7 +133,8 @@
|
| WTF::HashMap<uint32_t, uint16_t>* m_glyphCacheForFaceCacheEntry;
|
| hb_face_t* m_face;
|
| hb_font_t* m_hbOpenTypeFont;
|
| - RefPtr<UnicodeRangeSet> m_rangeSet;
|
| + unsigned m_rangeFrom;
|
| + unsigned m_rangeTo;
|
| };
|
|
|
| static hb_position_t SkiaScalarToHarfBuzzPosition(SkScalar value)
|
| @@ -184,7 +184,7 @@
|
| HarfBuzzFontData* hbFontData = reinterpret_cast<HarfBuzzFontData*>(fontData);
|
|
|
| RELEASE_ASSERT(hbFontData);
|
| - if (hbFontData->m_rangeSet && !hbFontData->m_rangeSet->contains(unicode))
|
| + if (unicode < hbFontData->m_rangeFrom || unicode > hbFontData->m_rangeTo)
|
| return false;
|
|
|
| if (variationSelector) {
|
| @@ -350,9 +350,9 @@
|
| return face;
|
| }
|
|
|
| -hb_font_t* HarfBuzzFace::createFont(PassRefPtr<UnicodeRangeSet> rangeSet) const
|
| -{
|
| - HarfBuzzFontData* hbFontData = new HarfBuzzFontData(m_glyphCacheForFaceCacheEntry, m_face, rangeSet);
|
| +hb_font_t* HarfBuzzFace::createFont(unsigned rangeFrom, unsigned rangeTo) const
|
| +{
|
| + HarfBuzzFontData* hbFontData = new HarfBuzzFontData(m_glyphCacheForFaceCacheEntry, m_face, rangeFrom, rangeTo);
|
| m_platformData->setupPaint(&hbFontData->m_paint);
|
| hbFontData->m_simpleFontData = FontCache::fontCache()->fontDataFromFontPlatformData(m_platformData);
|
| ASSERT(hbFontData->m_simpleFontData);
|
|
|