| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/gfx/harfbuzz_font_skia.h" | 5 #include "ui/gfx/harfbuzz_font_skia.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <limits> | 10 #include <limits> |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 base::LazyInstance<FontFuncs>::Leaky g_font_funcs = LAZY_INSTANCE_INITIALIZER; | 209 base::LazyInstance<FontFuncs>::Leaky g_font_funcs = LAZY_INSTANCE_INITIALIZER; |
| 210 | 210 |
| 211 // Returns the raw data of the font table |tag|. | 211 // Returns the raw data of the font table |tag|. |
| 212 hb_blob_t* GetFontTable(hb_face_t* face, hb_tag_t tag, void* user_data) { | 212 hb_blob_t* GetFontTable(hb_face_t* face, hb_tag_t tag, void* user_data) { |
| 213 SkTypeface* typeface = reinterpret_cast<SkTypeface*>(user_data); | 213 SkTypeface* typeface = reinterpret_cast<SkTypeface*>(user_data); |
| 214 | 214 |
| 215 const size_t table_size = typeface->getTableSize(tag); | 215 const size_t table_size = typeface->getTableSize(tag); |
| 216 if (!table_size) | 216 if (!table_size) |
| 217 return 0; | 217 return 0; |
| 218 | 218 |
| 219 scoped_ptr<char[]> buffer(new char[table_size]); | 219 std::unique_ptr<char[]> buffer(new char[table_size]); |
| 220 if (!buffer) | 220 if (!buffer) |
| 221 return 0; | 221 return 0; |
| 222 size_t actual_size = typeface->getTableData(tag, 0, table_size, buffer.get()); | 222 size_t actual_size = typeface->getTableData(tag, 0, table_size, buffer.get()); |
| 223 if (table_size != actual_size) | 223 if (table_size != actual_size) |
| 224 return 0; | 224 return 0; |
| 225 | 225 |
| 226 char* buffer_raw = buffer.release(); | 226 char* buffer_raw = buffer.release(); |
| 227 return hb_blob_create(buffer_raw, table_size, HB_MEMORY_MODE_WRITABLE, | 227 return hb_blob_create(buffer_raw, table_size, HB_MEMORY_MODE_WRITABLE, |
| 228 buffer_raw, DeleteArrayByType<char>); | 228 buffer_raw, DeleteArrayByType<char>); |
| 229 } | 229 } |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 // TODO(ckocagil): Do we need to update these params later? | 280 // TODO(ckocagil): Do we need to update these params later? |
| 281 internal::ApplyRenderParams(params, subpixel_rendering_suppressed, | 281 internal::ApplyRenderParams(params, subpixel_rendering_suppressed, |
| 282 &hb_font_data->paint_); | 282 &hb_font_data->paint_); |
| 283 hb_font_set_funcs(harfbuzz_font, g_font_funcs.Get().get(), hb_font_data, | 283 hb_font_set_funcs(harfbuzz_font, g_font_funcs.Get().get(), hb_font_data, |
| 284 DeleteByType<FontData>); | 284 DeleteByType<FontData>); |
| 285 hb_font_make_immutable(harfbuzz_font); | 285 hb_font_make_immutable(harfbuzz_font); |
| 286 return harfbuzz_font; | 286 return harfbuzz_font; |
| 287 } | 287 } |
| 288 | 288 |
| 289 } // namespace gfx | 289 } // namespace gfx |
| OLD | NEW |