summaryrefslogtreecommitdiff
path: root/cmd/fonttobytes/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/fonttobytes/main.go')
-rw-r--r--cmd/fonttobytes/main.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/cmd/fonttobytes/main.go b/cmd/fonttobytes/main.go
new file mode 100644
index 0000000..011baa1
--- /dev/null
+++ b/cmd/fonttobytes/main.go
@@ -0,0 +1,47 @@
+package main
+
+import (
+ "bytes"
+ "compress/zlib"
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "log"
+)
+
+func main() {
+ flag.Usage = func() {
+ fmt.Fprintln(flag.CommandLine.Output(), "Usage: fonttobytes font.ttf")
+ flag.PrintDefaults()
+ }
+ flag.Parse()
+
+ if flag.NArg() != 1 {
+ flag.Usage()
+ return
+ }
+
+ font, err := ioutil.ReadFile(flag.Arg(0))
+ if err != nil {
+ log.Fatalln(err)
+ }
+
+ // compress with zlib
+ var buf bytes.Buffer
+ w := zlib.NewWriter(&buf)
+ w.Write(font)
+ w.Close()
+
+ // this could be done more simply with %+v, but that takes up
+ // significantly more space due to printing each byte in hex
+ // rather than dec format.
+
+ fmt.Printf("[]byte{")
+ for i, b := range buf.Bytes() {
+ if i > 0 {
+ fmt.Printf(", ")
+ }
+ fmt.Printf("%d", b)
+ }
+ fmt.Printf("}\n")
+}