diff options
author | David Kuettel <kuettel@google.com> | 2013-05-28 15:49:04 -0700 |
---|---|---|
committer | David Kuettel <kuettel@google.com> | 2013-05-28 15:49:04 -0700 |
commit | c34a8fce98a6399d136a797d59c49b8f3d254748 (patch) | |
tree | ef3d1ea28f0e5b2f768d1177e8846e19a255a52b | |
parent | ade3f1497427e1af96c9e7e900a5a49078141d8a (diff) | |
download | src-c34a8fce98a6399d136a797d59c49b8f3d254748.tar.gz |
Add early support for CFF
-rw-r--r-- | src/com/google/typography/font/compression/SimpleRunner.java | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/com/google/typography/font/compression/SimpleRunner.java b/src/com/google/typography/font/compression/SimpleRunner.java index d9d5d6f..c8fbece 100644 --- a/src/com/google/typography/font/compression/SimpleRunner.java +++ b/src/com/google/typography/font/compression/SimpleRunner.java @@ -20,7 +20,10 @@ public class SimpleRunner { private static final FontFactory FONT_FACTORY = FontFactory.getInstance(); private static final String GZIP = "gzip"; - private static final String WOFF2 = "glyf/cbbox,triplet,code,reslice:woff2/lzma"; + private static final String WOFF2 = "woff2/lzma"; + + private static final String TRUETYPE = "glyf/cbbox,triplet,code,reslice"; + private static final String CFF = ""; private static final String REPORT = "report.csv"; @@ -44,21 +47,24 @@ public class SimpleRunner { byte[] bytes = Files.toByteArray(file); Font font = FONT_FACTORY.loadFonts(bytes)[0]; - if (!isTrueType(font)) { - System.err.printf("WARNING: unable to compress: %s (not a TrueType font)\n", filename); - continue; - } - byte[] gzip = Experiment.run(font, GZIP); - byte[] woff2 = Experiment.run(font, WOFF2); + byte[] woff2 = Experiment.run(font, getOptions(font)); - stats.add( - CompressionStats.Stats.builder() + CompressionStats.Stats stat = CompressionStats.Stats.builder() .setFilename(file.getName()) .setSize(CompressionStats.Size.ORIGINAL, bytes.length) .setSize(CompressionStats.Size.GZIP, gzip.length) .setSize(CompressionStats.Size.WOFF2, woff2.length) - .build()); + .build(); + stats.add(stat); + + System.out.printf("> %s, %d, %d, %d, %.2f%%\n", + stat.getFilename(), + stat.getSize(CompressionStats.Size.ORIGINAL), + stat.getSize(CompressionStats.Size.GZIP), + stat.getSize(CompressionStats.Size.WOFF2), + stat.getPercent(CompressionStats.Size.GZIP, CompressionStats.Size.WOFF2)); + } catch (Throwable t) { System.err.printf("WARNING: failed to compress: %s\n", filename); t.printStackTrace(); @@ -72,6 +78,10 @@ public class SimpleRunner { return (loca != null && glyf != null); } + private static String getOptions(Font font) { + return String.format("%s:%s", (isTrueType(font)) ? TRUETYPE : CFF, WOFF2); + } + private static void usage() { System.err.println("Usage: SimpleRunner font..."); System.exit(-1); |