From 640d2c720b5410162159ce1ba28deb39b1dbeb26 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 15 May 2015 15:50:07 +0200 Subject: Move scale into main --- hershey.go | 3 +-- main.go | 38 +++++++++++++++++++++++++++++++++----- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/hershey.go b/hershey.go index f4618ed..585f3ce 100644 --- a/hershey.go +++ b/hershey.go @@ -53,7 +53,7 @@ func parseData(s string, w, h, scale Unit) Set { return st } -func loadFont(fname string) Font { +func loadFont(fname string, scale Unit) Font { fnt := make(Font) f, err := os.Open(fname) @@ -70,7 +70,6 @@ func loadFont(fname string) Font { l := parsePoint(line[8]) r := parsePoint(line[9]) w := r - l - scale := Unit(2.5) fnt[rune(n)] = Glyph{ S: parseData(line[10:], w, 32, scale), W: w * scale, diff --git a/main.go b/main.go index c6332a2..01109a4 100644 --- a/main.go +++ b/main.go @@ -24,13 +24,9 @@ var selector = map[string]string{ "Gothic Italian Triplex": "gothitt.hmp", } -func main() { +func printAll(f Font) { var x, y Unit - fnt := loadFont("data/hershey") - m := getMap("data/" + selector["Roman Simplex"]) - - f := fnt.Select(m) for i := 32; i < 128; i++ { gl := f[rune(i)] if y+gl.W >= 4000 { @@ -41,3 +37,35 @@ func main() { y += gl.W } } + +func printStruct(f Font) { + fmt.Println("package main") + fmt.Println("var font = Font{") + for i := 0; i < len(f); i++ { + r := rune(i+32) + gl := f[r] + fmt.Printf("%q: Glyph{\n", r) + fmt.Println("S: Set{") + for _, s := range gl.S { + fmt.Println("Path{") + for _, p := range s { + fmt.Print("Point{") + fmt.Printf("Unit(%v),", p.X) + fmt.Printf("Unit(%v)", p.Y) + fmt.Println("},") + } + fmt.Println("},") + } + fmt.Println("},") + fmt.Printf("W: Unit(%v),\n", gl.W) + fmt.Println("},") + } + fmt.Println("}") +} + +func main() { + f := loadFont("data/hershey", Unit(3)) + m := getMap("data/" + selector["Roman Simplex"]) + fnt := f.Select(m) + printStruct(fnt) +} -- cgit v1.2.3