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.go29
1 files changed, 22 insertions, 7 deletions
diff --git a/cmd/fonttobytes/main.go b/cmd/fonttobytes/main.go
index 9db47e4..011baa1 100644
--- a/cmd/fonttobytes/main.go
+++ b/cmd/fonttobytes/main.go
@@ -1,11 +1,12 @@
package main
import (
+ "bytes"
+ "compress/zlib"
"flag"
"fmt"
"io/ioutil"
"log"
- "strings"
)
func main() {
@@ -20,13 +21,27 @@ func main() {
return
}
- b, err := ioutil.ReadFile(flag.Arg(0))
+ font, err := ioutil.ReadFile(flag.Arg(0))
if err != nil {
log.Fatalln(err)
}
- s := fmt.Sprintf("%v", b)
- s1 := strings.Replace(s, "[", "{", -1)
- s2 := strings.Replace(s1, "]", "}", -1)
- s3 := strings.Replace(s2, " ", ", ", -1)
- fmt.Printf("[]byte%s\n", s3)
+
+ // 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")
}