Record the WOFF 2.0 compression improvement (%) in the CSV file
diff --git a/src/com/google/typography/font/compression/CompressionStats.java b/src/com/google/typography/font/compression/CompressionStats.java
index 77c55b6..d065fbf 100644
--- a/src/com/google/typography/font/compression/CompressionStats.java
+++ b/src/com/google/typography/font/compression/CompressionStats.java
@@ -72,6 +72,12 @@
return sizes.get(size);
}
+ public double getPercent(Size s1, Size s2) {
+ long v1 = sizes.get(s1);
+ long v2 = sizes.get(s2);
+ return 100.0 * (v1 - v2) / v1;
+ }
+
public static Builder builder() {
return new Builder();
}
diff --git a/src/com/google/typography/font/compression/CsvReport.java b/src/com/google/typography/font/compression/CsvReport.java
index b144b06..993bec6 100644
--- a/src/com/google/typography/font/compression/CsvReport.java
+++ b/src/com/google/typography/font/compression/CsvReport.java
@@ -17,13 +17,14 @@
public static void create(CompressionStats stats, String filename) throws IOException {
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
try {
- writer.printf("Font, Original, GZIP, WOFF 2.0\n");
+ writer.printf("'Font', 'Original (bytes)', 'GZIP (bytes)', 'WOFF 2.0 (bytes)', '%% Improvement'\n");
for (CompressionStats.Stats stat : stats.values()) {
- writer.printf("%s, %d, %d, %d\n",
+ writer.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.getSize(CompressionStats.Size.WOFF2),
+ stat.getPercent(CompressionStats.Size.GZIP, CompressionStats.Size.WOFF2));
}
} finally {
Closeables.closeQuietly(writer);