summaryrefslogtreecommitdiff
path: root/cmd/fonttobytes
diff options
context:
space:
mode:
authorNick White <git@njw.name>2019-11-01 15:53:08 +0000
committerNick White <git@njw.name>2019-11-01 15:53:08 +0000
commit488ae5c11cf7be4a8f35f6f82e19dda22663bcbf (patch)
tree791ded236243e2721c48a784bb484c42a819e374 /cmd/fonttobytes
parent64983a29e380a04eaf1b730e54cfe6f3399809f1 (diff)
Compress the font with zlib, and include it in repo
Diffstat (limited to 'cmd/fonttobytes')
-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")
}