OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkPDFDevice.h" | 8 #include "SkPDFDevice.h" |
9 #include "SkAnnotationKeys.h" | 9 #include "SkAnnotationKeys.h" |
10 #include "SkBitmapDevice.h" | 10 #include "SkBitmapDevice.h" |
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1124 // Validate user-input glyphs. | 1124 // Validate user-input glyphs. |
1125 SkGlyphID maxGlyphID = SkToU16(typefaceGlyphCount - 1); | 1125 SkGlyphID maxGlyphID = SkToU16(typefaceGlyphCount - 1); |
1126 for (int i = 0; i < glyphCount; ++i) { | 1126 for (int i = 0; i < glyphCount; ++i) { |
1127 glyphs[i] = SkTMin(maxGlyphID, glyphs[i]); | 1127 glyphs[i] = SkTMin(maxGlyphID, glyphs[i]); |
1128 } | 1128 } |
1129 } else { | 1129 } else { |
1130 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); | 1130 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); |
1131 } | 1131 } |
1132 | 1132 |
1133 bool defaultPositioning = (positioning == SkTextBlob::kDefault_Positioning); | 1133 bool defaultPositioning = (positioning == SkTextBlob::kDefault_Positioning); |
| 1134 paint.setHinting(SkPaint::kNo_Hinting); |
1134 SkAutoGlyphCache glyphCache(paint, nullptr, nullptr); | 1135 SkAutoGlyphCache glyphCache(paint, nullptr, nullptr); |
1135 | 1136 |
1136 SkPaint::Align alignment = paint.getTextAlign(); | 1137 SkPaint::Align alignment = paint.getTextAlign(); |
1137 if (defaultPositioning && alignment != SkPaint::kLeft_Align) { | 1138 if (defaultPositioning && alignment != SkPaint::kLeft_Align) { |
1138 SkScalar advance{0}; | 1139 SkScalar advance{0}; |
1139 for (int i = 0; i < glyphCount; ++i) { | 1140 for (int i = 0; i < glyphCount; ++i) { |
1140 advance += glyphCache->getGlyphIDAdvance(glyphs[i]).fAdvanceX; | 1141 advance += glyphCache->getGlyphIDAdvance(glyphs[i]).fAdvanceX; |
1141 } | 1142 } |
1142 SkScalar m = alignment == SkPaint::kCenter_Align | 1143 SkScalar m = alignment == SkPaint::kCenter_Align |
1143 ? 0.5f * advance : advance; | 1144 ? 0.5f * advance : advance; |
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2144 } | 2145 } |
2145 | 2146 |
2146 sk_sp<SkSpecialImage> SkPDFDevice::makeSpecial(const SkImage* image) { | 2147 sk_sp<SkSpecialImage> SkPDFDevice::makeSpecial(const SkImage* image) { |
2147 return SkSpecialImage::MakeFromImage(SkIRect::MakeWH(image->width(), image->
height()), | 2148 return SkSpecialImage::MakeFromImage(SkIRect::MakeWH(image->width(), image->
height()), |
2148 image->makeNonTextureImage()); | 2149 image->makeNonTextureImage()); |
2149 } | 2150 } |
2150 | 2151 |
2151 sk_sp<SkSpecialImage> SkPDFDevice::snapSpecial() { | 2152 sk_sp<SkSpecialImage> SkPDFDevice::snapSpecial() { |
2152 return nullptr; | 2153 return nullptr; |
2153 } | 2154 } |
OLD | NEW |