diff options
author | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-24 12:56:18 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-24 12:56:18 +0000 |
commit | 199035ba028fb491427873c254645a8ee7e280c9 (patch) | |
tree | a7e404f0ad8b13ae9f352d28a6a33200bdcc22db /skia/ext | |
parent | ec32e9219ea70b1c2c36e099216fe4c4649b6cc1 (diff) | |
download | chromium_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/ext')
-rw-r--r-- | skia/ext/SkFontHost_fontconfig_direct.cpp | 18 | ||||
-rw-r--r-- | skia/ext/SkFontHost_fontconfig_direct.h | 5 |
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_; |