| Index: src/ports/SkFontHost_linux.cpp
|
| ===================================================================
|
| --- src/ports/SkFontHost_linux.cpp (revision 8205)
|
| +++ src/ports/SkFontHost_linux.cpp (working copy)
|
| @@ -10,7 +10,6 @@
|
| #include "SkFontHost.h"
|
| #include "SkFontDescriptor.h"
|
| #include "SkDescriptor.h"
|
| -#include "SkMMapStream.h"
|
| #include "SkOSFile.h"
|
| #include "SkPaint.h"
|
| #include "SkString.h"
|
| @@ -280,8 +279,8 @@
|
| EmptyTypeface() : INHERITED(SkTypeface::kNormal, true, NULL, false) {}
|
|
|
| // overrides
|
| - virtual SkStream* openStream() { return NULL; }
|
| - virtual const char* getUniqueString() const { return NULL; }
|
| + virtual SkStream* openStream() SK_OVERRIDE { return NULL; }
|
| + virtual const char* getUniqueString() SK_OVERRIDE const { return NULL; }
|
|
|
| private:
|
| typedef FamilyTypeface INHERITED;
|
| @@ -299,14 +298,12 @@
|
| fStream->unref();
|
| }
|
|
|
| - // overrides
|
| - virtual SkStream* openStream()
|
| - {
|
| + virtual SkStream* openStream() SK_OVERRIDE {
|
| // openStream returns a refed stream.
|
| fStream->ref();
|
| return fStream;
|
| }
|
| - virtual const char* getUniqueString() const { return NULL; }
|
| + virtual const char* getUniqueString() const SK_OVERRIDE { return NULL; }
|
|
|
| private:
|
| SkStream* fStream;
|
| @@ -322,25 +319,11 @@
|
| fPath.set(path);
|
| }
|
|
|
| - // overrides
|
| - virtual SkStream* openStream()
|
| - {
|
| - SkStream* stream = SkNEW_ARGS(SkMMAPStream, (fPath.c_str()));
|
| -
|
| - // check for failure
|
| - if (stream->getLength() <= 0) {
|
| - SkDELETE(stream);
|
| - // maybe MMAP isn't supported. try FILE
|
| - stream = SkNEW_ARGS(SkFILEStream, (fPath.c_str()));
|
| - if (stream->getLength() <= 0) {
|
| - SkDELETE(stream);
|
| - stream = NULL;
|
| - }
|
| - }
|
| - return stream;
|
| + virtual SkStream* openStream() SK_OVERRIDE {
|
| + return SkStream::NewFromFile(fPath.c_str());
|
| }
|
|
|
| - virtual const char* getUniqueString() const {
|
| + virtual const char* getUniqueString() const SK_OVERRIDE {
|
| const char* str = strrchr(fPath.c_str(), '/');
|
| if (str) {
|
| str += 1; // skip the '/'
|
| @@ -359,19 +342,13 @@
|
|
|
| static bool get_name_and_style(const char path[], SkString* name,
|
| SkTypeface::Style* style, bool* isFixedWidth) {
|
| - SkMMAPStream stream(path);
|
| - if (stream.getLength() > 0) {
|
| - return find_name_and_attributes(&stream, name, style, isFixedWidth);
|
| + SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path));
|
| + if (stream.get()) {
|
| + return find_name_and_attributes(stream, name, style, isFixedWidth);
|
| + } else {
|
| + SkDebugf("---- failed to open <%s> as a font\n", path);
|
| + return false;
|
| }
|
| - else {
|
| - SkFILEStream stream(path);
|
| - if (stream.getLength() > 0) {
|
| - return find_name_and_attributes(&stream, name, style, isFixedWidth);
|
| - }
|
| - }
|
| -
|
| - SkDebugf("---- failed to open <%s> as a font\n", path);
|
| - return false;
|
| }
|
|
|
| // these globals are assigned (once) by load_system_fonts()
|
|
|