diff options
Diffstat (limited to 'skia')
-rw-r--r-- | skia/SConscript | 2 | ||||
-rw-r--r-- | skia/ports/SkFontHost_FreeType.cpp | 8 | ||||
-rw-r--r-- | skia/ports/SkFontHost_fontconfig.cpp | 6 | ||||
-rw-r--r-- | skia/ports/SkFontHost_gamma_none.cpp | 35 |
4 files changed, 46 insertions, 5 deletions
diff --git a/skia/SConscript b/skia/SConscript index 8dfd26a..386a219 100644 --- a/skia/SConscript +++ b/skia/SConscript @@ -160,7 +160,7 @@ if env['PLATFORM'] == 'posix': input_files.remove('ports/SkFontHost_none.cpp') input_files.append('sgl/SkTypeface.cpp') input_files.append('ports/SkFontHost_FreeType.cpp') - input_files.append('ports/SkFontHost_gamma.cpp') + input_files.append('ports/SkFontHost_gamma_none.cpp') input_files.append('ports/SkFontHost_fontconfig.cpp') input_files.append('images/SkMMapStream.cpp') diff --git a/skia/ports/SkFontHost_FreeType.cpp b/skia/ports/SkFontHost_FreeType.cpp index 6430d2d..c10415d 100644 --- a/skia/ports/SkFontHost_FreeType.cpp +++ b/skia/ports/SkFontHost_FreeType.cpp @@ -329,7 +329,13 @@ SkScalerContext_FreeType::SkScalerContext_FreeType(const SkDescriptor* desc) #endif break; case kNormal_Hints: - flags |= FT_LOAD_FORCE_AUTOHINT; + // Uncommenting the following line disables the font's hinting + // tables. For test_shell we want font hinting on so that we can + // generate baselines that look at little like Firefox. It's + // expected that Mike Reed will rework this code sometime soon so + // we don't wish to make more extensive changes. + + // flags |= FT_LOAD_FORCE_AUTOHINT; break; } diff --git a/skia/ports/SkFontHost_fontconfig.cpp b/skia/ports/SkFontHost_fontconfig.cpp index 2836db3..cb95a60 100644 --- a/skia/ports/SkFontHost_fontconfig.cpp +++ b/skia/ports/SkFontHost_fontconfig.cpp @@ -206,7 +206,7 @@ SkTypeface* SkFontHost::FindTypeface(const SkTypeface* familyFace, FC_WEIGHT_BOLD : FC_WEIGHT_NORMAL; const int italic = style & SkTypeface::kItalic ? FC_SLANT_ITALIC : FC_SLANT_ROMAN; - FcPattern* match = FontMatch(FC_FULLNAME, FcTypeString, resolved_family_name, + FcPattern* match = FontMatch(FC_FAMILY, FcTypeString, resolved_family_name, FC_WEIGHT, FcTypeInteger, bold, FC_SLANT, FcTypeInteger, italic, NULL); @@ -301,14 +301,14 @@ SkScalerContext* SkFontHost::CreateFallbackScalerContext SkAutoDescriptor ad(sizeof(rec) + SkDescriptor::ComputeOverhead(1)); SkDescriptor* desc = ad.getDesc(); - + desc->init(); SkScalerContext::Rec* newRec = (SkScalerContext::Rec*)desc->addEntry(kRec_SkDescriptorTag, sizeof(rec), &rec); newRec->fFontID = id; desc->computeChecksum(); - + return SkFontHost::CreateScalerContext(desc); } diff --git a/skia/ports/SkFontHost_gamma_none.cpp b/skia/ports/SkFontHost_gamma_none.cpp new file mode 100644 index 0000000..cdc507a --- /dev/null +++ b/skia/ports/SkFontHost_gamma_none.cpp @@ -0,0 +1,35 @@ +/* Copyright 2008, Google Inc. +** +** Licensed under the Apache License, Version 2.0 (the "License");· +** you may not use this file except in compliance with the License.· +** You may obtain a copy of the License at· +** +** http://www.apache.org/licenses/LICENSE-2.0· +** +** Unless required by applicable law or agreed to in writing, software· +** distributed under the License is distributed on an "AS IS" BASIS,· +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.· +** See the License for the specific language governing permissions and· +** limitations under the License. +*/ + +// ----------------------------------------------------------------------------- +// This is a noop gamma implementation for systems where gamma is already +// corrected, or dealt with in a system wide fashion. For example, on X windows +// one uses the xgamma utility to set the server-wide gamma correction value. +// ----------------------------------------------------------------------------- + +#include "SkFontHost.h" +#include <math.h> + +void SkFontHost::GetGammaTables(const uint8_t* tables[2]) +{ + tables[0] = NULL; + tables[1] = NULL; +} + +int SkFontHost::ComputeGammaFlag(const SkPaint& paint) +{ + return 0; +} + |