Add early support for CFF
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 @@
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 @@
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 @@
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);