From ade3f1497427e1af96c9e7e900a5a49078141d8a Mon Sep 17 00:00:00 2001 From: David Kuettel Date: Fri, 19 Apr 2013 16:24:19 -0700 Subject: [PATCH] Emit a warning message for .otf files, which are not supported yet --- .../typography/font/compression/SimpleRunner.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/com/google/typography/font/compression/SimpleRunner.java b/src/com/google/typography/font/compression/SimpleRunner.java index 7298293..d9d5d6f 100644 --- a/src/com/google/typography/font/compression/SimpleRunner.java +++ b/src/com/google/typography/font/compression/SimpleRunner.java @@ -3,6 +3,9 @@ package com.google.typography.font.compression; import com.google.common.io.Files; import com.google.typography.font.sfntly.Font; import com.google.typography.font.sfntly.FontFactory; +import com.google.typography.font.sfntly.Tag; +import com.google.typography.font.sfntly.table.truetype.GlyphTable; +import com.google.typography.font.sfntly.table.truetype.LocaTable; import java.io.File; import java.io.IOException; @@ -41,6 +44,11 @@ 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); @@ -58,6 +66,12 @@ public class SimpleRunner { } } + private static boolean isTrueType(Font font) { + LocaTable loca = font.getTable(Tag.loca); + GlyphTable glyf = font.getTable(Tag.glyf); + return (loca != null && glyf != null); + } + private static void usage() { System.err.println("Usage: SimpleRunner font..."); System.exit(-1);