summaryrefslogtreecommitdiff
path: root/fonttobytes
diff options
context:
space:
mode:
Diffstat (limited to 'fonttobytes')
-rw-r--r--fonttobytes/main.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/fonttobytes/main.go b/fonttobytes/main.go
new file mode 100644
index 0000000..ed0752c
--- /dev/null
+++ b/fonttobytes/main.go
@@ -0,0 +1,50 @@
+package main
+
+import (
+ "bytes"
+ "compress/zlib"
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "log"
+ "os"
+)
+
+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
+ }
+
+ f, err := os.Open(flag.Arg(0))
+ if err != nil {
+ log.Fatalln("Failed to open file", flag.Arg(0), err)
+ }
+ fontbytes, err := ioutil.ReadAll(f)
+ if err != nil {
+ log.Fatalln("Failed to read file", flag.Arg(0), err)
+ }
+
+ var compressed bytes.Buffer
+ w := zlib.NewWriter(&compressed)
+ w.Write(fontbytes)
+ w.Close()
+
+ fmt.Printf("[]byte{")
+ first := true
+ for _, b := range compressed.Bytes() {
+ if first {
+ fmt.Printf("%d", b)
+ first = false
+ continue
+ }
+ fmt.Printf(", %d", b)
+ }
+ fmt.Printf("}\n")
+}