Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(957)

Unified Diff: third_party/WebKit/Source/platform/fonts/UnicodeRangeSet.h

Issue 1808853002: Move UnicodeRangeSet to platform/fonts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/fonts/UnicodeRangeSet.h
diff --git a/third_party/WebKit/Source/platform/fonts/FontDataRange.h b/third_party/WebKit/Source/platform/fonts/UnicodeRangeSet.h
similarity index 56%
copy from third_party/WebKit/Source/platform/fonts/FontDataRange.h
copy to third_party/WebKit/Source/platform/fonts/UnicodeRangeSet.h
index 8eec0265401847ea0ed35c3273ac1ceaa37d615c..465358fb72b9868f9c9db7f447f687a43a37af3a 100644
--- a/third_party/WebKit/Source/platform/fonts/FontDataRange.h
+++ b/third_party/WebKit/Source/platform/fonts/UnicodeRangeSet.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,52 +23,56 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef FontDataRange_h
-#define FontDataRange_h
+#ifndef UnicodeRangeSet_h
+#define UnicodeRangeSet_h
-#include "platform/fonts/FontData.h"
-#include "platform/fonts/SimpleFontData.h"
+#include "platform/PlatformExport.h"
+#include "platform/fonts/FontDataRange.h"
#include "wtf/Allocator.h"
-#include "wtf/text/CharacterNames.h"
+#include "wtf/text/Unicode.h"
namespace blink {
-class SimpleFontData;
-
-struct FontDataRange {
+struct PLATFORM_EXPORT UnicodeRange {
DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
- explicit FontDataRange(PassRefPtr<SimpleFontData> fontData)
- : m_from(0)
- , m_to(kMaxCodepoint)
- , m_fontData(fontData)
- {
- }
-
- FontDataRange()
- : m_from(0)
- , m_to(kMaxCodepoint)
- , m_fontData(nullptr)
- {
- }
-
- explicit FontDataRange(UChar32 from, UChar32 to, PassRefPtr<SimpleFontData> fontData)
+ UnicodeRange(UChar32 from, UChar32 to)
: m_from(from)
, m_to(to)
- , m_fontData(fontData)
{
}
UChar32 from() const { return m_from; }
UChar32 to() const { return m_to; }
- bool contains(UChar32 testChar) { return testChar >= m_from && testChar <= m_to; }
- bool isEntireRange() const { return !m_from && m_to >= kMaxCodepoint; }
- bool hasFontData() const { return fontData(); }
- PassRefPtr<SimpleFontData> fontData() const { return m_fontData; }
+ bool contains(UChar32 c) const { return m_from <= c && c <= m_to; }
+ bool operator<(const UnicodeRange& other) const
+ {
+ return m_from < other.m_from;
+ }
+ bool operator<(UChar32 c) const { return m_to < c; }
+ bool operator==(const FontDataRange& fontDataRange) const
+ {
+ return fontDataRange.from() == m_from
+ && fontDataRange.to() == m_to;
+ };
private:
UChar32 m_from;
UChar32 m_to;
- RefPtr<SimpleFontData> m_fontData;
+};
+
+class PLATFORM_EXPORT UnicodeRangeSet {
+ DISALLOW_NEW_EXCEPT_PLACEMENT_NEW();
+
+public:
+ explicit UnicodeRangeSet(const Vector<UnicodeRange>&);
+ bool contains(UChar32) const;
+ bool contains(const FontDataRange&) const;
+ bool intersectsWith(const String&) const;
+ bool isEntireRange() const { return m_ranges.isEmpty(); }
+ size_t size() const { return m_ranges.size(); }
+ const UnicodeRange& rangeAt(size_t i) const { return m_ranges[i]; }
+private:
+ Vector<UnicodeRange> m_ranges; // If empty, represents the whole code space.
};
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/platform/blink_platform.gypi ('k') | third_party/WebKit/Source/platform/fonts/UnicodeRangeSet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698