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); |