34 {
37
38 if (FLAGS_input.isEmpty() || FLAGS_output.isEmpty()) {
39 SkDebugf(
"Missing required 'input' and 'output' args.\n");
40 return 1;
41 }
42
45 SkDebugf(
"Could not read file: %s\n", FLAGS_input[0]);
46 return 1;
47 }
48
51 SkDebugf(
"Could not write file: %s\n", FLAGS_output[0]);
52 return 1;
53 }
54
55#if defined(SK_BUILD_FOR_MAC) && defined(SK_FONTMGR_CORETEXT_AVAILABLE)
57#elif defined(SK_BUILD_FOR_ANDROID) && defined(SK_FONTMGR_ANDROID_AVAILABLE)
59#elif defined(SK_BUILD_FOR_UNIX) && defined(SK_FONTMGR_FONTCONFIG_AVAILABLE)
61#else
63#endif
64
66 SkDebugf(
"Could not preshape: %s\n", FLAGS_input[0]);
67 return -1;
68 }
69
70 return 0;
71 }
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
SK_API sk_sp< SkFontMgr > SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts *custom)
SK_API sk_sp< SkFontMgr > SkFontMgr_New_Custom_Empty()
SK_API sk_sp< SkFontMgr > SkFontMgr_New_FontConfig(FcConfig *fc)
SK_API sk_sp< SkFontMgr > SkFontMgr_New_CoreText(CTFontCollectionRef)
static void Parse(int argc, const char *const *argv)
static sk_sp< SkData > MakeFromFileName(const char path[])
sk_sp< SkFontMgr > fontMgr
sk_sp< Factory > BestAvailable()
bool Preshape(const char *json, size_t size, SkWStream *stream, const sk_sp< SkFontMgr > &fmgr, const sk_sp< SkShapers::Factory > &sfact, const sk_sp< skresources::ResourceProvider > &rp)
std::shared_ptr< const fml::Mapping > data