diff --git a/src/com/google/typography/font/compression/AdvWidth.java b/src/com/google/typography/font/compression/AdvWidth.java index a95a1cd..f3d936b 100644 --- a/src/com/google/typography/font/compression/AdvWidth.java +++ b/src/com/google/typography/font/compression/AdvWidth.java @@ -15,6 +15,7 @@ import com.google.typography.font.sfntly.table.core.HorizontalMetricsTable; * @author raph@google.com (Raph Levien) */ public class AdvWidth { + public static WritableFontData encode(Font font) { HorizontalMetricsTable hmtx = font.getTable(Tag.hmtx); int nMetrics = hmtx.numberOfHMetrics(); diff --git a/src/com/google/typography/font/compression/CmapEncoder.java b/src/com/google/typography/font/compression/CmapEncoder.java index f461831..2aed40e 100644 --- a/src/com/google/typography/font/compression/CmapEncoder.java +++ b/src/com/google/typography/font/compression/CmapEncoder.java @@ -17,11 +17,12 @@ import java.util.List; import java.util.Map; /** - * @author raph@google.com (Raph Levien) - * * Experimental CMap encoder, based primarily on writing the _inverse_ encoding. + * + * @author raph@google.com (Raph Levien) */ public class CmapEncoder { + public static byte[] encode(Font font) { int nGlyphs = font.getTable(Tag.maxp).numGlyphs(); CMapTable cmapTable = font.getTable(Tag.cmap); diff --git a/src/com/google/typography/font/compression/CompressionRunner.java b/src/com/google/typography/font/compression/CompressionRunner.java index 97a8e6b..855005e 100644 --- a/src/com/google/typography/font/compression/CompressionRunner.java +++ b/src/com/google/typography/font/compression/CompressionRunner.java @@ -257,7 +257,7 @@ public class CompressionRunner { } else if (lastBase.equals("woff")) { result = toBytes(new WoffWriter().convert(font)); } else if (lastBase.equals("woff2")) { - result = toBytes(new Woff2Writer(lastArgs).convert(srcFont, font)); + result = toBytes(new Woff2Writer(lastArgs).convert(font)); } else if (lastBase.equals("eot")) { result = toBytes(new EOTWriter(true).convert(font)); } else if (lastBase.equals("uncomp")) { diff --git a/src/com/google/typography/font/compression/GlyfEncoder.java b/src/com/google/typography/font/compression/GlyfEncoder.java index ebaa80e..37125f0 100644 --- a/src/com/google/typography/font/compression/GlyfEncoder.java +++ b/src/com/google/typography/font/compression/GlyfEncoder.java @@ -21,10 +21,10 @@ import java.util.ArrayList; import java.util.List; /** - * @author Raph Levien - * * Implementation of compression of CTF glyph data, as per sections 5.6-5.10 and 6 of the spec. * This is a hacked-up version with a number of options, for experimenting. + * + * @author Raph Levien */ public class GlyfEncoder { diff --git a/src/com/google/typography/font/compression/GzipUtil.java b/src/com/google/typography/font/compression/GzipUtil.java index af04b8a..75fac1b 100644 --- a/src/com/google/typography/font/compression/GzipUtil.java +++ b/src/com/google/typography/font/compression/GzipUtil.java @@ -11,8 +11,11 @@ import java.util.zip.DeflaterOutputStream; /** * Simple utility for GZIP compression + * + * @author Raph Levien */ public class GzipUtil { + public static byte[] deflate(byte[] bytes) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); diff --git a/src/com/google/typography/font/compression/KernEncoder.java b/src/com/google/typography/font/compression/KernEncoder.java index c3df4c7..7b86633 100644 --- a/src/com/google/typography/font/compression/KernEncoder.java +++ b/src/com/google/typography/font/compression/KernEncoder.java @@ -11,13 +11,14 @@ import com.google.typography.font.sfntly.data.WritableFontData; import com.google.typography.font.sfntly.table.Table; /** - * @author raph@google.com (Raph Levien) - * * Encoder for "kern" table. This probably won't go in the spec because an even more * effective technique would be to do class kerning in the GDEF tables, but, even so, I wanted * to capture the stats. + * + * @author raph@google.com (Raph Levien) */ public class KernEncoder { + public static WritableFontData encode(Font font) { Table kernTable = font.getTable(Tag.kern); ReadableFontData data = kernTable.readFontData(); diff --git a/src/com/google/typography/font/compression/StatsCollector.java b/src/com/google/typography/font/compression/StatsCollector.java index 6eb7154..57be801 100644 --- a/src/com/google/typography/font/compression/StatsCollector.java +++ b/src/com/google/typography/font/compression/StatsCollector.java @@ -16,6 +16,7 @@ import java.util.List; * @author raph@google.com (Raph Levien) */ public class StatsCollector { + private final List values; public StatsCollector() { diff --git a/src/com/google/typography/font/compression/Woff2Writer.java b/src/com/google/typography/font/compression/Woff2Writer.java index 7f51d0f..c13647f 100644 --- a/src/com/google/typography/font/compression/Woff2Writer.java +++ b/src/com/google/typography/font/compression/Woff2Writer.java @@ -15,7 +15,11 @@ import com.google.typography.font.sfntly.table.core.FontHeaderTable; import java.util.List; import java.util.TreeSet; +/** + * @author raph@google.com (Raph Levien) + */ public class Woff2Writer { + private static final long SIGNATURE = 0x774f4632; private static final int WOFF2_HEADER_SIZE = 44; private static final int TABLE_ENTRY_SIZE = 5 * 4; @@ -25,7 +29,7 @@ public class Woff2Writer { private final CompressionType compressionType; private final boolean longForm; - Woff2Writer(String args) { + public Woff2Writer(String args) { CompressionType compressionType = CompressionType.NONE; boolean longForm = false; for (String arg : args.split(",")) { @@ -85,7 +89,7 @@ public class Woff2Writer { .put(Tag.intValue(new byte[] {'G', 'S', 'U', 'B'}), 28) .build(); - public WritableFontData convert(Font srcFont, Font font) { + public WritableFontData convert(Font font) { List entries = createTableDirectoryEntries(font); int size = computeCompressedFontSize(entries); WritableFontData writableFontData = WritableFontData.createWritableFontData(size);