Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Unified Diff: tools/sk_tool_utils.cpp

Issue 1256903002: make fontscalar gammatext lcdtext typeface verttext2 gm portable (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove useless gm; fix nit Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/sk_tool_utils.h ('k') | tools/sk_tool_utils_font.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/sk_tool_utils.cpp
diff --git a/tools/sk_tool_utils.cpp b/tools/sk_tool_utils.cpp
index 9ab86edf2fb16c5d253f15649fead40521d7dd78..4897938f0013c26813abd860c1d8f5d667ddf8ca 100644
--- a/tools/sk_tool_utils.cpp
+++ b/tools/sk_tool_utils.cpp
@@ -17,10 +17,52 @@
#include "SkTextBlob.h"
DEFINE_bool(portableFonts, false, "Use portable fonts");
-DEFINE_bool(resourceFonts, false, "Use resource fonts");
namespace sk_tool_utils {
+/* these are the default fonts chosen by Chrome for serif, sans-serif, and monospace */
+static const char* gStandardFontNames[][3] = {
+ { "Times", "Helvetica", "Courier" }, // Mac
+ { "Times New Roman", "Helvetica", "Courier" }, // iOS
+ { "Times New Roman", "Arial", "Courier New" }, // Win
+ { "Times New Roman", "Arial", "Monospace" }, // Ubuntu
+ { "Droid Serif", "Droid Sans", "Droid Sans Mono" }, // Android
+ { "Tinos", "Arimo", "Cousine" } // ChromeOS
+};
+
+const char* platform_font_name(const char* name) {
+ SkString platform = major_platform_os_name();
+ int index;
+ if (!strcmp(name, "serif")) {
+ index = 0;
+ } else if (!strcmp(name, "san-serif")) {
+ index = 1;
+ } else if (!strcmp(name, "monospace")) {
+ index = 2;
+ } else {
+ return name;
+ }
+ if (platform.equals("Mac")) {
+ return gStandardFontNames[0][index];
+ }
+ if (platform.equals("iOS")) {
+ return gStandardFontNames[1][index];
+ }
+ if (platform.equals("Win")) {
+ return gStandardFontNames[2][index];
+ }
+ if (platform.equals("Ubuntu")) {
+ return gStandardFontNames[3][index];
+ }
+ if (platform.equals("Android")) {
+ return gStandardFontNames[4][index];
+ }
+ if (platform.equals("ChromeOS")) {
+ return gStandardFontNames[5][index];
+ }
+ return name;
+}
+
const char* platform_os_emoji() {
const char* osName = platform_os_name();
if (!strcmp(osName, "Android") || !strcmp(osName, "Ubuntu")) {
@@ -69,6 +111,23 @@ const char* platform_os_name() {
return "";
}
+// omit version number in returned value
+SkString major_platform_os_name() {
+ SkString name;
+ for (int index = 0; index < FLAGS_key.count(); index += 2) {
+ if (!strcmp("os", FLAGS_key[index])) {
+ const char* platform = FLAGS_key[index + 1];
+ const char* end = platform;
+ while (*end && (*end < '0' || *end > '9')) {
+ ++end;
+ }
+ name.append(platform, end - platform);
+ break;
+ }
+ }
+ return name;
+}
+
const char* platform_extra_config(const char* config) {
for (int index = 0; index < FLAGS_key.count(); index += 2) {
if (!strcmp("extra_config", FLAGS_key[index]) && !strcmp(config, FLAGS_key[index + 1])) {
@@ -103,8 +162,6 @@ SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style style)
SkTypeface* face;
if (FLAGS_portableFonts) {
face = create_font(name, style);
- } else if (FLAGS_resourceFonts) {
- face = resource_font(name, style);
} else {
face = SkTypeface::CreateFromName(name, style);
}
« no previous file with comments | « tools/sk_tool_utils.h ('k') | tools/sk_tool_utils_font.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698