summaryrefslogtreecommitdiffstats
path: root/skia
diff options
context:
space:
mode:
authorreed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-24 12:56:18 +0000
committerreed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-24 12:56:18 +0000
commit199035ba028fb491427873c254645a8ee7e280c9 (patch)
treea7e404f0ad8b13ae9f352d28a6a33200bdcc22db /skia
parentec32e9219ea70b1c2c36e099216fe4c4649b6cc1 (diff)
downloadchromium_src-199035ba028fb491427873c254645a8ee7e280c9.zip
chromium_src-199035ba028fb491427873c254645a8ee7e280c9.tar.gz
chromium_src-199035ba028fb491427873c254645a8ee7e280c9.tar.bz2
Remove dependency on Chromium base libraries and libicu for SkFontHost_fontconfig in preparation for inclusion into Skia
Review URL: https://chromiumcodereview.appspot.com/9456020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123469 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia')
-rw-r--r--skia/ext/SkFontHost_fontconfig_direct.cpp18
-rw-r--r--skia/ext/SkFontHost_fontconfig_direct.h5
2 files changed, 7 insertions, 16 deletions
diff --git a/skia/ext/SkFontHost_fontconfig_direct.cpp b/skia/ext/SkFontHost_fontconfig_direct.cpp
index dd48a6e..7ba5ca5 100644
--- a/skia/ext/SkFontHost_fontconfig_direct.cpp
+++ b/skia/ext/SkFontHost_fontconfig_direct.cpp
@@ -23,7 +23,7 @@
#include <fontconfig/fontconfig.h>
#include "third_party/skia/include/core/SkTypeface.h"
-#include "unicode/utf16.h"
+#include "third_party/skia/include/core/SkUtils.h"
namespace {
@@ -329,18 +329,10 @@ bool FontConfigDirect::Match(std::string* result_family,
FcCharSet* charset = NULL;
if (data) {
charset = FcCharSetCreate();
- const uint16_t* chars = (const uint16_t*) data;
- size_t num_chars = characters_bytes / 2;
- for (size_t i = 0; i < num_chars; ++i) {
- if (U16_IS_SURROGATE(chars[i])
- && U16_IS_SURROGATE_LEAD(chars[i])
- && i != num_chars - 1
- && U16_IS_TRAIL(chars[i + 1])) {
- FcCharSetAddChar(charset, U16_GET_SUPPLEMENTARY(chars[i], chars[i+1]));
- i++;
- } else {
- FcCharSetAddChar(charset, chars[i]);
- }
+ const uint16_t* chars = (const uint16_t*)data;
+ const uint16_t* stop = chars + characters_bytes/2;
+ while (chars < stop) {
+ FcCharSetAddChar(charset, SkUTF16_NextUnichar(&chars));
}
FcPatternAddCharSet(pattern, FC_CHARSET, charset);
FcCharSetDestroy(charset); // pattern now owns it.
diff --git a/skia/ext/SkFontHost_fontconfig_direct.h b/skia/ext/SkFontHost_fontconfig_direct.h
index 2c1f1fe..f5cc425 100644
--- a/skia/ext/SkFontHost_fontconfig_direct.h
+++ b/skia/ext/SkFontHost_fontconfig_direct.h
@@ -22,7 +22,6 @@
#include <map>
#include <string>
-#include "base/compiler_specific.h"
#include "SkThread.h"
#include "SkFontHost_fontconfig_impl.h"
@@ -36,8 +35,8 @@ class SK_API FontConfigDirect : public FontConfigInterface {
bool filefaceid_valid, unsigned filefaceid,
const std::string& family,
const void* characters, size_t characters_bytes,
- bool* is_bold, bool* is_italic) OVERRIDE;
- virtual int Open(unsigned filefaceid) OVERRIDE;
+ bool* is_bold, bool* is_italic) SK_OVERRIDE;
+ virtual int Open(unsigned filefaceid) SK_OVERRIDE;
private:
SkMutex mutex_;