diff options
author | caryclark <caryclark@google.com> | 2015-08-31 09:22:38 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-31 09:22:38 -0700 |
commit | 5ef194c31ae498166bd9c468993514c5267ea077 (patch) | |
tree | c04f78d03a4a32ae36b5b45960e6a09ae57a7503 /tools | |
parent | 89971d4537f3b8bca3d310f9a44ab595c6c50ddc (diff) |
Suppress embedding fonts when the skp's fonts match the OS fonts.
The million SKPs generated require >5T of storage. A good deal
of that are copies of system fonts.
Chrome built with
#DEFINE SK_WHITELIST_SERIALIZED_TYPEFACES
will omit the font data if the font matches a precomputed
checksum.
The captured SKP prepends sk_ to the names of fonts that
have their data omitted. The SKP consumer can either add
renamed fonts from the recording machine, or add
gDeserializeTypefaceDelegate = WhitelistDeserializeTypeface;
which strips the sk_ prefix when deserializing typefaces.
whitelist_typefaces --check
Computes the checksums of fallback
fonts and returns 0 if the checksums match the checked-in
file SkWhitelistChecksum.cpp.
whitelist_typefaces --generate
Writes an updated version of SkWhitelistChecksum.cpp.
(Added Mike since this modifies a public header)
R=bungeman@google.com,rmistry@google.com,reed@google.com
Review URL: https://codereview.chromium.org/1317913005
Diffstat (limited to 'tools')
-rw-r--r-- | tools/whitelist_typefaces.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/whitelist_typefaces.cpp b/tools/whitelist_typefaces.cpp new file mode 100644 index 0000000000..205f54ac95 --- /dev/null +++ b/tools/whitelist_typefaces.cpp @@ -0,0 +1,38 @@ +/* + * Copyright 2013 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkForceLinking.h" +#include "SkGraphics.h" + +__SK_FORCE_IMAGE_DECODER_LINKING; + +extern bool CheckChecksums(); +extern bool GenerateChecksums(); + +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { + if (argc == 2) { + SkAutoGraphics ag; // Enable use of SkRTConfig + if (!strcmp(argv[1], "--check")) { + return (int) !CheckChecksums(); + } + if (!strcmp(argv[1], "--generate")) { + if (!GenerateChecksums()) { + return 2; + } + return 0; + } + } + SkDebugf("Usage:\n %s [--check] [--generate]\n\n", argv[0]); + return 3; +} + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif |