aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-05-15 15:50:07 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-05-15 15:50:07 +0200
commit640d2c720b5410162159ce1ba28deb39b1dbeb26 (patch)
tree8139cfc15e10042af026b70a51e861584bec9fec
parent7dc2a4bd862f72e51935b97f0802dbba06fb9b95 (diff)
Move scale into main
-rw-r--r--hershey.go3
-rw-r--r--main.go38
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)
+}