blob: cbe3dd1d1a18e05cd4b8507fa16ba198d6e1ba0b [file] [log] [blame]
Ben Wagner483c7722018-02-20 17:06:07 -05001/*
2 * Copyright 2014 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
Hal Canaryea60b952018-08-21 11:45:46 -04008#include "sk_tool_utils.h"
9
Ben Wagner483c7722018-02-20 17:06:07 -050010#include "Resources.h"
11#include "SkCommonFlags.h"
12#include "SkFontMgr.h"
13#include "SkFontStyle.h"
14#include "SkMutex.h"
15#include "SkOSFile.h"
Ben Wagner83c6b962018-07-10 19:40:15 -040016#include "SkTestFontMgr.h"
Hal Canaryea60b952018-08-21 11:45:46 -040017#include "SkTypeface.h"
18#include "SkUTF.h"
Ben Wagner483c7722018-02-20 17:06:07 -050019
20namespace sk_tool_utils {
21
Ben Wagner483c7722018-02-20 17:06:07 -050022sk_sp<SkTypeface> emoji_typeface() {
Ben Wagner97182cc2018-02-15 10:20:04 -050023 const char* filename;
Ben Wagner483c7722018-02-20 17:06:07 -050024#if defined(SK_BUILD_FOR_WIN)
Ben Wagner97182cc2018-02-15 10:20:04 -050025 filename = "fonts/colr.ttf";
26#elif defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
27 filename = "fonts/sbix.ttf";
28#else
29 filename = "fonts/cbdt.ttf";
30#endif
31 sk_sp<SkTypeface> typeface = MakeResourceAsTypeface(filename);
Ben Wagner483c7722018-02-20 17:06:07 -050032 if (typeface) {
33 return typeface;
34 }
Ben Wagner97182cc2018-02-15 10:20:04 -050035 return SkTypeface::MakeFromName("Emoji", SkFontStyle());
Ben Wagner483c7722018-02-20 17:06:07 -050036}
37
38const char* emoji_sample_text() {
Ben Wagner97182cc2018-02-15 10:20:04 -050039 return "\xF0\x9F\x98\x80" " " "\xE2\x99\xA2"; // 😀 ♢
Ben Wagner483c7722018-02-20 17:06:07 -050040}
Ben Wagner83c6b962018-07-10 19:40:15 -040041static sk_sp<SkTypeface> create_font(const char* name, SkFontStyle style) {
42 static sk_sp<SkFontMgr> portableFontMgr = MakePortableFontMgr();
43 return portableFontMgr->legacyMakeTypeface(name, style);
44}
45
Ben Wagner483c7722018-02-20 17:06:07 -050046sk_sp<SkTypeface> create_portable_typeface(const char* name, SkFontStyle style) {
47 return create_font(name, style);
48}
Ben Wagner483c7722018-02-20 17:06:07 -050049}