From f39f1466a42caae953d94ac84ad9d6264c4bf85c Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 30 Sep 2024 11:55:43 +0100 Subject: [PATCH 01/16] init --- README.md | 11 ++ fonts/0.dsc | 10 ++ fonts/1.dsc | 8 + fonts/2.dsc | 16 ++ fonts/3.dsc | 14 ++ fonts/4.dsc | 12 ++ fonts/5.dsc | 12 ++ fonts/6.dsc | 12 ++ fonts/7.dsc | 10 ++ fonts/8.dsc | 14 ++ fonts/9.dsc | 12 ++ fonts/ampersand.dsc | 20 +++ fonts/ampersand.sml | 135 +++++++++++++++++ fonts/angle-bracket-closed.dsc | 14 ++ fonts/angle-bracket-closed.sml | 99 +++++++++++++ fonts/angle-bracket-open.dsc | 14 ++ fonts/angle-bracket-open.sml | 99 +++++++++++++ fonts/ascii-at.sml | 99 +++++++++++++ fonts/ascii-dot.sml | 27 ++++ fonts/ascii-eight.sml | 99 +++++++++++++ fonts/ascii-equals.sml | 39 +++++ fonts/ascii-five.sml | 87 +++++++++++ fonts/ascii-four.sml | 87 +++++++++++ fonts/ascii-hash.sml | 63 ++++++++ fonts/ascii-minus.sml | 27 ++++ fonts/ascii-nine.sml | 87 +++++++++++ fonts/ascii-one.sml | 63 ++++++++ fonts/ascii-percent.sml | 171 +++++++++++++++++++++ fonts/ascii-pipe.sml | 27 ++++ fonts/ascii-plus.sml | 39 +++++ fonts/ascii-seven.sml | 75 ++++++++++ fonts/ascii-six.sml | 87 +++++++++++ fonts/ascii-three.sml | 99 +++++++++++++ fonts/ascii-two.sml | 111 ++++++++++++++ fonts/ascii-zero.sml | 75 ++++++++++ fonts/asterisk.dsc | 12 ++ fonts/asterisk.sml | 87 +++++++++++ fonts/at.dsc | 14 ++ fonts/backtick.dsc | 4 + fonts/backtick.sml | 39 +++++ fonts/bracket-closed.dsc | 10 ++ fonts/bracket-closed.sml | 75 ++++++++++ fonts/bracket-open.dsc | 10 ++ fonts/bracket-open.sml | 75 ++++++++++ fonts/caret.dsc | 10 ++ fonts/caret.sml | 75 ++++++++++ fonts/colon-semi.dsc | 8 + fonts/colon.dsc | 4 + fonts/colon.sml | 39 +++++ fonts/comma.dsc | 6 + fonts/comma.sml | 51 +++++++ fonts/cozette-ascii.mlb | 111 ++++++++++++++ fonts/cozette-ascii.sml | 253 ++++++++++++++++++++++++++++++++ fonts/curly-brace-closed.dsc | 10 ++ fonts/curly-brace-closed.sml | 75 ++++++++++ fonts/curly-brace-open.dsc | 10 ++ fonts/curly-brace-open.sml | 75 ++++++++++ fonts/dollar.dsc | 16 ++ fonts/dollar.sml | 111 ++++++++++++++ fonts/dot.dsc | 2 + fonts/equals.dsc | 4 + fonts/exclamation-mark.dsc | 4 + fonts/exclamation-mark.sml | 39 +++++ fonts/hash.dsc | 8 + fonts/lower-case-a.dsc | 10 ++ fonts/lower-case-a.sml | 75 ++++++++++ fonts/lower-case-b.dsc | 8 + fonts/lower-case-b.sml | 63 ++++++++ fonts/lower-case-c.dsc | 10 ++ fonts/lower-case-c.sml | 75 ++++++++++ fonts/lower-case-d.dsc | 8 + fonts/lower-case-d.sml | 63 ++++++++ fonts/lower-case-e.dsc | 12 ++ fonts/lower-case-e.sml | 87 +++++++++++ fonts/lower-case-f.dsc | 6 + fonts/lower-case-f.sml | 51 +++++++ fonts/lower-case-g.dsc | 10 ++ fonts/lower-case-g.sml | 75 ++++++++++ fonts/lower-case-h.dsc | 6 + fonts/lower-case-h.sml | 51 +++++++ fonts/lower-case-i.dsc | 8 + fonts/lower-case-i.sml | 63 ++++++++ fonts/lower-case-j.dsc | 10 ++ fonts/lower-case-j.sml | 75 ++++++++++ fonts/lower-case-k.dsc | 14 ++ fonts/lower-case-k.sml | 99 +++++++++++++ fonts/lower-case-l.dsc | 6 + fonts/lower-case-l.sml | 51 +++++++ fonts/lower-case-m.dsc | 10 ++ fonts/lower-case-m.sml | 75 ++++++++++ fonts/lower-case-n.dsc | 6 + fonts/lower-case-n.sml | 51 +++++++ fonts/lower-case-o.dsc | 8 + fonts/lower-case-o.sml | 63 ++++++++ fonts/lower-case-p.dsc | 8 + fonts/lower-case-p.sml | 63 ++++++++ fonts/lower-case-q.dsc | 10 ++ fonts/lower-case-q.sml | 75 ++++++++++ fonts/lower-case-r.dsc | 6 + fonts/lower-case-r.sml | 51 +++++++ fonts/lower-case-s.dsc | 10 ++ fonts/lower-case-s.sml | 75 ++++++++++ fonts/lower-case-t.dsc | 6 + fonts/lower-case-t.sml | 51 +++++++ fonts/lower-case-u.dsc | 6 + fonts/lower-case-u.sml | 51 +++++++ fonts/lower-case-v.dsc | 10 ++ fonts/lower-case-v.sml | 75 ++++++++++ fonts/lower-case-w.dsc | 10 ++ fonts/lower-case-w.sml | 75 ++++++++++ fonts/lower-case-x.dsc | 18 +++ fonts/lower-case-x.sml | 123 ++++++++++++++++ fonts/lower-case-y.dsc | 8 + fonts/lower-case-y.sml | 63 ++++++++ fonts/lower-case-z.dsc | 12 ++ fonts/lower-case-z.sml | 87 +++++++++++ fonts/minus.dsc | 2 + fonts/percent.dsc | 26 ++++ fonts/pipe.dsc | 2 + fonts/plus.dsc | 4 + fonts/question-mark.dsc | 12 ++ fonts/question-mark.sml | 87 +++++++++++ fonts/quotes-double.dsc | 4 + fonts/quotes-double.sml | 39 +++++ fonts/quotes-single.dsc | 2 + fonts/quotes-single.sml | 27 ++++ fonts/semi-colon.sml | 63 ++++++++ fonts/slash-backwards.dsc | 10 ++ fonts/slash-backwards.sml | 75 ++++++++++ fonts/slash-forwards.dsc | 10 ++ fonts/slash-forwards.sml | 75 ++++++++++ fonts/space.sml | 5 + fonts/square-bracket-closed.dsc | 6 + fonts/square-bracket-closed.sml | 51 +++++++ fonts/square-bracket-open.dsc | 6 + fonts/square-bracket-open.sml | 51 +++++++ fonts/tilde.dsc | 10 ++ fonts/tilde.sml | 75 ++++++++++ fonts/underscore.dsc | 2 + fonts/underscore.sml | 27 ++++ fonts/unknown-char.dsc | 8 + fonts/unknown-char.sml | 63 ++++++++ fonts/upper-case-a.dsc | 8 + fonts/upper-case-a.sml | 63 ++++++++ fonts/upper-case-b.dsc | 12 ++ fonts/upper-case-b.sml | 87 +++++++++++ fonts/upper-case-c.dsc | 10 ++ fonts/upper-case-c.sml | 75 ++++++++++ fonts/upper-case-d.dsc | 12 ++ fonts/upper-case-d.sml | 87 +++++++++++ fonts/upper-case-e.dsc | 8 + fonts/upper-case-e.sml | 63 ++++++++ fonts/upper-case-f.dsc | 6 + fonts/upper-case-f.sml | 51 +++++++ fonts/upper-case-g.dsc | 12 ++ fonts/upper-case-g.sml | 87 +++++++++++ fonts/upper-case-h.dsc | 6 + fonts/upper-case-h.sml | 51 +++++++ fonts/upper-case-i.dsc | 6 + fonts/upper-case-i.sml | 51 +++++++ fonts/upper-case-j.dsc | 8 + fonts/upper-case-j.sml | 63 ++++++++ fonts/upper-case-k.dsc | 14 ++ fonts/upper-case-k.sml | 99 +++++++++++++ fonts/upper-case-l.dsc | 4 + fonts/upper-case-l.sml | 39 +++++ fonts/upper-case-m.dsc | 10 ++ fonts/upper-case-m.sml | 75 ++++++++++ fonts/upper-case-n.dsc | 10 ++ fonts/upper-case-n.sml | 75 ++++++++++ fonts/upper-case-o.dsc | 8 + fonts/upper-case-o.sml | 63 ++++++++ fonts/upper-case-p.dsc | 8 + fonts/upper-case-p.sml | 63 ++++++++ fonts/upper-case-q.dsc | 12 ++ fonts/upper-case-q.sml | 87 +++++++++++ fonts/upper-case-r.dsc | 12 ++ fonts/upper-case-r.sml | 87 +++++++++++ fonts/upper-case-s.dsc | 14 ++ fonts/upper-case-s.sml | 99 +++++++++++++ fonts/upper-case-t.dsc | 4 + fonts/upper-case-t.sml | 39 +++++ fonts/upper-case-u.dsc | 6 + fonts/upper-case-u.sml | 51 +++++++ fonts/upper-case-v.dsc | 10 ++ fonts/upper-case-v.sml | 75 ++++++++++ fonts/upper-case-w.dsc | 10 ++ fonts/upper-case-w.sml | 75 ++++++++++ fonts/upper-case-x.dsc | 18 +++ fonts/upper-case-x.sml | 123 ++++++++++++++++ fonts/upper-case-y.dsc | 10 ++ fonts/upper-case-y.sml | 75 ++++++++++ fonts/upper-case-z.dsc | 12 ++ fonts/upper-case-z.sml | 87 +++++++++++ 194 files changed, 8035 insertions(+) create mode 100644 README.md create mode 100644 fonts/0.dsc create mode 100644 fonts/1.dsc create mode 100644 fonts/2.dsc create mode 100644 fonts/3.dsc create mode 100644 fonts/4.dsc create mode 100644 fonts/5.dsc create mode 100644 fonts/6.dsc create mode 100644 fonts/7.dsc create mode 100644 fonts/8.dsc create mode 100644 fonts/9.dsc create mode 100644 fonts/ampersand.dsc create mode 100644 fonts/ampersand.sml create mode 100644 fonts/angle-bracket-closed.dsc create mode 100644 fonts/angle-bracket-closed.sml create mode 100644 fonts/angle-bracket-open.dsc create mode 100644 fonts/angle-bracket-open.sml create mode 100644 fonts/ascii-at.sml create mode 100644 fonts/ascii-dot.sml create mode 100644 fonts/ascii-eight.sml create mode 100644 fonts/ascii-equals.sml create mode 100644 fonts/ascii-five.sml create mode 100644 fonts/ascii-four.sml create mode 100644 fonts/ascii-hash.sml create mode 100644 fonts/ascii-minus.sml create mode 100644 fonts/ascii-nine.sml create mode 100644 fonts/ascii-one.sml create mode 100644 fonts/ascii-percent.sml create mode 100644 fonts/ascii-pipe.sml create mode 100644 fonts/ascii-plus.sml create mode 100644 fonts/ascii-seven.sml create mode 100644 fonts/ascii-six.sml create mode 100644 fonts/ascii-three.sml create mode 100644 fonts/ascii-two.sml create mode 100644 fonts/ascii-zero.sml create mode 100644 fonts/asterisk.dsc create mode 100644 fonts/asterisk.sml create mode 100644 fonts/at.dsc create mode 100644 fonts/backtick.dsc create mode 100644 fonts/backtick.sml create mode 100644 fonts/bracket-closed.dsc create mode 100644 fonts/bracket-closed.sml create mode 100644 fonts/bracket-open.dsc create mode 100644 fonts/bracket-open.sml create mode 100644 fonts/caret.dsc create mode 100644 fonts/caret.sml create mode 100644 fonts/colon-semi.dsc create mode 100644 fonts/colon.dsc create mode 100644 fonts/colon.sml create mode 100644 fonts/comma.dsc create mode 100644 fonts/comma.sml create mode 100644 fonts/cozette-ascii.mlb create mode 100644 fonts/cozette-ascii.sml create mode 100644 fonts/curly-brace-closed.dsc create mode 100644 fonts/curly-brace-closed.sml create mode 100644 fonts/curly-brace-open.dsc create mode 100644 fonts/curly-brace-open.sml create mode 100644 fonts/dollar.dsc create mode 100644 fonts/dollar.sml create mode 100644 fonts/dot.dsc create mode 100644 fonts/equals.dsc create mode 100644 fonts/exclamation-mark.dsc create mode 100644 fonts/exclamation-mark.sml create mode 100644 fonts/hash.dsc create mode 100644 fonts/lower-case-a.dsc create mode 100644 fonts/lower-case-a.sml create mode 100644 fonts/lower-case-b.dsc create mode 100644 fonts/lower-case-b.sml create mode 100644 fonts/lower-case-c.dsc create mode 100644 fonts/lower-case-c.sml create mode 100644 fonts/lower-case-d.dsc create mode 100644 fonts/lower-case-d.sml create mode 100644 fonts/lower-case-e.dsc create mode 100644 fonts/lower-case-e.sml create mode 100644 fonts/lower-case-f.dsc create mode 100644 fonts/lower-case-f.sml create mode 100644 fonts/lower-case-g.dsc create mode 100644 fonts/lower-case-g.sml create mode 100644 fonts/lower-case-h.dsc create mode 100644 fonts/lower-case-h.sml create mode 100644 fonts/lower-case-i.dsc create mode 100644 fonts/lower-case-i.sml create mode 100644 fonts/lower-case-j.dsc create mode 100644 fonts/lower-case-j.sml create mode 100644 fonts/lower-case-k.dsc create mode 100644 fonts/lower-case-k.sml create mode 100644 fonts/lower-case-l.dsc create mode 100644 fonts/lower-case-l.sml create mode 100644 fonts/lower-case-m.dsc create mode 100644 fonts/lower-case-m.sml create mode 100644 fonts/lower-case-n.dsc create mode 100644 fonts/lower-case-n.sml create mode 100644 fonts/lower-case-o.dsc create mode 100644 fonts/lower-case-o.sml create mode 100644 fonts/lower-case-p.dsc create mode 100644 fonts/lower-case-p.sml create mode 100644 fonts/lower-case-q.dsc create mode 100644 fonts/lower-case-q.sml create mode 100644 fonts/lower-case-r.dsc create mode 100644 fonts/lower-case-r.sml create mode 100644 fonts/lower-case-s.dsc create mode 100644 fonts/lower-case-s.sml create mode 100644 fonts/lower-case-t.dsc create mode 100644 fonts/lower-case-t.sml create mode 100644 fonts/lower-case-u.dsc create mode 100644 fonts/lower-case-u.sml create mode 100644 fonts/lower-case-v.dsc create mode 100644 fonts/lower-case-v.sml create mode 100644 fonts/lower-case-w.dsc create mode 100644 fonts/lower-case-w.sml create mode 100644 fonts/lower-case-x.dsc create mode 100644 fonts/lower-case-x.sml create mode 100644 fonts/lower-case-y.dsc create mode 100644 fonts/lower-case-y.sml create mode 100644 fonts/lower-case-z.dsc create mode 100644 fonts/lower-case-z.sml create mode 100644 fonts/minus.dsc create mode 100644 fonts/percent.dsc create mode 100644 fonts/pipe.dsc create mode 100644 fonts/plus.dsc create mode 100644 fonts/question-mark.dsc create mode 100644 fonts/question-mark.sml create mode 100644 fonts/quotes-double.dsc create mode 100644 fonts/quotes-double.sml create mode 100644 fonts/quotes-single.dsc create mode 100644 fonts/quotes-single.sml create mode 100644 fonts/semi-colon.sml create mode 100644 fonts/slash-backwards.dsc create mode 100644 fonts/slash-backwards.sml create mode 100644 fonts/slash-forwards.dsc create mode 100644 fonts/slash-forwards.sml create mode 100644 fonts/space.sml create mode 100644 fonts/square-bracket-closed.dsc create mode 100644 fonts/square-bracket-closed.sml create mode 100644 fonts/square-bracket-open.dsc create mode 100644 fonts/square-bracket-open.sml create mode 100644 fonts/tilde.dsc create mode 100644 fonts/tilde.sml create mode 100644 fonts/underscore.dsc create mode 100644 fonts/underscore.sml create mode 100644 fonts/unknown-char.dsc create mode 100644 fonts/unknown-char.sml create mode 100644 fonts/upper-case-a.dsc create mode 100644 fonts/upper-case-a.sml create mode 100644 fonts/upper-case-b.dsc create mode 100644 fonts/upper-case-b.sml create mode 100644 fonts/upper-case-c.dsc create mode 100644 fonts/upper-case-c.sml create mode 100644 fonts/upper-case-d.dsc create mode 100644 fonts/upper-case-d.sml create mode 100644 fonts/upper-case-e.dsc create mode 100644 fonts/upper-case-e.sml create mode 100644 fonts/upper-case-f.dsc create mode 100644 fonts/upper-case-f.sml create mode 100644 fonts/upper-case-g.dsc create mode 100644 fonts/upper-case-g.sml create mode 100644 fonts/upper-case-h.dsc create mode 100644 fonts/upper-case-h.sml create mode 100644 fonts/upper-case-i.dsc create mode 100644 fonts/upper-case-i.sml create mode 100644 fonts/upper-case-j.dsc create mode 100644 fonts/upper-case-j.sml create mode 100644 fonts/upper-case-k.dsc create mode 100644 fonts/upper-case-k.sml create mode 100644 fonts/upper-case-l.dsc create mode 100644 fonts/upper-case-l.sml create mode 100644 fonts/upper-case-m.dsc create mode 100644 fonts/upper-case-m.sml create mode 100644 fonts/upper-case-n.dsc create mode 100644 fonts/upper-case-n.sml create mode 100644 fonts/upper-case-o.dsc create mode 100644 fonts/upper-case-o.sml create mode 100644 fonts/upper-case-p.dsc create mode 100644 fonts/upper-case-p.sml create mode 100644 fonts/upper-case-q.dsc create mode 100644 fonts/upper-case-q.sml create mode 100644 fonts/upper-case-r.dsc create mode 100644 fonts/upper-case-r.sml create mode 100644 fonts/upper-case-s.dsc create mode 100644 fonts/upper-case-s.sml create mode 100644 fonts/upper-case-t.dsc create mode 100644 fonts/upper-case-t.sml create mode 100644 fonts/upper-case-u.dsc create mode 100644 fonts/upper-case-u.sml create mode 100644 fonts/upper-case-v.dsc create mode 100644 fonts/upper-case-v.sml create mode 100644 fonts/upper-case-w.dsc create mode 100644 fonts/upper-case-w.sml create mode 100644 fonts/upper-case-x.dsc create mode 100644 fonts/upper-case-x.sml create mode 100644 fonts/upper-case-y.dsc create mode 100644 fonts/upper-case-y.sml create mode 100644 fonts/upper-case-z.dsc create mode 100644 fonts/upper-case-z.sml diff --git a/README.md b/README.md new file mode 100644 index 0000000..8d5dff6 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# cozette-sml + +## Introduction + +This is an attempt to "port" ASCII subset of the bitmap font [Cozette](https://github.com/slavfox/Cozette/) to pure Standrd ML code which can be rendered with OpenGL with just a vertex buffer, and no textures. + +This is mostly used in my personal projects; I don't expect it to be useful for anyone else. + +## Credits + +This port would not have been possible without the original font by Slavfox. diff --git a/fonts/0.dsc b/fonts/0.dsc new file mode 100644 index 0000000..e766f4e --- /dev/null +++ b/fonts/0.dsc @@ -0,0 +1,10 @@ +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.333333343267 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 +x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/1.dsc b/fonts/1.dsc new file mode 100644 index 0000000..d1a09bf --- /dev/null +++ b/fonts/1.dsc @@ -0,0 +1,8 @@ +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.333333343267 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x 0.333333283663 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/2.dsc b/fonts/2.dsc new file mode 100644 index 0000000..bff2bf5 --- /dev/null +++ b/fonts/2.dsc @@ -0,0 +1,16 @@ +x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.333333343267 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x 0.333333283663 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/3.dsc b/fonts/3.dsc new file mode 100644 index 0000000..eb5e8bb --- /dev/null +++ b/fonts/3.dsc @@ -0,0 +1,14 @@ +x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.333333343267 +x ~0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 +x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 +x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/4.dsc b/fonts/4.dsc new file mode 100644 index 0000000..8b29638 --- /dev/null +++ b/fonts/4.dsc @@ -0,0 +1,12 @@ +x 0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 +x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 +x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.0666667371988 +x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.199999943376 x ~0.466666668653 y ~0.199999943376 +x ~0.466666668653 y ~0.199999943376 x ~0.466666668653 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 +x ~0.466666668653 y ~0.333333283663 x ~0.466666668653 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 +x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.199999943376 x ~0.466666668653 y ~0.333333283663 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 diff --git a/fonts/5.dsc b/fonts/5.dsc new file mode 100644 index 0000000..a2c3ea6 --- /dev/null +++ b/fonts/5.dsc @@ -0,0 +1,12 @@ +x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 +x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x 0.333333283663 y 0.333333343267 diff --git a/fonts/6.dsc b/fonts/6.dsc new file mode 100644 index 0000000..edee3fc --- /dev/null +++ b/fonts/6.dsc @@ -0,0 +1,12 @@ +x 0.199999943376 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.333333343267 +x ~0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/7.dsc b/fonts/7.dsc new file mode 100644 index 0000000..52e3c93 --- /dev/null +++ b/fonts/7.dsc @@ -0,0 +1,10 @@ +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x 0.333333283663 y 0.333333343267 diff --git a/fonts/8.dsc b/fonts/8.dsc new file mode 100644 index 0000000..32afb21 --- /dev/null +++ b/fonts/8.dsc @@ -0,0 +1,14 @@ +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 +x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/9.dsc b/fonts/9.dsc new file mode 100644 index 0000000..280b711 --- /dev/null +++ b/fonts/9.dsc @@ -0,0 +1,12 @@ +x ~0.200000017881 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 +x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 x 0.333333283663 y ~0.333333283663 +x 0.199999943376 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 +x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 diff --git a/fonts/ampersand.dsc b/fonts/ampersand.dsc new file mode 100644 index 0000000..a895d1c --- /dev/null +++ b/fonts/ampersand.dsc @@ -0,0 +1,20 @@ +x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 diff --git a/fonts/ampersand.sml b/fonts/ampersand.sml new file mode 100644 index 0000000..103e6b2 --- /dev/null +++ b/fonts/ampersand.sml @@ -0,0 +1,135 @@ +structure Ampersand = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/angle-bracket-closed.dsc b/fonts/angle-bracket-closed.dsc new file mode 100644 index 0000000..5b6bf4f --- /dev/null +++ b/fonts/angle-bracket-closed.dsc @@ -0,0 +1,14 @@ +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 +x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 +x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.199999943376 +x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.466666638851 diff --git a/fonts/angle-bracket-closed.sml b/fonts/angle-bracket-closed.sml new file mode 100644 index 0000000..b8e92a8 --- /dev/null +++ b/fonts/angle-bracket-closed.sml @@ -0,0 +1,99 @@ +structure AngleBracketClosed = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/angle-bracket-open.dsc b/fonts/angle-bracket-open.dsc new file mode 100644 index 0000000..8ec60c2 --- /dev/null +++ b/fonts/angle-bracket-open.dsc @@ -0,0 +1,14 @@ +x 0.199999943376 y 0.333333343267 x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.333333343267 +x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 +x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 +x ~0.200000017881 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.0666667371988 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 diff --git a/fonts/angle-bracket-open.sml b/fonts/angle-bracket-open.sml new file mode 100644 index 0000000..ec534a0 --- /dev/null +++ b/fonts/angle-bracket-open.sml @@ -0,0 +1,99 @@ +structure AngleBracketOpen = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-at.sml b/fonts/ascii-at.sml new file mode 100644 index 0000000..4beacdb --- /dev/null +++ b/fonts/ascii-at.sml @@ -0,0 +1,99 @@ +structure AsciiAt = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-dot.sml b/fonts/ascii-dot.sml new file mode 100644 index 0000000..09b5f77 --- /dev/null +++ b/fonts/ascii-dot.sml @@ -0,0 +1,27 @@ +structure AsciiDot = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-eight.sml b/fonts/ascii-eight.sml new file mode 100644 index 0000000..05b6160 --- /dev/null +++ b/fonts/ascii-eight.sml @@ -0,0 +1,99 @@ +structure AsciiEight = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-equals.sml b/fonts/ascii-equals.sml new file mode 100644 index 0000000..61e49f0 --- /dev/null +++ b/fonts/ascii-equals.sml @@ -0,0 +1,39 @@ +structure AsciiEquals = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-five.sml b/fonts/ascii-five.sml new file mode 100644 index 0000000..61e6db6 --- /dev/null +++ b/fonts/ascii-five.sml @@ -0,0 +1,87 @@ +structure AsciiFive = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-four.sml b/fonts/ascii-four.sml new file mode 100644 index 0000000..a29bbfd --- /dev/null +++ b/fonts/ascii-four.sml @@ -0,0 +1,87 @@ +structure AsciiFour = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-hash.sml b/fonts/ascii-hash.sml new file mode 100644 index 0000000..80961cd --- /dev/null +++ b/fonts/ascii-hash.sml @@ -0,0 +1,63 @@ +structure AsciiHash = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-minus.sml b/fonts/ascii-minus.sml new file mode 100644 index 0000000..b05f092 --- /dev/null +++ b/fonts/ascii-minus.sml @@ -0,0 +1,27 @@ +structure AsciiMinus = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-nine.sml b/fonts/ascii-nine.sml new file mode 100644 index 0000000..c6b0811 --- /dev/null +++ b/fonts/ascii-nine.sml @@ -0,0 +1,87 @@ +structure AsciiNine = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-one.sml b/fonts/ascii-one.sml new file mode 100644 index 0000000..9c9feee --- /dev/null +++ b/fonts/ascii-one.sml @@ -0,0 +1,63 @@ +structure AsciiOne = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-percent.sml b/fonts/ascii-percent.sml new file mode 100644 index 0000000..34620ee --- /dev/null +++ b/fonts/ascii-percent.sml @@ -0,0 +1,171 @@ +structure AsciiPercent = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-pipe.sml b/fonts/ascii-pipe.sml new file mode 100644 index 0000000..4d79ec2 --- /dev/null +++ b/fonts/ascii-pipe.sml @@ -0,0 +1,27 @@ +structure AsciiPipe = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-plus.sml b/fonts/ascii-plus.sml new file mode 100644 index 0000000..a4ae6d0 --- /dev/null +++ b/fonts/ascii-plus.sml @@ -0,0 +1,39 @@ +structure AsciiPlus = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-seven.sml b/fonts/ascii-seven.sml new file mode 100644 index 0000000..d6badb3 --- /dev/null +++ b/fonts/ascii-seven.sml @@ -0,0 +1,75 @@ +structure AsciiSeven = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-six.sml b/fonts/ascii-six.sml new file mode 100644 index 0000000..9ca845d --- /dev/null +++ b/fonts/ascii-six.sml @@ -0,0 +1,87 @@ +structure AsciiSix = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-three.sml b/fonts/ascii-three.sml new file mode 100644 index 0000000..2da9842 --- /dev/null +++ b/fonts/ascii-three.sml @@ -0,0 +1,99 @@ +structure AsciiThree = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-two.sml b/fonts/ascii-two.sml new file mode 100644 index 0000000..65531ed --- /dev/null +++ b/fonts/ascii-two.sml @@ -0,0 +1,111 @@ +structure AsciiTwo = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/ascii-zero.sml b/fonts/ascii-zero.sml new file mode 100644 index 0000000..eb9c46d --- /dev/null +++ b/fonts/ascii-zero.sml @@ -0,0 +1,75 @@ +structure AsciiZero = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/asterisk.dsc b/fonts/asterisk.dsc new file mode 100644 index 0000000..71a22f7 --- /dev/null +++ b/fonts/asterisk.dsc @@ -0,0 +1,12 @@ +x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 +x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 +x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.0666666701436 +x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.333333283663 diff --git a/fonts/asterisk.sml b/fonts/asterisk.sml new file mode 100644 index 0000000..8fcb64c --- /dev/null +++ b/fonts/asterisk.sml @@ -0,0 +1,87 @@ +structure Asterisk = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/at.dsc b/fonts/at.dsc new file mode 100644 index 0000000..2eff8de --- /dev/null +++ b/fonts/at.dsc @@ -0,0 +1,14 @@ +x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 +x 0.333333283663 y ~0.333333283663 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 +x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 +x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/backtick.dsc b/fonts/backtick.dsc new file mode 100644 index 0000000..2234179 --- /dev/null +++ b/fonts/backtick.dsc @@ -0,0 +1,4 @@ +x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.333333343267 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 +x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 diff --git a/fonts/backtick.sml b/fonts/backtick.sml new file mode 100644 index 0000000..f00bd51 --- /dev/null +++ b/fonts/backtick.sml @@ -0,0 +1,39 @@ +structure Backtick = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/bracket-closed.dsc b/fonts/bracket-closed.dsc new file mode 100644 index 0000000..8508077 --- /dev/null +++ b/fonts/bracket-closed.dsc @@ -0,0 +1,10 @@ +x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 +x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.733333289623 x ~0.200000017881 y ~0.733333289623 x ~0.200000017881 y ~0.866666674614 +x ~0.200000017881 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/bracket-closed.sml b/fonts/bracket-closed.sml new file mode 100644 index 0000000..7efbf79 --- /dev/null +++ b/fonts/bracket-closed.sml @@ -0,0 +1,75 @@ +structure BracketClosed = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/bracket-open.dsc b/fonts/bracket-open.dsc new file mode 100644 index 0000000..896ca73 --- /dev/null +++ b/fonts/bracket-open.dsc @@ -0,0 +1,10 @@ +x 0.199999943376 y 0.599999964237 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 x 0.199999943376 y 0.599999964237 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.200000017881 +x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.733333289623 +x 0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.466666638851 +x 0.199999943376 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.866666674614 +x 0.0666666701436 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 x 0.199999943376 y ~0.733333289623 diff --git a/fonts/bracket-open.sml b/fonts/bracket-open.sml new file mode 100644 index 0000000..74b3aa2 --- /dev/null +++ b/fonts/bracket-open.sml @@ -0,0 +1,75 @@ +structure BracketOpen = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/caret.dsc b/fonts/caret.dsc new file mode 100644 index 0000000..ce391ae --- /dev/null +++ b/fonts/caret.dsc @@ -0,0 +1,10 @@ +x 0.0666666701436 y 0.599999964237 x 0.199999943376 y 0.599999964237 x 0.199999943376 y 0.466666638851 +x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 +x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 +x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.466666638851 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 +x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 +x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.733333289623 x ~0.0666666701436 y 0.733333289623 +x ~0.0666666701436 y 0.733333289623 x ~0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.599999964237 diff --git a/fonts/caret.sml b/fonts/caret.sml new file mode 100644 index 0000000..239e147 --- /dev/null +++ b/fonts/caret.sml @@ -0,0 +1,75 @@ +structure Caret = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.866666674614)) + (endY * 0.866666674614)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.866666674614)) + (endY * 0.866666674614)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.866666674614)) + (endY * 0.866666674614)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/colon-semi.dsc b/fonts/colon-semi.dsc new file mode 100644 index 0000000..92a745b --- /dev/null +++ b/fonts/colon-semi.dsc @@ -0,0 +1,8 @@ +x ~0.200000017881 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.599999964237 +x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.333333283663 +x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.733333289623 +x ~0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.599999964237 +x ~0.0666666701436 y ~0.733333289623 x ~0.200000017881 y ~0.733333289623 x ~0.200000017881 y ~0.866666674614 +x ~0.200000017881 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/colon.dsc b/fonts/colon.dsc new file mode 100644 index 0000000..e463452 --- /dev/null +++ b/fonts/colon.dsc @@ -0,0 +1,4 @@ +x ~0.199999973178 y 0.199999928474 x 0.0666667073965 y 0.199999928474 x 0.0666667073965 y ~0.0666667073965 +x ~0.199999973178 y ~0.0666667073965 x 0.0666667073965 y ~0.0666667073965 x ~0.199999973178 y 0.199999928474 +x 0.0666667073965 y ~0.333333343267 x ~0.199999973178 y ~0.333333343267 x ~0.199999973178 y ~0.600000143051 +x ~0.199999973178 y ~0.600000143051 x 0.0666667073965 y ~0.600000143051 x 0.0666667073965 y ~0.333333343267 diff --git a/fonts/colon.sml b/fonts/colon.sml new file mode 100644 index 0000000..3861b69 --- /dev/null +++ b/fonts/colon.sml @@ -0,0 +1,39 @@ +structure Colon = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.599999964237)) + (endY * 0.599999964237)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.599999964237)) + (endY * 0.599999964237)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.599999964237)) + (endY * 0.599999964237)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/comma.dsc b/fonts/comma.dsc new file mode 100644 index 0000000..77fec36 --- /dev/null +++ b/fonts/comma.dsc @@ -0,0 +1,6 @@ +x ~0.199999973178 y ~0.333333343267 x 0.0666667073965 y ~0.333333343267 x 0.0666667073965 y ~0.600000143051 +x 0.0666667073965 y ~0.600000143051 x ~0.199999973178 y ~0.600000143051 x ~0.199999973178 y ~0.333333343267 +x 0.0666667073965 y ~0.600000143051 x 0.0666667073965 y ~0.733333349228 x ~0.066666610539 y ~0.733333349228 +x ~0.066666610539 y ~0.733333349228 x ~0.066666610539 y ~0.600000143051 x 0.0666667073965 y ~0.600000143051 +x ~0.066666610539 y ~0.866666793823 x ~0.199999973178 y ~0.866666793823 x ~0.199999973178 y ~0.733333349228 +x ~0.199999973178 y ~0.733333349228 x ~0.066666610539 y ~0.733333349228 x ~0.066666610539 y ~0.866666793823 diff --git a/fonts/comma.sml b/fonts/comma.sml new file mode 100644 index 0000000..fe2b89d --- /dev/null +++ b/fonts/comma.sml @@ -0,0 +1,51 @@ +structure Comma = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0666666030884)) + (endY * 0.0666666030884)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0666666030884)) + (endY * 0.0666666030884)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0666666030884)) + (endY * 0.0666666030884)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/cozette-ascii.mlb b/fonts/cozette-ascii.mlb new file mode 100644 index 0000000..c730a31 --- /dev/null +++ b/fonts/cozette-ascii.mlb @@ -0,0 +1,111 @@ +$(SML_LIB)/basis/basis.mlb + +ann + "allowVectorExps true" +in + local + ascii-zero.sml + ascii-one.sml + ascii-two.sml + ascii-three.sml + ascii-four.sml + ascii-five.sml + ascii-six.sml + ascii-seven.sml + ascii-eight.sml + ascii-nine.sml + + ampersand.sml + angle-bracket-closed.sml + angle-bracket-open.sml + ascii-at.sml + ascii-dot.sml + ascii-hash.sml + ascii-minus.sml + ascii-percent.sml + ascii-pipe.sml + ascii-plus.sml + asterisk.sml + backtick.sml + bracket-closed.sml + bracket-open.sml + caret.sml + colon.sml + comma.sml + curly-brace-closed.sml + curly-brace-open.sml + dollar.sml + exclamation-mark.sml + + lower-case-a.sml + lower-case-b.sml + lower-case-c.sml + lower-case-d.sml + lower-case-e.sml + lower-case-f.sml + lower-case-g.sml + lower-case-h.sml + lower-case-i.sml + lower-case-j.sml + lower-case-k.sml + lower-case-l.sml + lower-case-m.sml + lower-case-n.sml + lower-case-o.sml + lower-case-p.sml + lower-case-q.sml + lower-case-r.sml + lower-case-s.sml + lower-case-t.sml + lower-case-u.sml + lower-case-v.sml + lower-case-w.sml + lower-case-x.sml + lower-case-y.sml + lower-case-z.sml + + question-mark.sml + quotes-double.sml + quotes-single.sml + semi-colon.sml + slash-backwards.sml + slash-forwards.sml + square-bracket-closed.sml + square-bracket-open.sml + tilde.sml + underscore.sml + + upper-case-a.sml + upper-case-b.sml + upper-case-c.sml + upper-case-d.sml + upper-case-e.sml + upper-case-f.sml + upper-case-g.sml + upper-case-h.sml + upper-case-i.sml + upper-case-j.sml + upper-case-k.sml + upper-case-l.sml + upper-case-m.sml + upper-case-n.sml + upper-case-o.sml + upper-case-p.sml + upper-case-q.sml + upper-case-r.sml + upper-case-s.sml + upper-case-t.sml + upper-case-u.sml + upper-case-v.sml + upper-case-w.sml + upper-case-x.sml + upper-case-y.sml + upper-case-z.sml + + ascii-equals.sml + space.sml + unknown-char.sml + in + cozette-ascii.sml + end +end diff --git a/fonts/cozette-ascii.sml b/fonts/cozette-ascii.sml new file mode 100644 index 0000000..24f6d23 --- /dev/null +++ b/fonts/cozette-ascii.sml @@ -0,0 +1,253 @@ +structure CozetteAscii = +struct + val asciiTable = #[ + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + AsciiSpace.lerp, + ExclamationMark.lerp, + QuotesDouble.lerp, + AsciiHash.lerp, + Dollar.lerp, + AsciiPercent.lerp, + Ampersand.lerp, + QuotesSingle.lerp, + BracketOpen.lerp, + BracketClosed.lerp, + Asterisk.lerp, + AsciiPlus.lerp, + Comma.lerp, + AsciiMinus.lerp, + AsciiDot.lerp, + SlashForwards.lerp, + AsciiZero.lerp, + AsciiOne.lerp, + AsciiTwo.lerp, + AsciiThree.lerp, + AsciiFour.lerp, + AsciiFive.lerp, + AsciiSix.lerp, + AsciiSeven.lerp, + AsciiEight.lerp, + AsciiNine.lerp, + Colon.lerp, + Semicolon.lerp, + AngleBracketOpen.lerp, + AsciiEquals.lerp, + AngleBracketClosed.lerp, + QuestionMark.lerp, + AsciiAt.lerp, + UpperCaseA.lerp, + UpperCaseB.lerp, + UpperCaseC.lerp, + UpperCaseD.lerp, + UpperCaseE.lerp, + UpperCaseF.lerp, + UpperCaseG.lerp, + UpperCaseH.lerp, + UpperCaseI.lerp, + UpperCaseJ.lerp, + UpperCaseK.lerp, + UpperCaseL.lerp, + UpperCaseM.lerp, + UpperCaseN.lerp, + UpperCaseO.lerp, + UpperCaseP.lerp, + UpperCaseQ.lerp, + UpperCaseR.lerp, + UpperCaseS.lerp, + UpperCaseT.lerp, + UpperCaseU.lerp, + UpperCaseV.lerp, + UpperCaseW.lerp, + UpperCaseX.lerp, + UpperCaseY.lerp, + UpperCaseZ.lerp, + SquareBracketOpen.lerp, + SlashBackwards.lerp, + SquareBracketClosed.lerp, + Caret.lerp, + Backtick.lerp, + Underscore.lerp, + LowerCaseA.lerp, + LowerCaseB.lerp, + LowerCaseC.lerp, + LowerCaseD.lerp, + LowerCaseE.lerp, + LowerCaseF.lerp, + LowerCaseG.lerp, + LowerCaseH.lerp, + LowerCaseI.lerp, + LowerCaseJ.lerp, + LowerCaseK.lerp, + LowerCaseL.lerp, + LowerCaseM.lerp, + LowerCaseN.lerp, + LowerCaseO.lerp, + LowerCaseP.lerp, + LowerCaseQ.lerp, + LowerCaseR.lerp, + LowerCaseS.lerp, + LowerCaseT.lerp, + LowerCaseU.lerp, + LowerCaseV.lerp, + LowerCaseW.lerp, + LowerCaseX.lerp, + LowerCaseY.lerp, + LowerCaseZ.lerp, + CurlyBraceOpen.lerp, + AsciiPipe.lerp, + CurlyBraceClosed.lerp, + AsciiTilde.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp, + UnknownChar.lerp + ] +end diff --git a/fonts/curly-brace-closed.dsc b/fonts/curly-brace-closed.dsc new file mode 100644 index 0000000..eaaea9c --- /dev/null +++ b/fonts/curly-brace-closed.dsc @@ -0,0 +1,10 @@ +x ~0.333333343267 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.599999964237 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x 0.333333283663 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 +x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y ~0.733333289623 x ~0.333333343267 y ~0.733333289623 x ~0.333333343267 y ~0.866666674614 +x ~0.333333343267 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/curly-brace-closed.sml b/fonts/curly-brace-closed.sml new file mode 100644 index 0000000..8800b14 --- /dev/null +++ b/fonts/curly-brace-closed.sml @@ -0,0 +1,75 @@ +structure CurlyBraceClosed = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/curly-brace-open.dsc b/fonts/curly-brace-open.dsc new file mode 100644 index 0000000..e550e78 --- /dev/null +++ b/fonts/curly-brace-open.dsc @@ -0,0 +1,10 @@ +x 0.199999943376 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.599999964237 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.466666668653 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 +x ~0.200000017881 y ~0.199999943376 x ~0.466666668653 y ~0.199999943376 x ~0.466666668653 y ~0.0666667371988 +x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.733333289623 +x ~0.0666666701436 y ~0.733333289623 x ~0.200000017881 y ~0.733333289623 x ~0.200000017881 y ~0.199999943376 +x ~0.0666666701436 y ~0.733333289623 x 0.199999943376 y ~0.733333289623 x 0.199999943376 y ~0.866666674614 +x 0.199999943376 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/curly-brace-open.sml b/fonts/curly-brace-open.sml new file mode 100644 index 0000000..ba12533 --- /dev/null +++ b/fonts/curly-brace-open.sml @@ -0,0 +1,75 @@ +structure CurlyBraceOpen = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/dollar.dsc b/fonts/dollar.dsc new file mode 100644 index 0000000..ee27e05 --- /dev/null +++ b/fonts/dollar.dsc @@ -0,0 +1,16 @@ +x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.333333343267 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y ~0.466666638851 +x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 +x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 +x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 diff --git a/fonts/dollar.sml b/fonts/dollar.sml new file mode 100644 index 0000000..a19ddf6 --- /dev/null +++ b/fonts/dollar.sml @@ -0,0 +1,111 @@ +structure Dollar = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end diff --git a/fonts/dot.dsc b/fonts/dot.dsc new file mode 100644 index 0000000..e06611e --- /dev/null +++ b/fonts/dot.dsc @@ -0,0 +1,2 @@ +x 0.0666667073965 y ~0.333333343267 x ~0.199999973178 y ~0.333333343267 x ~0.199999973178 y ~0.600000143051 +x ~0.199999973178 y ~0.600000143051 x 0.0666667073965 y ~0.600000143051 x 0.0666667073965 y ~0.333333343267 diff --git a/fonts/equals.dsc b/fonts/equals.dsc new file mode 100644 index 0000000..dc0799c --- /dev/null +++ b/fonts/equals.dsc @@ -0,0 +1,4 @@ +x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 +x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 +x 0.333333283663 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y 0.0666666701436 +x ~0.333333343267 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.0666667371988 diff --git a/fonts/exclamation-mark.dsc b/fonts/exclamation-mark.dsc new file mode 100644 index 0000000..bfbd650 --- /dev/null +++ b/fonts/exclamation-mark.dsc @@ -0,0 +1,4 @@ +x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 diff --git a/fonts/exclamation-mark.sml b/fonts/exclamation-mark.sml new file mode 100644 index 0000000..cd95cca --- /dev/null +++ b/fonts/exclamation-mark.sml @@ -0,0 +1,39 @@ +structure ExclamationMark = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/hash.dsc b/fonts/hash.dsc new file mode 100644 index 0000000..5596e1a --- /dev/null +++ b/fonts/hash.dsc @@ -0,0 +1,8 @@ +x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 +x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 +x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.200000017881 x ~0.333333343267 y 0.200000017881 +x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.599999964237 diff --git a/fonts/lower-case-a.dsc b/fonts/lower-case-a.dsc new file mode 100644 index 0000000..cce4517 --- /dev/null +++ b/fonts/lower-case-a.dsc @@ -0,0 +1,10 @@ +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 +x ~0.200000017881 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.466666638851 +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 diff --git a/fonts/lower-case-a.sml b/fonts/lower-case-a.sml new file mode 100644 index 0000000..1d4f984 --- /dev/null +++ b/fonts/lower-case-a.sml @@ -0,0 +1,75 @@ +structure LowerCaseA = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-b.dsc b/fonts/lower-case-b.dsc new file mode 100644 index 0000000..73abe15 --- /dev/null +++ b/fonts/lower-case-b.dsc @@ -0,0 +1,8 @@ +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.599999964237 +x ~0.333333343267 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/lower-case-b.sml b/fonts/lower-case-b.sml new file mode 100644 index 0000000..b7450da --- /dev/null +++ b/fonts/lower-case-b.sml @@ -0,0 +1,63 @@ +structure LowerCaseB = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-c.dsc b/fonts/lower-case-c.dsc new file mode 100644 index 0000000..881d961 --- /dev/null +++ b/fonts/lower-case-c.dsc @@ -0,0 +1,10 @@ +x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y 0.0666666701436 +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 diff --git a/fonts/lower-case-c.sml b/fonts/lower-case-c.sml new file mode 100644 index 0000000..2f332a5 --- /dev/null +++ b/fonts/lower-case-c.sml @@ -0,0 +1,75 @@ +structure LowerCaseC = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-d.dsc b/fonts/lower-case-d.dsc new file mode 100644 index 0000000..366e3cc --- /dev/null +++ b/fonts/lower-case-d.dsc @@ -0,0 +1,8 @@ +x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.599999964237 +x 0.333333283663 y 0.599999964237 x 0.199999943376 y 0.599999964237 x 0.199999943376 y ~0.599999964237 diff --git a/fonts/lower-case-d.sml b/fonts/lower-case-d.sml new file mode 100644 index 0000000..789e177 --- /dev/null +++ b/fonts/lower-case-d.sml @@ -0,0 +1,63 @@ +structure LowerCaseD = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-e.dsc b/fonts/lower-case-e.dsc new file mode 100644 index 0000000..feb61dd --- /dev/null +++ b/fonts/lower-case-e.dsc @@ -0,0 +1,12 @@ +x ~0.200000017881 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 +x 0.333333283663 y ~0.199999943376 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 diff --git a/fonts/lower-case-e.sml b/fonts/lower-case-e.sml new file mode 100644 index 0000000..07544ad --- /dev/null +++ b/fonts/lower-case-e.sml @@ -0,0 +1,87 @@ +structure LowerCaseE = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-f.dsc b/fonts/lower-case-f.dsc new file mode 100644 index 0000000..cf8bb12 --- /dev/null +++ b/fonts/lower-case-f.dsc @@ -0,0 +1,6 @@ +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.599999964237 x 0.333333283663 y 0.599999964237 +x 0.333333283663 y 0.599999964237 x 0.333333283663 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 diff --git a/fonts/lower-case-f.sml b/fonts/lower-case-f.sml new file mode 100644 index 0000000..563a389 --- /dev/null +++ b/fonts/lower-case-f.sml @@ -0,0 +1,51 @@ +structure LowerCaseF = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-g.dsc b/fonts/lower-case-g.dsc new file mode 100644 index 0000000..d0dbc9f --- /dev/null +++ b/fonts/lower-case-g.dsc @@ -0,0 +1,10 @@ +x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 +x 0.199999943376 y ~0.866666674614 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y ~0.866666674614 x ~0.200000017881 y ~0.866666674614 x ~0.200000017881 y ~1 +x ~0.200000017881 y ~1 x 0.199999943376 y ~1 x 0.199999943376 y ~0.866666674614 diff --git a/fonts/lower-case-g.sml b/fonts/lower-case-g.sml new file mode 100644 index 0000000..a1bbf62 --- /dev/null +++ b/fonts/lower-case-g.sml @@ -0,0 +1,75 @@ +structure LowerCaseG = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-h.dsc b/fonts/lower-case-h.dsc new file mode 100644 index 0000000..e4292e7 --- /dev/null +++ b/fonts/lower-case-h.dsc @@ -0,0 +1,6 @@ +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.0666666701436 +x ~0.333333343267 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.599999964237 diff --git a/fonts/lower-case-h.sml b/fonts/lower-case-h.sml new file mode 100644 index 0000000..d5525b4 --- /dev/null +++ b/fonts/lower-case-h.sml @@ -0,0 +1,51 @@ +structure LowerCaseH = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-i.dsc b/fonts/lower-case-i.dsc new file mode 100644 index 0000000..87a095a --- /dev/null +++ b/fonts/lower-case-i.dsc @@ -0,0 +1,8 @@ +x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.466666638851 +x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.599999964237 diff --git a/fonts/lower-case-i.sml b/fonts/lower-case-i.sml new file mode 100644 index 0000000..c5a5c83 --- /dev/null +++ b/fonts/lower-case-i.sml @@ -0,0 +1,63 @@ +structure LowerCaseI = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-j.dsc b/fonts/lower-case-j.dsc new file mode 100644 index 0000000..d83e8ad --- /dev/null +++ b/fonts/lower-case-j.dsc @@ -0,0 +1,10 @@ +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.733333289623 +x 0.0666666701436 y ~0.733333289623 x 0.199999943376 y ~0.733333289623 x 0.199999943376 y 0.200000017881 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 +x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 +x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 +x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 diff --git a/fonts/lower-case-j.sml b/fonts/lower-case-j.sml new file mode 100644 index 0000000..d15bf65 --- /dev/null +++ b/fonts/lower-case-j.sml @@ -0,0 +1,75 @@ +structure LowerCaseJ = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-k.dsc b/fonts/lower-case-k.dsc new file mode 100644 index 0000000..48e58c4 --- /dev/null +++ b/fonts/lower-case-k.dsc @@ -0,0 +1,14 @@ +x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 +x ~0.200000017881 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 +x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.599999964237 +x ~0.333333343267 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/lower-case-k.sml b/fonts/lower-case-k.sml new file mode 100644 index 0000000..e67d1e3 --- /dev/null +++ b/fonts/lower-case-k.sml @@ -0,0 +1,99 @@ +structure LowerCaseK = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-l.dsc b/fonts/lower-case-l.dsc new file mode 100644 index 0000000..11efd4a --- /dev/null +++ b/fonts/lower-case-l.dsc @@ -0,0 +1,6 @@ +x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 +x ~0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y ~0.599999964237 +x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y 0.599999964237 +x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 diff --git a/fonts/lower-case-l.sml b/fonts/lower-case-l.sml new file mode 100644 index 0000000..72dfcd2 --- /dev/null +++ b/fonts/lower-case-l.sml @@ -0,0 +1,51 @@ +structure LowerCaseL = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-m.dsc b/fonts/lower-case-m.dsc new file mode 100644 index 0000000..de70288 --- /dev/null +++ b/fonts/lower-case-m.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.200000017881 +x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 +x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 +x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.0666666701436 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-m.sml b/fonts/lower-case-m.sml new file mode 100644 index 0000000..423a5e9 --- /dev/null +++ b/fonts/lower-case-m.sml @@ -0,0 +1,75 @@ +structure LowerCaseM = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-n.dsc b/fonts/lower-case-n.dsc new file mode 100644 index 0000000..474c9d3 --- /dev/null +++ b/fonts/lower-case-n.dsc @@ -0,0 +1,6 @@ +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-n.sml b/fonts/lower-case-n.sml new file mode 100644 index 0000000..474b935 --- /dev/null +++ b/fonts/lower-case-n.sml @@ -0,0 +1,51 @@ +structure LowerCaseN = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-o.dsc b/fonts/lower-case-o.dsc new file mode 100644 index 0000000..82b9e05 --- /dev/null +++ b/fonts/lower-case-o.dsc @@ -0,0 +1,8 @@ +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.0666666701436 +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/lower-case-o.sml b/fonts/lower-case-o.sml new file mode 100644 index 0000000..c0587d7 --- /dev/null +++ b/fonts/lower-case-o.sml @@ -0,0 +1,63 @@ +structure LowerCaseO = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-p.dsc b/fonts/lower-case-p.dsc new file mode 100644 index 0000000..0026ece --- /dev/null +++ b/fonts/lower-case-p.dsc @@ -0,0 +1,8 @@ +x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y ~1 +x ~0.333333343267 y ~1 x ~0.200000017881 y ~1 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-p.sml b/fonts/lower-case-p.sml new file mode 100644 index 0000000..8e80eee --- /dev/null +++ b/fonts/lower-case-p.sml @@ -0,0 +1,63 @@ +structure LowerCaseP = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-q.dsc b/fonts/lower-case-q.dsc new file mode 100644 index 0000000..d56fac0 --- /dev/null +++ b/fonts/lower-case-q.dsc @@ -0,0 +1,10 @@ +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.866666674614 x 0.333333283663 y ~0.866666674614 +x 0.333333283663 y ~0.866666674614 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y ~0.866666674614 x 0.466666638851 y ~0.866666674614 x 0.466666638851 y ~1 +x 0.466666638851 y ~1 x 0.199999943376 y ~1 x 0.199999943376 y ~0.866666674614 diff --git a/fonts/lower-case-q.sml b/fonts/lower-case-q.sml new file mode 100644 index 0000000..9782607 --- /dev/null +++ b/fonts/lower-case-q.sml @@ -0,0 +1,75 @@ +structure LowerCaseQ = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-r.dsc b/fonts/lower-case-r.dsc new file mode 100644 index 0000000..c208fb8 --- /dev/null +++ b/fonts/lower-case-r.dsc @@ -0,0 +1,6 @@ +x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y 0.200000017881 diff --git a/fonts/lower-case-r.sml b/fonts/lower-case-r.sml new file mode 100644 index 0000000..2ae4286 --- /dev/null +++ b/fonts/lower-case-r.sml @@ -0,0 +1,51 @@ +structure LowerCaseR = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-s.dsc b/fonts/lower-case-s.dsc new file mode 100644 index 0000000..6372da8 --- /dev/null +++ b/fonts/lower-case-s.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.200000017881 +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 +x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 +x 0.199999943376 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/lower-case-s.sml b/fonts/lower-case-s.sml new file mode 100644 index 0000000..a0feee5 --- /dev/null +++ b/fonts/lower-case-s.sml @@ -0,0 +1,75 @@ +structure LowerCaseS = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-t.dsc b/fonts/lower-case-t.dsc new file mode 100644 index 0000000..c71d08a --- /dev/null +++ b/fonts/lower-case-t.dsc @@ -0,0 +1,6 @@ +x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 +x 0.333333283663 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.466666638851 diff --git a/fonts/lower-case-t.sml b/fonts/lower-case-t.sml new file mode 100644 index 0000000..89fa087 --- /dev/null +++ b/fonts/lower-case-t.sml @@ -0,0 +1,51 @@ +structure LowerCaseT = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-u.dsc b/fonts/lower-case-u.dsc new file mode 100644 index 0000000..c43c5c2 --- /dev/null +++ b/fonts/lower-case-u.dsc @@ -0,0 +1,6 @@ +x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-u.sml b/fonts/lower-case-u.sml new file mode 100644 index 0000000..94691ce --- /dev/null +++ b/fonts/lower-case-u.sml @@ -0,0 +1,51 @@ +structure LowerCaseU = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-v.dsc b/fonts/lower-case-v.dsc new file mode 100644 index 0000000..7931f48 --- /dev/null +++ b/fonts/lower-case-v.dsc @@ -0,0 +1,10 @@ +x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 +x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.200000017881 +x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y ~0.0666667371988 diff --git a/fonts/lower-case-v.sml b/fonts/lower-case-v.sml new file mode 100644 index 0000000..95836e6 --- /dev/null +++ b/fonts/lower-case-v.sml @@ -0,0 +1,75 @@ +structure LowerCaseV = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-w.dsc b/fonts/lower-case-w.dsc new file mode 100644 index 0000000..ad84da6 --- /dev/null +++ b/fonts/lower-case-w.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.333333283663 +x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.333333283663 +x ~0.200000017881 y ~0.333333283663 x ~0.333333343267 y ~0.333333283663 x ~0.333333343267 y 0.200000017881 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 diff --git a/fonts/lower-case-w.sml b/fonts/lower-case-w.sml new file mode 100644 index 0000000..a35cc4e --- /dev/null +++ b/fonts/lower-case-w.sml @@ -0,0 +1,75 @@ +structure LowerCaseW = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-x.dsc b/fonts/lower-case-x.dsc new file mode 100644 index 0000000..dabf358 --- /dev/null +++ b/fonts/lower-case-x.dsc @@ -0,0 +1,18 @@ +x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.0666667371988 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 +x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 +x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.333333283663 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/lower-case-x.sml b/fonts/lower-case-x.sml new file mode 100644 index 0000000..6f29944 --- /dev/null +++ b/fonts/lower-case-x.sml @@ -0,0 +1,123 @@ +structure LowerCaseX = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-y.dsc b/fonts/lower-case-y.dsc new file mode 100644 index 0000000..280c6ba --- /dev/null +++ b/fonts/lower-case-y.dsc @@ -0,0 +1,8 @@ +x 0.333333283663 y ~0.866666674614 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.866666674614 x 0.333333283663 y ~0.866666674614 +x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.200000017881 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x 0.199999943376 y ~0.866666674614 x ~0.200000017881 y ~0.866666674614 x ~0.200000017881 y ~1 +x ~0.200000017881 y ~1 x 0.199999943376 y ~1 x 0.199999943376 y ~0.866666674614 diff --git a/fonts/lower-case-y.sml b/fonts/lower-case-y.sml new file mode 100644 index 0000000..18b1e46 --- /dev/null +++ b/fonts/lower-case-y.sml @@ -0,0 +1,63 @@ +structure LowerCaseY = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/lower-case-z.dsc b/fonts/lower-case-z.dsc new file mode 100644 index 0000000..5f76352 --- /dev/null +++ b/fonts/lower-case-z.dsc @@ -0,0 +1,12 @@ +x ~0.333333343267 y 0.200000017881 x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.0666666701436 +x 0.333333283663 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 +x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 +x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/lower-case-z.sml b/fonts/lower-case-z.sml new file mode 100644 index 0000000..33d1c2d --- /dev/null +++ b/fonts/lower-case-z.sml @@ -0,0 +1,87 @@ +structure LowerCaseZ = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/minus.dsc b/fonts/minus.dsc new file mode 100644 index 0000000..0d84e07 --- /dev/null +++ b/fonts/minus.dsc @@ -0,0 +1,2 @@ +x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 +x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 diff --git a/fonts/percent.dsc b/fonts/percent.dsc new file mode 100644 index 0000000..f364343 --- /dev/null +++ b/fonts/percent.dsc @@ -0,0 +1,26 @@ +x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 +x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 +x ~0.333333343267 y ~0.333333283663 x ~0.333333343267 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 x ~0.333333343267 y ~0.333333283663 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 +x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/pipe.dsc b/fonts/pipe.dsc new file mode 100644 index 0000000..cacec91 --- /dev/null +++ b/fonts/pipe.dsc @@ -0,0 +1,2 @@ +x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y ~0.866666674614 +x ~0.0666666701436 y ~0.866666674614 x 0.0666666701436 y ~0.866666674614 x 0.0666666701436 y 0.599999964237 diff --git a/fonts/plus.dsc b/fonts/plus.dsc new file mode 100644 index 0000000..f2b2a5d --- /dev/null +++ b/fonts/plus.dsc @@ -0,0 +1,4 @@ +x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 +x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 +x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y 0.200000017881 diff --git a/fonts/question-mark.dsc b/fonts/question-mark.dsc new file mode 100644 index 0000000..31f15cf --- /dev/null +++ b/fonts/question-mark.dsc @@ -0,0 +1,12 @@ +x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.200000017881 +x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 +x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 +x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 diff --git a/fonts/question-mark.sml b/fonts/question-mark.sml new file mode 100644 index 0000000..bb58676 --- /dev/null +++ b/fonts/question-mark.sml @@ -0,0 +1,87 @@ +structure QuestionMark = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/quotes-double.dsc b/fonts/quotes-double.dsc new file mode 100644 index 0000000..905ea76 --- /dev/null +++ b/fonts/quotes-double.dsc @@ -0,0 +1,4 @@ +x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.599999964237 x 0.0666666701436 y 0.599999964237 +x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 +x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 diff --git a/fonts/quotes-double.sml b/fonts/quotes-double.sml new file mode 100644 index 0000000..dbb58a7 --- /dev/null +++ b/fonts/quotes-double.sml @@ -0,0 +1,39 @@ +structure QuotesDouble = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/quotes-single.dsc b/fonts/quotes-single.dsc new file mode 100644 index 0000000..7478780 --- /dev/null +++ b/fonts/quotes-single.dsc @@ -0,0 +1,2 @@ +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 +x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 diff --git a/fonts/quotes-single.sml b/fonts/quotes-single.sml new file mode 100644 index 0000000..dbebf3d --- /dev/null +++ b/fonts/quotes-single.sml @@ -0,0 +1,27 @@ +structure QuotesSingle = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/semi-colon.sml b/fonts/semi-colon.sml new file mode 100644 index 0000000..67500a1 --- /dev/null +++ b/fonts/semi-colon.sml @@ -0,0 +1,63 @@ +structure Semicolon = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/slash-backwards.dsc b/fonts/slash-backwards.dsc new file mode 100644 index 0000000..901593d --- /dev/null +++ b/fonts/slash-backwards.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y ~0.733333289623 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.733333289623 x 0.333333283663 y ~0.733333289623 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.599999964237 x ~0.333333343267 y 0.599999964237 +x ~0.333333343267 y 0.599999964237 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/slash-backwards.sml b/fonts/slash-backwards.sml new file mode 100644 index 0000000..740c387 --- /dev/null +++ b/fonts/slash-backwards.sml @@ -0,0 +1,75 @@ +structure SlashBackwards = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/slash-forwards.dsc b/fonts/slash-forwards.dsc new file mode 100644 index 0000000..f4e33aa --- /dev/null +++ b/fonts/slash-forwards.dsc @@ -0,0 +1,10 @@ +x ~0.333333343267 y ~0.733333289623 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.733333289623 x ~0.333333343267 y ~0.733333289623 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.599999964237 x 0.333333283663 y 0.599999964237 +x 0.333333283663 y 0.599999964237 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 diff --git a/fonts/slash-forwards.sml b/fonts/slash-forwards.sml new file mode 100644 index 0000000..4da3d75 --- /dev/null +++ b/fonts/slash-forwards.sml @@ -0,0 +1,75 @@ +structure SlashForwards = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/space.sml b/fonts/space.sml new file mode 100644 index 0000000..bf94a6e --- /dev/null +++ b/fonts/space.sml @@ -0,0 +1,5 @@ +structure AsciiSpace = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + #[ ] +end diff --git a/fonts/square-bracket-closed.dsc b/fonts/square-bracket-closed.dsc new file mode 100644 index 0000000..5a84dbb --- /dev/null +++ b/fonts/square-bracket-closed.dsc @@ -0,0 +1,6 @@ +x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y 0.466666638851 x 0.0666666701436 y 0.466666638851 +x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 +x ~0.200000017881 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.866666674614 +x 0.0666666701436 y ~0.866666674614 x ~0.200000017881 y ~0.866666674614 x ~0.200000017881 y ~0.733333289623 +x 0.199999943376 y 0.599999964237 x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y ~0.866666674614 +x 0.0666666701436 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 x 0.199999943376 y 0.599999964237 diff --git a/fonts/square-bracket-closed.sml b/fonts/square-bracket-closed.sml new file mode 100644 index 0000000..b446541 --- /dev/null +++ b/fonts/square-bracket-closed.sml @@ -0,0 +1,51 @@ +structure SquareBracketClosed = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/square-bracket-open.dsc b/fonts/square-bracket-open.dsc new file mode 100644 index 0000000..4464779 --- /dev/null +++ b/fonts/square-bracket-open.dsc @@ -0,0 +1,6 @@ +x 0.199999943376 y 0.599999964237 x 0.199999943376 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 +x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.599999964237 x 0.199999943376 y 0.599999964237 +x 0.199999943376 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.866666674614 +x ~0.0666666701436 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 x 0.199999943376 y ~0.733333289623 +x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.866666674614 +x ~0.200000017881 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y 0.599999964237 diff --git a/fonts/square-bracket-open.sml b/fonts/square-bracket-open.sml new file mode 100644 index 0000000..b376e11 --- /dev/null +++ b/fonts/square-bracket-open.sml @@ -0,0 +1,51 @@ +structure SquareBracketOpen = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/tilde.dsc b/fonts/tilde.dsc new file mode 100644 index 0000000..7b9a4d2 --- /dev/null +++ b/fonts/tilde.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 +x 0.199999943376 y ~0.199999943376 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 +x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.333333283663 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 +x ~0.200000017881 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.333333283663 +x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.0666667371988 diff --git a/fonts/tilde.sml b/fonts/tilde.sml new file mode 100644 index 0000000..d410e19 --- /dev/null +++ b/fonts/tilde.sml @@ -0,0 +1,75 @@ +structure AsciiTilde = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/underscore.dsc b/fonts/underscore.dsc new file mode 100644 index 0000000..d5e0cfa --- /dev/null +++ b/fonts/underscore.dsc @@ -0,0 +1,2 @@ +x 0.333333283663 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.733333289623 +x ~0.333333343267 y ~0.733333289623 x 0.333333283663 y ~0.733333289623 x 0.333333283663 y ~0.599999964237 diff --git a/fonts/underscore.sml b/fonts/underscore.sml new file mode 100644 index 0000000..50e86eb --- /dev/null +++ b/fonts/underscore.sml @@ -0,0 +1,27 @@ +structure Underscore = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/unknown-char.dsc b/fonts/unknown-char.dsc new file mode 100644 index 0000000..a3831e1 --- /dev/null +++ b/fonts/unknown-char.dsc @@ -0,0 +1,8 @@ +x 0.599999964237 y ~0.466666638851 x 0.599999964237 y 0.466666638851 x 0.466666638851 y 0.466666638851 +x 0.466666638851 y 0.466666638851 x 0.466666638851 y ~0.466666638851 x 0.599999964237 y ~0.466666638851 +x 0.599999964237 y 0.599999964237 x ~0.466666668653 y 0.599999964237 x ~0.466666668653 y 0.466666638851 +x ~0.466666668653 y 0.466666638851 x 0.599999964237 y 0.466666638851 x 0.599999964237 y 0.599999964237 +x ~0.466666668653 y 0.599999964237 x ~0.466666668653 y ~0.466666638851 x ~0.599999964237 y ~0.466666638851 +x ~0.599999964237 y ~0.466666638851 x ~0.599999964237 y 0.599999964237 x ~0.466666668653 y 0.599999964237 +x 0.599999964237 y ~0.466666638851 x ~0.599999964237 y ~0.466666638851 x ~0.599999964237 y ~0.599999964237 +x ~0.599999964237 y ~0.599999964237 x 0.599999964237 y ~0.599999964237 x 0.599999964237 y ~0.466666638851 diff --git a/fonts/unknown-char.sml b/fonts/unknown-char.sml new file mode 100644 index 0000000..47dd9fd --- /dev/null +++ b/fonts/unknown-char.sml @@ -0,0 +1,63 @@ +structure UnknownChar = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-a.dsc b/fonts/upper-case-a.dsc new file mode 100644 index 0000000..05f4d77 --- /dev/null +++ b/fonts/upper-case-a.dsc @@ -0,0 +1,8 @@ +x ~0.200000017881 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/upper-case-a.sml b/fonts/upper-case-a.sml new file mode 100644 index 0000000..b429e83 --- /dev/null +++ b/fonts/upper-case-a.sml @@ -0,0 +1,63 @@ +structure UpperCaseA = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-b.dsc b/fonts/upper-case-b.dsc new file mode 100644 index 0000000..3155432 --- /dev/null +++ b/fonts/upper-case-b.dsc @@ -0,0 +1,12 @@ +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-b.sml b/fonts/upper-case-b.sml new file mode 100644 index 0000000..b49b485 --- /dev/null +++ b/fonts/upper-case-b.sml @@ -0,0 +1,87 @@ +structure UpperCaseB = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-c.dsc b/fonts/upper-case-c.dsc new file mode 100644 index 0000000..cfebfb5 --- /dev/null +++ b/fonts/upper-case-c.dsc @@ -0,0 +1,10 @@ +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 +x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/upper-case-c.sml b/fonts/upper-case-c.sml new file mode 100644 index 0000000..d4808a9 --- /dev/null +++ b/fonts/upper-case-c.sml @@ -0,0 +1,75 @@ +structure UpperCaseC = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-d.dsc b/fonts/upper-case-d.dsc new file mode 100644 index 0000000..041c3c3 --- /dev/null +++ b/fonts/upper-case-d.dsc @@ -0,0 +1,12 @@ +x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 +x 0.199999943376 y ~0.333333283663 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 +x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 +x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 +x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 +x 0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.333333343267 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/upper-case-d.sml b/fonts/upper-case-d.sml new file mode 100644 index 0000000..26c543d --- /dev/null +++ b/fonts/upper-case-d.sml @@ -0,0 +1,87 @@ +structure UpperCaseD = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-e.dsc b/fonts/upper-case-e.dsc new file mode 100644 index 0000000..82b6867 --- /dev/null +++ b/fonts/upper-case-e.dsc @@ -0,0 +1,8 @@ +x 0.333333283663 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 +x 0.333333283663 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-e.sml b/fonts/upper-case-e.sml new file mode 100644 index 0000000..ee361f2 --- /dev/null +++ b/fonts/upper-case-e.sml @@ -0,0 +1,63 @@ +structure UpperCaseE = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-f.dsc b/fonts/upper-case-f.dsc new file mode 100644 index 0000000..26793c4 --- /dev/null +++ b/fonts/upper-case-f.dsc @@ -0,0 +1,6 @@ +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x 0.333333283663 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.333333343267 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-f.sml b/fonts/upper-case-f.sml new file mode 100644 index 0000000..c8613ad --- /dev/null +++ b/fonts/upper-case-f.sml @@ -0,0 +1,51 @@ +structure UpperCaseF = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-g.dsc b/fonts/upper-case-g.dsc new file mode 100644 index 0000000..17d2a31 --- /dev/null +++ b/fonts/upper-case-g.dsc @@ -0,0 +1,12 @@ +x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 +x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 +x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 +x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 +x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-g.sml b/fonts/upper-case-g.sml new file mode 100644 index 0000000..6c37895 --- /dev/null +++ b/fonts/upper-case-g.sml @@ -0,0 +1,87 @@ +structure UpperCaseG = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-h.dsc b/fonts/upper-case-h.dsc new file mode 100644 index 0000000..4f69b33 --- /dev/null +++ b/fonts/upper-case-h.dsc @@ -0,0 +1,6 @@ +x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 +x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-h.sml b/fonts/upper-case-h.sml new file mode 100644 index 0000000..aadeb65 --- /dev/null +++ b/fonts/upper-case-h.sml @@ -0,0 +1,51 @@ +structure UpperCaseH = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-i.dsc b/fonts/upper-case-i.dsc new file mode 100644 index 0000000..2dcda73 --- /dev/null +++ b/fonts/upper-case-i.dsc @@ -0,0 +1,6 @@ +x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 +x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 +x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.333333343267 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-i.sml b/fonts/upper-case-i.sml new file mode 100644 index 0000000..264ac32 --- /dev/null +++ b/fonts/upper-case-i.sml @@ -0,0 +1,51 @@ +structure UpperCaseI = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-j.dsc b/fonts/upper-case-j.dsc new file mode 100644 index 0000000..235ebcf --- /dev/null +++ b/fonts/upper-case-j.dsc @@ -0,0 +1,8 @@ +x ~0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x 0.199999943376 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.333333343267 +x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 diff --git a/fonts/upper-case-j.sml b/fonts/upper-case-j.sml new file mode 100644 index 0000000..5c09f78 --- /dev/null +++ b/fonts/upper-case-j.sml @@ -0,0 +1,63 @@ +structure UpperCaseJ = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-k.dsc b/fonts/upper-case-k.dsc new file mode 100644 index 0000000..095b869 --- /dev/null +++ b/fonts/upper-case-k.dsc @@ -0,0 +1,14 @@ +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 +x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 +x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/upper-case-k.sml b/fonts/upper-case-k.sml new file mode 100644 index 0000000..318b376 --- /dev/null +++ b/fonts/upper-case-k.sml @@ -0,0 +1,99 @@ +structure UpperCaseK = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-l.dsc b/fonts/upper-case-l.dsc new file mode 100644 index 0000000..56c986b --- /dev/null +++ b/fonts/upper-case-l.dsc @@ -0,0 +1,4 @@ +x 0.333333283663 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/upper-case-l.sml b/fonts/upper-case-l.sml new file mode 100644 index 0000000..9da10aa --- /dev/null +++ b/fonts/upper-case-l.sml @@ -0,0 +1,39 @@ +structure UpperCaseL = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-m.dsc b/fonts/upper-case-m.dsc new file mode 100644 index 0000000..75cfa4c --- /dev/null +++ b/fonts/upper-case-m.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 +x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.333333343267 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-m.sml b/fonts/upper-case-m.sml new file mode 100644 index 0000000..5c35ac6 --- /dev/null +++ b/fonts/upper-case-m.sml @@ -0,0 +1,75 @@ +structure UpperCaseM = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-n.dsc b/fonts/upper-case-n.dsc new file mode 100644 index 0000000..269b81c --- /dev/null +++ b/fonts/upper-case-n.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.0666666701436 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-n.sml b/fonts/upper-case-n.sml new file mode 100644 index 0000000..aab7ccd --- /dev/null +++ b/fonts/upper-case-n.sml @@ -0,0 +1,75 @@ +structure UpperCaseN = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-o.dsc b/fonts/upper-case-o.dsc new file mode 100644 index 0000000..518f82d --- /dev/null +++ b/fonts/upper-case-o.dsc @@ -0,0 +1,8 @@ +x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 +x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 +x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 +x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 +x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-o.sml b/fonts/upper-case-o.sml new file mode 100644 index 0000000..2a9eac6 --- /dev/null +++ b/fonts/upper-case-o.sml @@ -0,0 +1,63 @@ +structure UpperCaseO = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-p.dsc b/fonts/upper-case-p.dsc new file mode 100644 index 0000000..0820212 --- /dev/null +++ b/fonts/upper-case-p.dsc @@ -0,0 +1,8 @@ +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 +x 0.199999943376 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 +x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.466666638851 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-p.sml b/fonts/upper-case-p.sml new file mode 100644 index 0000000..e434b57 --- /dev/null +++ b/fonts/upper-case-p.sml @@ -0,0 +1,63 @@ +structure UpperCaseP = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-q.dsc b/fonts/upper-case-q.dsc new file mode 100644 index 0000000..1993ee2 --- /dev/null +++ b/fonts/upper-case-q.dsc @@ -0,0 +1,12 @@ +x 0.333333283663 y ~0.333333283663 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 +x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 +x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 +x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 +x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.333333283663 +x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 +x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.733333289623 +x 0.333333283663 y ~0.733333289623 x 0.199999943376 y ~0.733333289623 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-q.sml b/fonts/upper-case-q.sml new file mode 100644 index 0000000..127acbb --- /dev/null +++ b/fonts/upper-case-q.sml @@ -0,0 +1,87 @@ +structure UpperCaseQ = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-r.dsc b/fonts/upper-case-r.dsc new file mode 100644 index 0000000..c519e81 --- /dev/null +++ b/fonts/upper-case-r.dsc @@ -0,0 +1,12 @@ +x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 +x ~0.200000017881 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 +x 0.199999943376 y ~0.199999943376 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 +x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 +x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 +x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-r.sml b/fonts/upper-case-r.sml new file mode 100644 index 0000000..93ffde0 --- /dev/null +++ b/fonts/upper-case-r.sml @@ -0,0 +1,87 @@ +structure UpperCaseR = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-s.dsc b/fonts/upper-case-s.dsc new file mode 100644 index 0000000..86607d3 --- /dev/null +++ b/fonts/upper-case-s.dsc @@ -0,0 +1,14 @@ +x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 +x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 +x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 +x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 +x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 +x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 +x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 +x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 +x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 +x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 diff --git a/fonts/upper-case-s.sml b/fonts/upper-case-s.sml new file mode 100644 index 0000000..71d07e6 --- /dev/null +++ b/fonts/upper-case-s.sml @@ -0,0 +1,99 @@ +structure UpperCaseS = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-t.dsc b/fonts/upper-case-t.dsc new file mode 100644 index 0000000..b7986cf --- /dev/null +++ b/fonts/upper-case-t.dsc @@ -0,0 +1,4 @@ +x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 +x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 +x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x 0.333333283663 y 0.333333343267 diff --git a/fonts/upper-case-t.sml b/fonts/upper-case-t.sml new file mode 100644 index 0000000..a984595 --- /dev/null +++ b/fonts/upper-case-t.sml @@ -0,0 +1,39 @@ +structure UpperCaseT = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-u.dsc b/fonts/upper-case-u.dsc new file mode 100644 index 0000000..78957cf --- /dev/null +++ b/fonts/upper-case-u.dsc @@ -0,0 +1,6 @@ +x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.466666638851 +x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 +x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 +x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/upper-case-u.sml b/fonts/upper-case-u.sml new file mode 100644 index 0000000..a292d42 --- /dev/null +++ b/fonts/upper-case-u.sml @@ -0,0 +1,51 @@ +structure UpperCaseU = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-v.dsc b/fonts/upper-case-v.dsc new file mode 100644 index 0000000..3aefee0 --- /dev/null +++ b/fonts/upper-case-v.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 +x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 diff --git a/fonts/upper-case-v.sml b/fonts/upper-case-v.sml new file mode 100644 index 0000000..9798d5d --- /dev/null +++ b/fonts/upper-case-v.sml @@ -0,0 +1,75 @@ +structure UpperCaseV = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-w.dsc b/fonts/upper-case-w.dsc new file mode 100644 index 0000000..d378c83 --- /dev/null +++ b/fonts/upper-case-w.dsc @@ -0,0 +1,10 @@ +x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.199999943376 +x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 x 0.333333283663 y 0.466666638851 +x 0.199999943376 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.199999943376 +x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.599999964237 +x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.333333283663 +x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 +x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 diff --git a/fonts/upper-case-w.sml b/fonts/upper-case-w.sml new file mode 100644 index 0000000..bec134b --- /dev/null +++ b/fonts/upper-case-w.sml @@ -0,0 +1,75 @@ +structure UpperCaseW = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-x.dsc b/fonts/upper-case-x.dsc new file mode 100644 index 0000000..ee6eb20 --- /dev/null +++ b/fonts/upper-case-x.dsc @@ -0,0 +1,18 @@ +x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 +x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 +x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.200000017881 +x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 +x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 +x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 +x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 +x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/upper-case-x.sml b/fonts/upper-case-x.sml new file mode 100644 index 0000000..ad8a4c6 --- /dev/null +++ b/fonts/upper-case-x.sml @@ -0,0 +1,123 @@ +structure UpperCaseX = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-y.dsc b/fonts/upper-case-y.dsc new file mode 100644 index 0000000..829bac3 --- /dev/null +++ b/fonts/upper-case-y.dsc @@ -0,0 +1,10 @@ +x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 +x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 +x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 +x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 +x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 +x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 +x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 +x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 +x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 diff --git a/fonts/upper-case-y.sml b/fonts/upper-case-y.sml new file mode 100644 index 0000000..22d3ccf --- /dev/null +++ b/fonts/upper-case-y.sml @@ -0,0 +1,75 @@ +structure UpperCaseY = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file diff --git a/fonts/upper-case-z.dsc b/fonts/upper-case-z.dsc new file mode 100644 index 0000000..114c3e2 --- /dev/null +++ b/fonts/upper-case-z.dsc @@ -0,0 +1,12 @@ +x ~0.333333343267 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.333333343267 +x 0.333333283663 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.466666638851 +x 0.199999943376 y 0.333333343267 x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.200000017881 +x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.333333343267 +x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 +x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 +x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 +x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 +x 0.333333283663 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 +x ~0.333333343267 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/upper-case-z.sml b/fonts/upper-case-z.sml new file mode 100644 index 0000000..49aec50 --- /dev/null +++ b/fonts/upper-case-z.sml @@ -0,0 +1,87 @@ +structure UpperCaseZ = +struct + fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + let + val startX = Real32.fromInt startX + val startY = Real32.fromInt startY + val endY = windowHeight - startY + val startY = windowHeight - (startY + drawHeight) + val endX = startX + drawWidth + val windowHeight = windowHeight / 2.0 + val windowWidth = windowWidth / 2.0 + in + #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, + (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, + (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b + ] + end +end \ No newline at end of file From 25eee9f3e6678d5e4698e686dbec60c300ce0a2c Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Wed, 9 Oct 2024 01:12:19 +0100 Subject: [PATCH 02/16] swap position of backtick and underscore around in ascii table, because they were in each other's position --- fonts/cozette-ascii.sml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fonts/cozette-ascii.sml b/fonts/cozette-ascii.sml index 24f6d23..39a3418 100644 --- a/fonts/cozette-ascii.sml +++ b/fonts/cozette-ascii.sml @@ -96,8 +96,8 @@ struct SlashBackwards.lerp, SquareBracketClosed.lerp, Caret.lerp, - Backtick.lerp, Underscore.lerp, + Backtick.lerp, LowerCaseA.lerp, LowerCaseB.lerp, LowerCaseC.lerp, From d9c7f718591c815d28e90b00ea7ebe58e387064c Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 00:48:59 +0100 Subject: [PATCH 03/16] create folder for new fonts which should hopefully be easier to use (in progress) --- new-fonts/0.sml | 168 ++++++++++++ new-fonts/1.sml | 137 ++++++++++ new-fonts/2.sml | 257 ++++++++++++++++++ new-fonts/3.sml | 227 ++++++++++++++++ new-fonts/4.sml | 197 ++++++++++++++ new-fonts/5.sml | 197 ++++++++++++++ new-fonts/6.sml | 197 ++++++++++++++ new-fonts/7.sml | 167 ++++++++++++ new-fonts/8.sml | 227 ++++++++++++++++ new-fonts/9.sml | 197 ++++++++++++++ new-fonts/ampersand.sml | 317 ++++++++++++++++++++++ new-fonts/asterisk.sml | 197 ++++++++++++++ new-fonts/at-sign.sml | 227 ++++++++++++++++ new-fonts/backtick.sml | 77 ++++++ new-fonts/backward-slash.sml | 167 ++++++++++++ new-fonts/caret.sml | 167 ++++++++++++ new-fonts/colon.sml | 77 ++++++ new-fonts/comma.sml | 107 ++++++++ new-fonts/cozette.mlb | 100 +++++++ new-fonts/dollar.sml | 257 ++++++++++++++++++ new-fonts/double-speech-marks.sml | 77 ++++++ new-fonts/equals.sml | 77 ++++++ new-fonts/exclamation_mark.sml | 77 ++++++ new-fonts/forward-slash.sml | 167 ++++++++++++ new-fonts/full-stop.sml | 47 ++++ new-fonts/hash.sml | 137 ++++++++++ new-fonts/left-angled-bracket.sml | 227 ++++++++++++++++ new-fonts/left-brace.sml | 167 ++++++++++++ new-fonts/left-bracket.sml | 107 ++++++++ new-fonts/left-paren.sml | 167 ++++++++++++ new-fonts/lower-case-a.sml | 167 ++++++++++++ new-fonts/lower-case-b.sml | 137 ++++++++++ new-fonts/lower-case-c.sml | 167 ++++++++++++ new-fonts/lower-case-d.sml | 137 ++++++++++ new-fonts/lower-case-e.sml | 197 ++++++++++++++ new-fonts/lower-case-f.sml | 107 ++++++++ new-fonts/lower-case-g.sml | 167 ++++++++++++ new-fonts/lower-case-h.sml | 107 ++++++++ new-fonts/lower-case-i.sml | 137 ++++++++++ new-fonts/lower-case-j.sml | 137 ++++++++++ new-fonts/lower-case-k.sml | 227 ++++++++++++++++ new-fonts/lower-case-l.sml | 107 ++++++++ new-fonts/lower-case-m.sml | 167 ++++++++++++ new-fonts/lower-case-n.sml | 107 ++++++++ new-fonts/lower-case-o.sml | 137 ++++++++++ new-fonts/lower-case-p.sml | 137 ++++++++++ new-fonts/lower-case-q.sml | 167 ++++++++++++ new-fonts/lower-case-r.sml | 107 ++++++++ new-fonts/lower-case-s.sml | 167 ++++++++++++ new-fonts/lower-case-t.sml | 107 ++++++++ new-fonts/lower-case-u.sml | 107 ++++++++ new-fonts/lower-case-v.sml | 167 ++++++++++++ new-fonts/lower-case-w.sml | 167 ++++++++++++ new-fonts/lower-case-x.sml | 287 ++++++++++++++++++++ new-fonts/lower-case-y.sml | 137 ++++++++++ new-fonts/lower-case-z.sml | 197 ++++++++++++++ new-fonts/minus.sml | 47 ++++ new-fonts/percent.sml | 407 +++++++++++++++++++++++++++++ new-fonts/pipe.sml | 47 ++++ new-fonts/plus.sml | 77 ++++++ new-fonts/question-mark.sml | 197 ++++++++++++++ new-fonts/right-angled-bracket.sml | 227 ++++++++++++++++ new-fonts/right-brace.sml | 167 ++++++++++++ new-fonts/right-bracket.sml | 107 ++++++++ new-fonts/right-paren.sml | 167 ++++++++++++ new-fonts/semicolon.sml | 137 ++++++++++ new-fonts/single-speech-mark.sml | 47 ++++ new-fonts/tilde.sml | 167 ++++++++++++ new-fonts/underscore.sml | 47 ++++ new-fonts/unknown.sml | 137 ++++++++++ new-fonts/upper-case-a.sml | 137 ++++++++++ new-fonts/upper-case-b.sml | 197 ++++++++++++++ new-fonts/upper-case-c.sml | 167 ++++++++++++ new-fonts/upper-case-d.sml | 197 ++++++++++++++ new-fonts/upper-case-e.sml | 137 ++++++++++ new-fonts/upper-case-f.sml | 107 ++++++++ new-fonts/upper-case-g.sml | 197 ++++++++++++++ new-fonts/upper-case-h.sml | 107 ++++++++ new-fonts/upper-case-i.sml | 107 ++++++++ new-fonts/upper-case-j.sml | 137 ++++++++++ new-fonts/upper-case-k.sml | 227 ++++++++++++++++ new-fonts/upper-case-l.sml | 77 ++++++ new-fonts/upper-case-m.sml | 167 ++++++++++++ new-fonts/upper-case-n.sml | 167 ++++++++++++ new-fonts/upper-case-o.sml | 137 ++++++++++ new-fonts/upper-case-p.sml | 137 ++++++++++ new-fonts/upper-case-q.sml | 197 ++++++++++++++ new-fonts/upper-case-r.sml | 197 ++++++++++++++ new-fonts/upper-case-s.sml | 227 ++++++++++++++++ new-fonts/upper-case-t.sml | 77 ++++++ new-fonts/upper-case-u.sml | 107 ++++++++ new-fonts/upper-case-v.sml | 167 ++++++++++++ new-fonts/upper-case-w.sml | 167 ++++++++++++ new-fonts/upper-case-x.sml | 287 ++++++++++++++++++++ new-fonts/upper-case-y.sml | 167 ++++++++++++ new-fonts/upper-case-z.sml | 197 ++++++++++++++ 96 files changed, 15036 insertions(+) create mode 100644 new-fonts/0.sml create mode 100644 new-fonts/1.sml create mode 100644 new-fonts/2.sml create mode 100644 new-fonts/3.sml create mode 100644 new-fonts/4.sml create mode 100644 new-fonts/5.sml create mode 100644 new-fonts/6.sml create mode 100644 new-fonts/7.sml create mode 100644 new-fonts/8.sml create mode 100644 new-fonts/9.sml create mode 100644 new-fonts/ampersand.sml create mode 100644 new-fonts/asterisk.sml create mode 100644 new-fonts/at-sign.sml create mode 100644 new-fonts/backtick.sml create mode 100644 new-fonts/backward-slash.sml create mode 100644 new-fonts/caret.sml create mode 100644 new-fonts/colon.sml create mode 100644 new-fonts/comma.sml create mode 100644 new-fonts/cozette.mlb create mode 100644 new-fonts/dollar.sml create mode 100644 new-fonts/double-speech-marks.sml create mode 100644 new-fonts/equals.sml create mode 100644 new-fonts/exclamation_mark.sml create mode 100644 new-fonts/forward-slash.sml create mode 100644 new-fonts/full-stop.sml create mode 100644 new-fonts/hash.sml create mode 100644 new-fonts/left-angled-bracket.sml create mode 100644 new-fonts/left-brace.sml create mode 100644 new-fonts/left-bracket.sml create mode 100644 new-fonts/left-paren.sml create mode 100644 new-fonts/lower-case-a.sml create mode 100644 new-fonts/lower-case-b.sml create mode 100644 new-fonts/lower-case-c.sml create mode 100644 new-fonts/lower-case-d.sml create mode 100644 new-fonts/lower-case-e.sml create mode 100644 new-fonts/lower-case-f.sml create mode 100644 new-fonts/lower-case-g.sml create mode 100644 new-fonts/lower-case-h.sml create mode 100644 new-fonts/lower-case-i.sml create mode 100644 new-fonts/lower-case-j.sml create mode 100644 new-fonts/lower-case-k.sml create mode 100644 new-fonts/lower-case-l.sml create mode 100644 new-fonts/lower-case-m.sml create mode 100644 new-fonts/lower-case-n.sml create mode 100644 new-fonts/lower-case-o.sml create mode 100644 new-fonts/lower-case-p.sml create mode 100644 new-fonts/lower-case-q.sml create mode 100644 new-fonts/lower-case-r.sml create mode 100644 new-fonts/lower-case-s.sml create mode 100644 new-fonts/lower-case-t.sml create mode 100644 new-fonts/lower-case-u.sml create mode 100644 new-fonts/lower-case-v.sml create mode 100644 new-fonts/lower-case-w.sml create mode 100644 new-fonts/lower-case-x.sml create mode 100644 new-fonts/lower-case-y.sml create mode 100644 new-fonts/lower-case-z.sml create mode 100644 new-fonts/minus.sml create mode 100644 new-fonts/percent.sml create mode 100644 new-fonts/pipe.sml create mode 100644 new-fonts/plus.sml create mode 100644 new-fonts/question-mark.sml create mode 100644 new-fonts/right-angled-bracket.sml create mode 100644 new-fonts/right-brace.sml create mode 100644 new-fonts/right-bracket.sml create mode 100644 new-fonts/right-paren.sml create mode 100644 new-fonts/semicolon.sml create mode 100644 new-fonts/single-speech-mark.sml create mode 100644 new-fonts/tilde.sml create mode 100644 new-fonts/underscore.sml create mode 100644 new-fonts/unknown.sml create mode 100644 new-fonts/upper-case-a.sml create mode 100644 new-fonts/upper-case-b.sml create mode 100644 new-fonts/upper-case-c.sml create mode 100644 new-fonts/upper-case-d.sml create mode 100644 new-fonts/upper-case-e.sml create mode 100644 new-fonts/upper-case-f.sml create mode 100644 new-fonts/upper-case-g.sml create mode 100644 new-fonts/upper-case-h.sml create mode 100644 new-fonts/upper-case-i.sml create mode 100644 new-fonts/upper-case-j.sml create mode 100644 new-fonts/upper-case-k.sml create mode 100644 new-fonts/upper-case-l.sml create mode 100644 new-fonts/upper-case-m.sml create mode 100644 new-fonts/upper-case-n.sml create mode 100644 new-fonts/upper-case-o.sml create mode 100644 new-fonts/upper-case-p.sml create mode 100644 new-fonts/upper-case-q.sml create mode 100644 new-fonts/upper-case-r.sml create mode 100644 new-fonts/upper-case-s.sml create mode 100644 new-fonts/upper-case-t.sml create mode 100644 new-fonts/upper-case-u.sml create mode 100644 new-fonts/upper-case-v.sml create mode 100644 new-fonts/upper-case-w.sml create mode 100644 new-fonts/upper-case-x.sml create mode 100644 new-fonts/upper-case-y.sml create mode 100644 new-fonts/upper-case-z.sml diff --git a/new-fonts/0.sml b/new-fonts/0.sml new file mode 100644 index 0000000..0a8c8df --- /dev/null +++ b/new-fonts/0.sml @@ -0,0 +1,168 @@ +structure Zero = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight): Real32.real + vector = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/1.sml b/new-fonts/1.sml new file mode 100644 index 0000000..ea06298 --- /dev/null +++ b/new-fonts/1.sml @@ -0,0 +1,137 @@ +structure One = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/2.sml b/new-fonts/2.sml new file mode 100644 index 0000000..ba65066 --- /dev/null +++ b/new-fonts/2.sml @@ -0,0 +1,257 @@ +structure Two = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/3.sml b/new-fonts/3.sml new file mode 100644 index 0000000..089b42c --- /dev/null +++ b/new-fonts/3.sml @@ -0,0 +1,227 @@ +structure Three = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/4.sml b/new-fonts/4.sml new file mode 100644 index 0000000..37c12c5 --- /dev/null +++ b/new-fonts/4.sml @@ -0,0 +1,197 @@ +structure Four = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/5.sml b/new-fonts/5.sml new file mode 100644 index 0000000..899f17a --- /dev/null +++ b/new-fonts/5.sml @@ -0,0 +1,197 @@ +structure Five = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/6.sml b/new-fonts/6.sml new file mode 100644 index 0000000..c26fa74 --- /dev/null +++ b/new-fonts/6.sml @@ -0,0 +1,197 @@ +structure Six = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/7.sml b/new-fonts/7.sml new file mode 100644 index 0000000..f7d2c2f --- /dev/null +++ b/new-fonts/7.sml @@ -0,0 +1,167 @@ +structure Seven = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/8.sml b/new-fonts/8.sml new file mode 100644 index 0000000..e37616f --- /dev/null +++ b/new-fonts/8.sml @@ -0,0 +1,227 @@ +structure Eight = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/9.sml b/new-fonts/9.sml new file mode 100644 index 0000000..8879b69 --- /dev/null +++ b/new-fonts/9.sml @@ -0,0 +1,197 @@ +structure Nine = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/ampersand.sml b/new-fonts/ampersand.sml new file mode 100644 index 0000000..b7dc044 --- /dev/null +++ b/new-fonts/ampersand.sml @@ -0,0 +1,317 @@ +structure Ampersand = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/asterisk.sml b/new-fonts/asterisk.sml new file mode 100644 index 0000000..11c7444 --- /dev/null +++ b/new-fonts/asterisk.sml @@ -0,0 +1,197 @@ +structure Asterisk = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/at-sign.sml b/new-fonts/at-sign.sml new file mode 100644 index 0000000..b2a4760 --- /dev/null +++ b/new-fonts/at-sign.sml @@ -0,0 +1,227 @@ +structure AtSign = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/backtick.sml b/new-fonts/backtick.sml new file mode 100644 index 0000000..fc43186 --- /dev/null +++ b/new-fonts/backtick.sml @@ -0,0 +1,77 @@ +structure Backtick = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/backward-slash.sml b/new-fonts/backward-slash.sml new file mode 100644 index 0000000..b1ab743 --- /dev/null +++ b/new-fonts/backward-slash.sml @@ -0,0 +1,167 @@ +structure BackwardSlash = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/caret.sml b/new-fonts/caret.sml new file mode 100644 index 0000000..8c91924 --- /dev/null +++ b/new-fonts/caret.sml @@ -0,0 +1,167 @@ +structure Caret = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/colon.sml b/new-fonts/colon.sml new file mode 100644 index 0000000..728fb86 --- /dev/null +++ b/new-fonts/colon.sml @@ -0,0 +1,77 @@ +structure Colon = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/comma.sml b/new-fonts/comma.sml new file mode 100644 index 0000000..158e474 --- /dev/null +++ b/new-fonts/comma.sml @@ -0,0 +1,107 @@ +structure Comma = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/cozette.mlb b/new-fonts/cozette.mlb new file mode 100644 index 0000000..a146144 --- /dev/null +++ b/new-fonts/cozette.mlb @@ -0,0 +1,100 @@ +$(SML_LIB)/basis/basis.mlb +ann + "allowVectorExps true" +in + 0.sml + 1.sml + 2.sml + 3.sml + 4.sml + 5.sml + 6.sml + 7.sml + 8.sml + 9.sml + ampersand.sml + asterisk.sml + at-sign.sml + backtick.sml + backward-slash.sml + caret.sml + colon.sml + comma.sml + dollar.sml + double-speech-marks.sml + equals.sml + exclamation_mark.sml + forward-slash.sml + full-stop.sml + hash.sml + left-angled-bracket.sml + left-brace.sml + left-bracket.sml + left-paren.sml + lower-case-a.sml + lower-case-b.sml + lower-case-c.sml + lower-case-d.sml + lower-case-e.sml + lower-case-f.sml + lower-case-g.sml + lower-case-h.sml + lower-case-i.sml + lower-case-j.sml + lower-case-k.sml + lower-case-l.sml + lower-case-m.sml + lower-case-n.sml + lower-case-o.sml + lower-case-p.sml + lower-case-q.sml + lower-case-r.sml + lower-case-s.sml + lower-case-t.sml + lower-case-u.sml + lower-case-v.sml + lower-case-w.sml + lower-case-x.sml + lower-case-y.sml + lower-case-z.sml + minus.sml + percent.sml + pipe.sml + plus.sml + question-mark.sml + right-angled-bracket.sml + right-brace.sml + right-bracket.sml + right-paren.sml + semicolon.sml + single-speech-mark.sml + tilde.sml + underscore.sml + unknown.sml + upper-case-a.sml + upper-case-b.sml + upper-case-c.sml + upper-case-d.sml + upper-case-e.sml + upper-case-f.sml + upper-case-g.sml + upper-case-h.sml + upper-case-i.sml + upper-case-j.sml + upper-case-k.sml + upper-case-l.sml + upper-case-m.sml + upper-case-n.sml + upper-case-o.sml + upper-case-p.sml + upper-case-q.sml + upper-case-r.sml + upper-case-s.sml + upper-case-t.sml + upper-case-u.sml + upper-case-v.sml + upper-case-w.sml + upper-case-x.sml + upper-case-y.sml + upper-case-z.sml +end diff --git a/new-fonts/dollar.sml b/new-fonts/dollar.sml new file mode 100644 index 0000000..78c70e5 --- /dev/null +++ b/new-fonts/dollar.sml @@ -0,0 +1,257 @@ +structure Dollar = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/double-speech-marks.sml b/new-fonts/double-speech-marks.sml new file mode 100644 index 0000000..aec565c --- /dev/null +++ b/new-fonts/double-speech-marks.sml @@ -0,0 +1,77 @@ +structure DoubleSpeechMarks = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/equals.sml b/new-fonts/equals.sml new file mode 100644 index 0000000..2af937a --- /dev/null +++ b/new-fonts/equals.sml @@ -0,0 +1,77 @@ +structure Equals = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/exclamation_mark.sml b/new-fonts/exclamation_mark.sml new file mode 100644 index 0000000..a3aeb11 --- /dev/null +++ b/new-fonts/exclamation_mark.sml @@ -0,0 +1,77 @@ +structure ExclamationMark = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/forward-slash.sml b/new-fonts/forward-slash.sml new file mode 100644 index 0000000..3d4a1b6 --- /dev/null +++ b/new-fonts/forward-slash.sml @@ -0,0 +1,167 @@ +structure ForwardSlash = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/full-stop.sml b/new-fonts/full-stop.sml new file mode 100644 index 0000000..68421d7 --- /dev/null +++ b/new-fonts/full-stop.sml @@ -0,0 +1,47 @@ +structure FullStop = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/hash.sml b/new-fonts/hash.sml new file mode 100644 index 0000000..a5cdd98 --- /dev/null +++ b/new-fonts/hash.sml @@ -0,0 +1,137 @@ +structure Hash = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/left-angled-bracket.sml b/new-fonts/left-angled-bracket.sml new file mode 100644 index 0000000..32f632f --- /dev/null +++ b/new-fonts/left-angled-bracket.sml @@ -0,0 +1,227 @@ +structure LeftAngledBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/left-brace.sml b/new-fonts/left-brace.sml new file mode 100644 index 0000000..1db5ca3 --- /dev/null +++ b/new-fonts/left-brace.sml @@ -0,0 +1,167 @@ +structure LeftBrace = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/left-bracket.sml b/new-fonts/left-bracket.sml new file mode 100644 index 0000000..df2d24c --- /dev/null +++ b/new-fonts/left-bracket.sml @@ -0,0 +1,107 @@ +structure LeftBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/left-paren.sml b/new-fonts/left-paren.sml new file mode 100644 index 0000000..5d17b92 --- /dev/null +++ b/new-fonts/left-paren.sml @@ -0,0 +1,167 @@ +structure LeftParen = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-a.sml b/new-fonts/lower-case-a.sml new file mode 100644 index 0000000..78be494 --- /dev/null +++ b/new-fonts/lower-case-a.sml @@ -0,0 +1,167 @@ +structure LowerCaseA = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-b.sml b/new-fonts/lower-case-b.sml new file mode 100644 index 0000000..16150cd --- /dev/null +++ b/new-fonts/lower-case-b.sml @@ -0,0 +1,137 @@ +structure LowerCaseB = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-c.sml b/new-fonts/lower-case-c.sml new file mode 100644 index 0000000..4042e89 --- /dev/null +++ b/new-fonts/lower-case-c.sml @@ -0,0 +1,167 @@ +structure LowerCaseC = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-d.sml b/new-fonts/lower-case-d.sml new file mode 100644 index 0000000..7863e2e --- /dev/null +++ b/new-fonts/lower-case-d.sml @@ -0,0 +1,137 @@ +structure LowerCaseD = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-e.sml b/new-fonts/lower-case-e.sml new file mode 100644 index 0000000..9b0a022 --- /dev/null +++ b/new-fonts/lower-case-e.sml @@ -0,0 +1,197 @@ +structure LowerCaseE = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-f.sml b/new-fonts/lower-case-f.sml new file mode 100644 index 0000000..d2d7880 --- /dev/null +++ b/new-fonts/lower-case-f.sml @@ -0,0 +1,107 @@ +structure LowerCaseF = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-g.sml b/new-fonts/lower-case-g.sml new file mode 100644 index 0000000..964dd36 --- /dev/null +++ b/new-fonts/lower-case-g.sml @@ -0,0 +1,167 @@ +structure LowerCaseG = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-h.sml b/new-fonts/lower-case-h.sml new file mode 100644 index 0000000..6407538 --- /dev/null +++ b/new-fonts/lower-case-h.sml @@ -0,0 +1,107 @@ +structure LowerCaseH = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-i.sml b/new-fonts/lower-case-i.sml new file mode 100644 index 0000000..b580be0 --- /dev/null +++ b/new-fonts/lower-case-i.sml @@ -0,0 +1,137 @@ +structure LowerCseI = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-j.sml b/new-fonts/lower-case-j.sml new file mode 100644 index 0000000..187543f --- /dev/null +++ b/new-fonts/lower-case-j.sml @@ -0,0 +1,137 @@ +structure LowerCaseJ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-k.sml b/new-fonts/lower-case-k.sml new file mode 100644 index 0000000..d74ffbb --- /dev/null +++ b/new-fonts/lower-case-k.sml @@ -0,0 +1,227 @@ +structure LowerCaseK = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-l.sml b/new-fonts/lower-case-l.sml new file mode 100644 index 0000000..b9ba805 --- /dev/null +++ b/new-fonts/lower-case-l.sml @@ -0,0 +1,107 @@ +structure LowerCaseL = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-m.sml b/new-fonts/lower-case-m.sml new file mode 100644 index 0000000..700c78a --- /dev/null +++ b/new-fonts/lower-case-m.sml @@ -0,0 +1,167 @@ +structure LowerCaseM = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-n.sml b/new-fonts/lower-case-n.sml new file mode 100644 index 0000000..9c9fc96 --- /dev/null +++ b/new-fonts/lower-case-n.sml @@ -0,0 +1,107 @@ +structure LowerCaseN = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-o.sml b/new-fonts/lower-case-o.sml new file mode 100644 index 0000000..ff49e3f --- /dev/null +++ b/new-fonts/lower-case-o.sml @@ -0,0 +1,137 @@ +structure LowerCaseO = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-p.sml b/new-fonts/lower-case-p.sml new file mode 100644 index 0000000..d90a5cb --- /dev/null +++ b/new-fonts/lower-case-p.sml @@ -0,0 +1,137 @@ +structure LowerCaseP = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-q.sml b/new-fonts/lower-case-q.sml new file mode 100644 index 0000000..0523bcc --- /dev/null +++ b/new-fonts/lower-case-q.sml @@ -0,0 +1,167 @@ +structure LowerCaseQ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-r.sml b/new-fonts/lower-case-r.sml new file mode 100644 index 0000000..1a0841d --- /dev/null +++ b/new-fonts/lower-case-r.sml @@ -0,0 +1,107 @@ +structure LowerCaseR = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-s.sml b/new-fonts/lower-case-s.sml new file mode 100644 index 0000000..8858742 --- /dev/null +++ b/new-fonts/lower-case-s.sml @@ -0,0 +1,167 @@ +structure LowerCaseS = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-t.sml b/new-fonts/lower-case-t.sml new file mode 100644 index 0000000..665b6bf --- /dev/null +++ b/new-fonts/lower-case-t.sml @@ -0,0 +1,107 @@ +structure LowerCaseT = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-u.sml b/new-fonts/lower-case-u.sml new file mode 100644 index 0000000..4a8f892 --- /dev/null +++ b/new-fonts/lower-case-u.sml @@ -0,0 +1,107 @@ +structure LowerCaseU = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-v.sml b/new-fonts/lower-case-v.sml new file mode 100644 index 0000000..4073b6c --- /dev/null +++ b/new-fonts/lower-case-v.sml @@ -0,0 +1,167 @@ +structure LowerCaseV = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-w.sml b/new-fonts/lower-case-w.sml new file mode 100644 index 0000000..5b4bc6e --- /dev/null +++ b/new-fonts/lower-case-w.sml @@ -0,0 +1,167 @@ +structure LowerCaseW = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-x.sml b/new-fonts/lower-case-x.sml new file mode 100644 index 0000000..1e96496 --- /dev/null +++ b/new-fonts/lower-case-x.sml @@ -0,0 +1,287 @@ +structure LowerCaseX = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-y.sml b/new-fonts/lower-case-y.sml new file mode 100644 index 0000000..20d64e0 --- /dev/null +++ b/new-fonts/lower-case-y.sml @@ -0,0 +1,137 @@ +structure LowerCaseY = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/lower-case-z.sml b/new-fonts/lower-case-z.sml new file mode 100644 index 0000000..d846b9d --- /dev/null +++ b/new-fonts/lower-case-z.sml @@ -0,0 +1,197 @@ +structure LowerCaseZ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/minus.sml b/new-fonts/minus.sml new file mode 100644 index 0000000..f8cafb6 --- /dev/null +++ b/new-fonts/minus.sml @@ -0,0 +1,47 @@ +structure Minus = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/percent.sml b/new-fonts/percent.sml new file mode 100644 index 0000000..6164a95 --- /dev/null +++ b/new-fonts/percent.sml @@ -0,0 +1,407 @@ +structure Percent = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/pipe.sml b/new-fonts/pipe.sml new file mode 100644 index 0000000..edd07af --- /dev/null +++ b/new-fonts/pipe.sml @@ -0,0 +1,47 @@ +structure Pipe = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/plus.sml b/new-fonts/plus.sml new file mode 100644 index 0000000..88ff5b1 --- /dev/null +++ b/new-fonts/plus.sml @@ -0,0 +1,77 @@ +structure Plus = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/question-mark.sml b/new-fonts/question-mark.sml new file mode 100644 index 0000000..38f37fb --- /dev/null +++ b/new-fonts/question-mark.sml @@ -0,0 +1,197 @@ +structure QuestionMark = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/right-angled-bracket.sml b/new-fonts/right-angled-bracket.sml new file mode 100644 index 0000000..ebc78bd --- /dev/null +++ b/new-fonts/right-angled-bracket.sml @@ -0,0 +1,227 @@ +structure RightAngledBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/right-brace.sml b/new-fonts/right-brace.sml new file mode 100644 index 0000000..73917fc --- /dev/null +++ b/new-fonts/right-brace.sml @@ -0,0 +1,167 @@ +structure RightBrace = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/right-bracket.sml b/new-fonts/right-bracket.sml new file mode 100644 index 0000000..7c5f624 --- /dev/null +++ b/new-fonts/right-bracket.sml @@ -0,0 +1,107 @@ +structure RightBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/right-paren.sml b/new-fonts/right-paren.sml new file mode 100644 index 0000000..69efa16 --- /dev/null +++ b/new-fonts/right-paren.sml @@ -0,0 +1,167 @@ +structure RightParen = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/semicolon.sml b/new-fonts/semicolon.sml new file mode 100644 index 0000000..2d445c7 --- /dev/null +++ b/new-fonts/semicolon.sml @@ -0,0 +1,137 @@ +structure Semicolon = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/single-speech-mark.sml b/new-fonts/single-speech-mark.sml new file mode 100644 index 0000000..f1df831 --- /dev/null +++ b/new-fonts/single-speech-mark.sml @@ -0,0 +1,47 @@ +structure SingleSpeechMark = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/tilde.sml b/new-fonts/tilde.sml new file mode 100644 index 0000000..dd17414 --- /dev/null +++ b/new-fonts/tilde.sml @@ -0,0 +1,167 @@ +structure Tilde = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/underscore.sml b/new-fonts/underscore.sml new file mode 100644 index 0000000..d0f228c --- /dev/null +++ b/new-fonts/underscore.sml @@ -0,0 +1,47 @@ +structure Underscore = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/unknown.sml b/new-fonts/unknown.sml new file mode 100644 index 0000000..f133a14 --- /dev/null +++ b/new-fonts/unknown.sml @@ -0,0 +1,137 @@ +structure Unknown = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-a.sml b/new-fonts/upper-case-a.sml new file mode 100644 index 0000000..f343d2f --- /dev/null +++ b/new-fonts/upper-case-a.sml @@ -0,0 +1,137 @@ +structure UpperCaseA = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-b.sml b/new-fonts/upper-case-b.sml new file mode 100644 index 0000000..9f5ef7b --- /dev/null +++ b/new-fonts/upper-case-b.sml @@ -0,0 +1,197 @@ +structure UpperCaseB = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-c.sml b/new-fonts/upper-case-c.sml new file mode 100644 index 0000000..bd6186f --- /dev/null +++ b/new-fonts/upper-case-c.sml @@ -0,0 +1,167 @@ +structure UpperCaseC = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-d.sml b/new-fonts/upper-case-d.sml new file mode 100644 index 0000000..e189e43 --- /dev/null +++ b/new-fonts/upper-case-d.sml @@ -0,0 +1,197 @@ +structure UpperCaseD = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-e.sml b/new-fonts/upper-case-e.sml new file mode 100644 index 0000000..50b0da8 --- /dev/null +++ b/new-fonts/upper-case-e.sml @@ -0,0 +1,137 @@ +structure UpperCaseE = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-f.sml b/new-fonts/upper-case-f.sml new file mode 100644 index 0000000..b44fcf5 --- /dev/null +++ b/new-fonts/upper-case-f.sml @@ -0,0 +1,107 @@ +structure UpperCaseF = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-g.sml b/new-fonts/upper-case-g.sml new file mode 100644 index 0000000..2c43b58 --- /dev/null +++ b/new-fonts/upper-case-g.sml @@ -0,0 +1,197 @@ +structure UpperCaseG = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-h.sml b/new-fonts/upper-case-h.sml new file mode 100644 index 0000000..797fac6 --- /dev/null +++ b/new-fonts/upper-case-h.sml @@ -0,0 +1,107 @@ +structure UpperCaseH = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-i.sml b/new-fonts/upper-case-i.sml new file mode 100644 index 0000000..73c05c0 --- /dev/null +++ b/new-fonts/upper-case-i.sml @@ -0,0 +1,107 @@ +structure UpperCaseI = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-j.sml b/new-fonts/upper-case-j.sml new file mode 100644 index 0000000..94f6188 --- /dev/null +++ b/new-fonts/upper-case-j.sml @@ -0,0 +1,137 @@ +structure UpperCaseJ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-k.sml b/new-fonts/upper-case-k.sml new file mode 100644 index 0000000..1e9a762 --- /dev/null +++ b/new-fonts/upper-case-k.sml @@ -0,0 +1,227 @@ +structure UpperCaseK = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-l.sml b/new-fonts/upper-case-l.sml new file mode 100644 index 0000000..b27222a --- /dev/null +++ b/new-fonts/upper-case-l.sml @@ -0,0 +1,77 @@ +structure UpperCaseL = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-m.sml b/new-fonts/upper-case-m.sml new file mode 100644 index 0000000..9a41efa --- /dev/null +++ b/new-fonts/upper-case-m.sml @@ -0,0 +1,167 @@ +structure UpperCaseM = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-n.sml b/new-fonts/upper-case-n.sml new file mode 100644 index 0000000..663cdb2 --- /dev/null +++ b/new-fonts/upper-case-n.sml @@ -0,0 +1,167 @@ +structure UpperCaseN = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-o.sml b/new-fonts/upper-case-o.sml new file mode 100644 index 0000000..45a394c --- /dev/null +++ b/new-fonts/upper-case-o.sml @@ -0,0 +1,137 @@ +structure UpperCaseO = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-p.sml b/new-fonts/upper-case-p.sml new file mode 100644 index 0000000..329a43c --- /dev/null +++ b/new-fonts/upper-case-p.sml @@ -0,0 +1,137 @@ +structure UpperCaseP = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-q.sml b/new-fonts/upper-case-q.sml new file mode 100644 index 0000000..ab8179d --- /dev/null +++ b/new-fonts/upper-case-q.sml @@ -0,0 +1,197 @@ +structure UpperCaseQ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-r.sml b/new-fonts/upper-case-r.sml new file mode 100644 index 0000000..280f73b --- /dev/null +++ b/new-fonts/upper-case-r.sml @@ -0,0 +1,197 @@ +structure UpperCaseR = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-s.sml b/new-fonts/upper-case-s.sml new file mode 100644 index 0000000..a55b87c --- /dev/null +++ b/new-fonts/upper-case-s.sml @@ -0,0 +1,227 @@ +structure UpperCaseS = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-t.sml b/new-fonts/upper-case-t.sml new file mode 100644 index 0000000..f573958 --- /dev/null +++ b/new-fonts/upper-case-t.sml @@ -0,0 +1,77 @@ +structure UpperCaseT = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-u.sml b/new-fonts/upper-case-u.sml new file mode 100644 index 0000000..5ded0b7 --- /dev/null +++ b/new-fonts/upper-case-u.sml @@ -0,0 +1,107 @@ +structure UppercaseU = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-v.sml b/new-fonts/upper-case-v.sml new file mode 100644 index 0000000..d266c79 --- /dev/null +++ b/new-fonts/upper-case-v.sml @@ -0,0 +1,167 @@ +structure UpperCaseV = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-w.sml b/new-fonts/upper-case-w.sml new file mode 100644 index 0000000..276153e --- /dev/null +++ b/new-fonts/upper-case-w.sml @@ -0,0 +1,167 @@ +structure UpperCaseW = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-x.sml b/new-fonts/upper-case-x.sml new file mode 100644 index 0000000..f67e3c8 --- /dev/null +++ b/new-fonts/upper-case-x.sml @@ -0,0 +1,287 @@ +structure UpperCaseX = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-y.sml b/new-fonts/upper-case-y.sml new file mode 100644 index 0000000..4ef2702 --- /dev/null +++ b/new-fonts/upper-case-y.sml @@ -0,0 +1,167 @@ +structure UpperCaseY = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/upper-case-z.sml b/new-fonts/upper-case-z.sml new file mode 100644 index 0000000..fe855f3 --- /dev/null +++ b/new-fonts/upper-case-z.sml @@ -0,0 +1,197 @@ +structure UpperCaseZ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end From 7a5dba3baa78e5311d28374ccbc5551b2fff2e4b Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 01:06:54 +0100 Subject: [PATCH 04/16] done scaffolding new fonts --- new-fonts/{at-sign.sml => ascii-at.sml} | 2 +- new-fonts/{full-stop.sml => ascii-dot.sml} | 2 +- new-fonts/{8.sml => ascii-eight.sml} | 2 +- new-fonts/{5.sml => ascii-five.sml} | 2 +- new-fonts/{4.sml => ascii-four.sml} | 2 +- new-fonts/{hash.sml => ascii-hash.sml} | 2 +- new-fonts/{minus.sml => ascii-minus.sml} | 2 +- new-fonts/{9.sml => ascii-nine.sml} | 2 +- new-fonts/{1.sml => ascii-one.sml} | 2 +- new-fonts/{percent.sml => ascii-percent.sml} | 2 +- new-fonts/{pipe.sml => ascii-pipe.sml} | 2 +- new-fonts/{plus.sml => ascii-plus.sml} | 2 +- new-fonts/{7.sml => ascii-seven.sml} | 2 +- new-fonts/{6.sml => ascii-six.sml} | 2 +- new-fonts/ascii-space.sml | 5 + new-fonts/{3.sml => ascii-three.sml} | 2 +- new-fonts/{tilde.sml => ascii-tilde.sml} | 2 +- new-fonts/{2.sml => ascii-two.sml} | 2 +- new-fonts/{0.sml => ascii-zero.sml} | 2 +- new-fonts/cozette-ascii.mlb | 105 ++++++++ new-fonts/cozette-ascii.sml | 253 ++++++++++++++++++ new-fonts/cozette.mlb | 100 ------- new-fonts/equals.sml | 2 +- new-fonts/lower-case-i.sml | 2 +- ...ble-speech-marks.sml => quotes-double.sml} | 2 +- ...ngle-speech-mark.sml => quotes-single.sml} | 2 +- new-fonts/upper-case-u.sml | 2 +- 27 files changed, 386 insertions(+), 123 deletions(-) rename new-fonts/{at-sign.sml => ascii-at.sml} (99%) rename new-fonts/{full-stop.sml => ascii-dot.sml} (98%) rename new-fonts/{8.sml => ascii-eight.sml} (99%) rename new-fonts/{5.sml => ascii-five.sml} (99%) rename new-fonts/{4.sml => ascii-four.sml} (99%) rename new-fonts/{hash.sml => ascii-hash.sml} (99%) rename new-fonts/{minus.sml => ascii-minus.sml} (98%) rename new-fonts/{9.sml => ascii-nine.sml} (99%) rename new-fonts/{1.sml => ascii-one.sml} (99%) rename new-fonts/{percent.sml => ascii-percent.sml} (99%) rename new-fonts/{pipe.sml => ascii-pipe.sml} (98%) rename new-fonts/{plus.sml => ascii-plus.sml} (99%) rename new-fonts/{7.sml => ascii-seven.sml} (99%) rename new-fonts/{6.sml => ascii-six.sml} (99%) create mode 100644 new-fonts/ascii-space.sml rename new-fonts/{3.sml => ascii-three.sml} (99%) rename new-fonts/{tilde.sml => ascii-tilde.sml} (99%) rename new-fonts/{2.sml => ascii-two.sml} (99%) rename new-fonts/{0.sml => ascii-zero.sml} (99%) create mode 100644 new-fonts/cozette-ascii.mlb create mode 100644 new-fonts/cozette-ascii.sml delete mode 100644 new-fonts/cozette.mlb rename new-fonts/{double-speech-marks.sml => quotes-double.sml} (98%) rename new-fonts/{single-speech-mark.sml => quotes-single.sml} (97%) diff --git a/new-fonts/at-sign.sml b/new-fonts/ascii-at.sml similarity index 99% rename from new-fonts/at-sign.sml rename to new-fonts/ascii-at.sml index b2a4760..407488b 100644 --- a/new-fonts/at-sign.sml +++ b/new-fonts/ascii-at.sml @@ -1,4 +1,4 @@ -structure AtSign = +structure AsciiAt = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/full-stop.sml b/new-fonts/ascii-dot.sml similarity index 98% rename from new-fonts/full-stop.sml rename to new-fonts/ascii-dot.sml index 68421d7..4c4ded7 100644 --- a/new-fonts/full-stop.sml +++ b/new-fonts/ascii-dot.sml @@ -1,4 +1,4 @@ -structure FullStop = +structure AsciiDot = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/8.sml b/new-fonts/ascii-eight.sml similarity index 99% rename from new-fonts/8.sml rename to new-fonts/ascii-eight.sml index e37616f..6c0fa15 100644 --- a/new-fonts/8.sml +++ b/new-fonts/ascii-eight.sml @@ -1,4 +1,4 @@ -structure Eight = +structure AsciiEight = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/5.sml b/new-fonts/ascii-five.sml similarity index 99% rename from new-fonts/5.sml rename to new-fonts/ascii-five.sml index 899f17a..96ab8ed 100644 --- a/new-fonts/5.sml +++ b/new-fonts/ascii-five.sml @@ -1,4 +1,4 @@ -structure Five = +structure AsciiFive = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/4.sml b/new-fonts/ascii-four.sml similarity index 99% rename from new-fonts/4.sml rename to new-fonts/ascii-four.sml index 37c12c5..49a935f 100644 --- a/new-fonts/4.sml +++ b/new-fonts/ascii-four.sml @@ -1,4 +1,4 @@ -structure Four = +structure AsciiFour = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/hash.sml b/new-fonts/ascii-hash.sml similarity index 99% rename from new-fonts/hash.sml rename to new-fonts/ascii-hash.sml index a5cdd98..9de6958 100644 --- a/new-fonts/hash.sml +++ b/new-fonts/ascii-hash.sml @@ -1,4 +1,4 @@ -structure Hash = +structure AsciiHash = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/minus.sml b/new-fonts/ascii-minus.sml similarity index 98% rename from new-fonts/minus.sml rename to new-fonts/ascii-minus.sml index f8cafb6..f4cc2ae 100644 --- a/new-fonts/minus.sml +++ b/new-fonts/ascii-minus.sml @@ -1,4 +1,4 @@ -structure Minus = +structure AsciiMinus = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/9.sml b/new-fonts/ascii-nine.sml similarity index 99% rename from new-fonts/9.sml rename to new-fonts/ascii-nine.sml index 8879b69..8e8cec7 100644 --- a/new-fonts/9.sml +++ b/new-fonts/ascii-nine.sml @@ -1,4 +1,4 @@ -structure Nine = +structure AsciiNine = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/1.sml b/new-fonts/ascii-one.sml similarity index 99% rename from new-fonts/1.sml rename to new-fonts/ascii-one.sml index ea06298..78bb259 100644 --- a/new-fonts/1.sml +++ b/new-fonts/ascii-one.sml @@ -1,4 +1,4 @@ -structure One = +structure AsciiOne = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/percent.sml b/new-fonts/ascii-percent.sml similarity index 99% rename from new-fonts/percent.sml rename to new-fonts/ascii-percent.sml index 6164a95..61f47ec 100644 --- a/new-fonts/percent.sml +++ b/new-fonts/ascii-percent.sml @@ -1,4 +1,4 @@ -structure Percent = +structure AsciiPercent = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/pipe.sml b/new-fonts/ascii-pipe.sml similarity index 98% rename from new-fonts/pipe.sml rename to new-fonts/ascii-pipe.sml index edd07af..2b351d7 100644 --- a/new-fonts/pipe.sml +++ b/new-fonts/ascii-pipe.sml @@ -1,4 +1,4 @@ -structure Pipe = +structure AsciiPipe = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/plus.sml b/new-fonts/ascii-plus.sml similarity index 99% rename from new-fonts/plus.sml rename to new-fonts/ascii-plus.sml index 88ff5b1..a63b24a 100644 --- a/new-fonts/plus.sml +++ b/new-fonts/ascii-plus.sml @@ -1,4 +1,4 @@ -structure Plus = +structure AsciiPlus = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/7.sml b/new-fonts/ascii-seven.sml similarity index 99% rename from new-fonts/7.sml rename to new-fonts/ascii-seven.sml index f7d2c2f..cbadace 100644 --- a/new-fonts/7.sml +++ b/new-fonts/ascii-seven.sml @@ -1,4 +1,4 @@ -structure Seven = +structure AsciiSeven = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/6.sml b/new-fonts/ascii-six.sml similarity index 99% rename from new-fonts/6.sml rename to new-fonts/ascii-six.sml index c26fa74..8235545 100644 --- a/new-fonts/6.sml +++ b/new-fonts/ascii-six.sml @@ -1,4 +1,4 @@ -structure Six = +structure AsciiSix = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/ascii-space.sml b/new-fonts/ascii-space.sml new file mode 100644 index 0000000..19ef5b4 --- /dev/null +++ b/new-fonts/ascii-space.sml @@ -0,0 +1,5 @@ +structure AsciiSpace = +struct + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + #[ ] +end diff --git a/new-fonts/3.sml b/new-fonts/ascii-three.sml similarity index 99% rename from new-fonts/3.sml rename to new-fonts/ascii-three.sml index 089b42c..9b8e88f 100644 --- a/new-fonts/3.sml +++ b/new-fonts/ascii-three.sml @@ -1,4 +1,4 @@ -structure Three = +structure AsciiThree = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/tilde.sml b/new-fonts/ascii-tilde.sml similarity index 99% rename from new-fonts/tilde.sml rename to new-fonts/ascii-tilde.sml index dd17414..06eb1e9 100644 --- a/new-fonts/tilde.sml +++ b/new-fonts/ascii-tilde.sml @@ -1,4 +1,4 @@ -structure Tilde = +structure AsciiTilde = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/2.sml b/new-fonts/ascii-two.sml similarity index 99% rename from new-fonts/2.sml rename to new-fonts/ascii-two.sml index ba65066..155e8e7 100644 --- a/new-fonts/2.sml +++ b/new-fonts/ascii-two.sml @@ -1,4 +1,4 @@ -structure Two = +structure AsciiTwo = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/0.sml b/new-fonts/ascii-zero.sml similarity index 99% rename from new-fonts/0.sml rename to new-fonts/ascii-zero.sml index 0a8c8df..48915c9 100644 --- a/new-fonts/0.sml +++ b/new-fonts/ascii-zero.sml @@ -1,4 +1,4 @@ -structure Zero = +structure AsciiZero = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/cozette-ascii.mlb b/new-fonts/cozette-ascii.mlb new file mode 100644 index 0000000..bfc9fef --- /dev/null +++ b/new-fonts/cozette-ascii.mlb @@ -0,0 +1,105 @@ +$(SML_LIB)/basis/basis.mlb +ann + "allowVectorExps true" +in + local + ascii-zero.sml + ascii-one.sml + ascii-two.sml + ascii-three.sml + ascii-four.sml + ascii-five.sml + ascii-six.sml + ascii-seven.sml + ascii-eight.sml + ascii-nine.sml + ascii-space.sml + ampersand.sml + asterisk.sml + ascii-at.sml + backtick.sml + backward-slash.sml + caret.sml + colon.sml + comma.sml + dollar.sml + quotes-double.sml + equals.sml + exclamation_mark.sml + forward-slash.sml + ascii-dot.sml + ascii-hash.sml + left-angled-bracket.sml + left-brace.sml + left-bracket.sml + left-paren.sml + lower-case-a.sml + lower-case-b.sml + lower-case-c.sml + lower-case-d.sml + lower-case-e.sml + lower-case-f.sml + lower-case-g.sml + lower-case-h.sml + lower-case-i.sml + lower-case-j.sml + lower-case-k.sml + lower-case-l.sml + lower-case-m.sml + lower-case-n.sml + lower-case-o.sml + lower-case-p.sml + lower-case-q.sml + lower-case-r.sml + lower-case-s.sml + lower-case-t.sml + lower-case-u.sml + lower-case-v.sml + lower-case-w.sml + lower-case-x.sml + lower-case-y.sml + lower-case-z.sml + ascii-minus.sml + ascii-percent.sml + ascii-pipe.sml + ascii-plus.sml + question-mark.sml + right-angled-bracket.sml + right-brace.sml + right-bracket.sml + right-paren.sml + semicolon.sml + quotes-single.sml + ascii-tilde.sml + underscore.sml + unknown.sml + upper-case-a.sml + upper-case-b.sml + upper-case-c.sml + upper-case-d.sml + upper-case-e.sml + upper-case-f.sml + upper-case-g.sml + upper-case-h.sml + upper-case-i.sml + upper-case-j.sml + upper-case-k.sml + upper-case-l.sml + upper-case-m.sml + upper-case-n.sml + upper-case-o.sml + upper-case-p.sml + upper-case-q.sml + upper-case-r.sml + upper-case-s.sml + upper-case-t.sml + upper-case-u.sml + upper-case-v.sml + upper-case-w.sml + upper-case-x.sml + upper-case-y.sml + upper-case-z.sml + in + cozette-ascii.sml + end +end diff --git a/new-fonts/cozette-ascii.sml b/new-fonts/cozette-ascii.sml new file mode 100644 index 0000000..546bf08 --- /dev/null +++ b/new-fonts/cozette-ascii.sml @@ -0,0 +1,253 @@ +structure CozetteAscii = +struct + val asciiTable = #[ + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + AsciiSpace.lerp, + ExclamationMark.lerp, + QuotesDouble.lerp, + AsciiHash.lerp, + Dollar.lerp, + AsciiPercent.lerp, + Ampersand.lerp, + QuotesSingle.lerp, + LeftParen.lerp, + RightParen.lerp, + Asterisk.lerp, + AsciiPlus.lerp, + Comma.lerp, + AsciiMinus.lerp, + AsciiDot.lerp, + ForwardSlash.lerp, + AsciiZero.lerp, + AsciiOne.lerp, + AsciiTwo.lerp, + AsciiThree.lerp, + AsciiFour.lerp, + AsciiFive.lerp, + AsciiSix.lerp, + AsciiSeven.lerp, + AsciiEight.lerp, + AsciiNine.lerp, + Colon.lerp, + Semicolon.lerp, + LeftAngledBracket.lerp, + AsciiEquals.lerp, + RightAngledBracket.lerp, + QuestionMark.lerp, + AsciiAt.lerp, + UpperCaseA.lerp, + UpperCaseB.lerp, + UpperCaseC.lerp, + UpperCaseD.lerp, + UpperCaseE.lerp, + UpperCaseF.lerp, + UpperCaseG.lerp, + UpperCaseH.lerp, + UpperCaseI.lerp, + UpperCaseJ.lerp, + UpperCaseK.lerp, + UpperCaseL.lerp, + UpperCaseM.lerp, + UpperCaseN.lerp, + UpperCaseO.lerp, + UpperCaseP.lerp, + UpperCaseQ.lerp, + UpperCaseR.lerp, + UpperCaseS.lerp, + UpperCaseT.lerp, + UpperCaseU.lerp, + UpperCaseV.lerp, + UpperCaseW.lerp, + UpperCaseX.lerp, + UpperCaseY.lerp, + UpperCaseZ.lerp, + LeftBracket.lerp, + BackwardSlash.lerp, + RightBracket.lerp, + Caret.lerp, + Underscore.lerp, + Backtick.lerp, + LowerCaseA.lerp, + LowerCaseB.lerp, + LowerCaseC.lerp, + LowerCaseD.lerp, + LowerCaseE.lerp, + LowerCaseF.lerp, + LowerCaseG.lerp, + LowerCaseH.lerp, + LowerCaseI.lerp, + LowerCaseJ.lerp, + LowerCaseK.lerp, + LowerCaseL.lerp, + LowerCaseM.lerp, + LowerCaseN.lerp, + LowerCaseO.lerp, + LowerCaseP.lerp, + LowerCaseQ.lerp, + LowerCaseR.lerp, + LowerCaseS.lerp, + LowerCaseT.lerp, + LowerCaseU.lerp, + LowerCaseV.lerp, + LowerCaseW.lerp, + LowerCaseX.lerp, + LowerCaseY.lerp, + LowerCaseZ.lerp, + LeftBrace.lerp, + AsciiPipe.lerp, + RightBrace.lerp, + AsciiTilde.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp + ] +end diff --git a/new-fonts/cozette.mlb b/new-fonts/cozette.mlb deleted file mode 100644 index a146144..0000000 --- a/new-fonts/cozette.mlb +++ /dev/null @@ -1,100 +0,0 @@ -$(SML_LIB)/basis/basis.mlb -ann - "allowVectorExps true" -in - 0.sml - 1.sml - 2.sml - 3.sml - 4.sml - 5.sml - 6.sml - 7.sml - 8.sml - 9.sml - ampersand.sml - asterisk.sml - at-sign.sml - backtick.sml - backward-slash.sml - caret.sml - colon.sml - comma.sml - dollar.sml - double-speech-marks.sml - equals.sml - exclamation_mark.sml - forward-slash.sml - full-stop.sml - hash.sml - left-angled-bracket.sml - left-brace.sml - left-bracket.sml - left-paren.sml - lower-case-a.sml - lower-case-b.sml - lower-case-c.sml - lower-case-d.sml - lower-case-e.sml - lower-case-f.sml - lower-case-g.sml - lower-case-h.sml - lower-case-i.sml - lower-case-j.sml - lower-case-k.sml - lower-case-l.sml - lower-case-m.sml - lower-case-n.sml - lower-case-o.sml - lower-case-p.sml - lower-case-q.sml - lower-case-r.sml - lower-case-s.sml - lower-case-t.sml - lower-case-u.sml - lower-case-v.sml - lower-case-w.sml - lower-case-x.sml - lower-case-y.sml - lower-case-z.sml - minus.sml - percent.sml - pipe.sml - plus.sml - question-mark.sml - right-angled-bracket.sml - right-brace.sml - right-bracket.sml - right-paren.sml - semicolon.sml - single-speech-mark.sml - tilde.sml - underscore.sml - unknown.sml - upper-case-a.sml - upper-case-b.sml - upper-case-c.sml - upper-case-d.sml - upper-case-e.sml - upper-case-f.sml - upper-case-g.sml - upper-case-h.sml - upper-case-i.sml - upper-case-j.sml - upper-case-k.sml - upper-case-l.sml - upper-case-m.sml - upper-case-n.sml - upper-case-o.sml - upper-case-p.sml - upper-case-q.sml - upper-case-r.sml - upper-case-s.sml - upper-case-t.sml - upper-case-u.sml - upper-case-v.sml - upper-case-w.sml - upper-case-x.sml - upper-case-y.sml - upper-case-z.sml -end diff --git a/new-fonts/equals.sml b/new-fonts/equals.sml index 2af937a..7b37c67 100644 --- a/new-fonts/equals.sml +++ b/new-fonts/equals.sml @@ -1,4 +1,4 @@ -structure Equals = +structure AsciiEquals = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/lower-case-i.sml b/new-fonts/lower-case-i.sml index b580be0..a331b7b 100644 --- a/new-fonts/lower-case-i.sml +++ b/new-fonts/lower-case-i.sml @@ -1,4 +1,4 @@ -structure LowerCseI = +structure LowerCaseI = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/double-speech-marks.sml b/new-fonts/quotes-double.sml similarity index 98% rename from new-fonts/double-speech-marks.sml rename to new-fonts/quotes-double.sml index aec565c..e1829b3 100644 --- a/new-fonts/double-speech-marks.sml +++ b/new-fonts/quotes-double.sml @@ -1,4 +1,4 @@ -structure DoubleSpeechMarks = +structure QuotesDouble = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/single-speech-mark.sml b/new-fonts/quotes-single.sml similarity index 97% rename from new-fonts/single-speech-mark.sml rename to new-fonts/quotes-single.sml index f1df831..020cfef 100644 --- a/new-fonts/single-speech-mark.sml +++ b/new-fonts/quotes-single.sml @@ -1,4 +1,4 @@ -structure SingleSpeechMark = +structure QuotesSingle = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth diff --git a/new-fonts/upper-case-u.sml b/new-fonts/upper-case-u.sml index 5ded0b7..e0bf366 100644 --- a/new-fonts/upper-case-u.sml +++ b/new-fonts/upper-case-u.sml @@ -1,4 +1,4 @@ -structure UppercaseU = +structure UpperCaseU = struct fun xToNdc (xOffset, xpos, scale, halfWidth) = ((xpos * scale + xOffset) - halfWidth) / halfWidth From de92e8c2acc445e4ae447c1dd0586e4b9e028ac3 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 01:11:23 +0100 Subject: [PATCH 05/16] remove old font files --- fonts/0.dsc | 10 - fonts/1.dsc | 8 - fonts/2.dsc | 16 - fonts/3.dsc | 14 - fonts/4.dsc | 12 - fonts/5.dsc | 12 - fonts/6.dsc | 12 - fonts/7.dsc | 10 - fonts/8.dsc | 14 - fonts/9.dsc | 12 - fonts/ampersand.dsc | 20 - fonts/ampersand.sml | 446 ++++++++++---- fonts/angle-bracket-closed.dsc | 14 - fonts/angle-bracket-closed.sml | 99 --- fonts/angle-bracket-open.dsc | 14 - fonts/angle-bracket-open.sml | 99 --- fonts/ascii-at.sml | 320 +++++++--- fonts/ascii-dot.sml | 68 ++- fonts/ascii-eight.sml | 320 +++++++--- fonts/ascii-equals.sml | 39 -- fonts/ascii-five.sml | 278 ++++++--- fonts/ascii-four.sml | 278 ++++++--- fonts/ascii-hash.sml | 194 ++++-- fonts/ascii-minus.sml | 68 ++- fonts/ascii-nine.sml | 278 ++++++--- fonts/ascii-one.sml | 194 ++++-- fonts/ascii-percent.sml | 572 +++++++++++++----- fonts/ascii-pipe.sml | 68 ++- fonts/ascii-plus.sml | 110 ++-- fonts/ascii-seven.sml | 236 +++++--- fonts/ascii-six.sml | 278 ++++++--- {new-fonts => fonts}/ascii-space.sml | 0 fonts/ascii-three.sml | 320 +++++++--- {new-fonts => fonts}/ascii-tilde.sml | 0 fonts/ascii-two.sml | 362 +++++++---- fonts/ascii-zero.sml | 237 +++++--- fonts/asterisk.dsc | 12 - fonts/asterisk.sml | 278 ++++++--- fonts/at.dsc | 14 - fonts/backtick.dsc | 4 - fonts/backtick.sml | 110 ++-- {new-fonts => fonts}/backward-slash.sml | 0 fonts/bracket-closed.dsc | 10 - fonts/bracket-closed.sml | 75 --- fonts/bracket-open.dsc | 10 - fonts/bracket-open.sml | 75 --- fonts/caret.dsc | 10 - fonts/caret.sml | 236 +++++--- fonts/colon-semi.dsc | 8 - fonts/colon.dsc | 4 - fonts/colon.sml | 110 ++-- fonts/comma.dsc | 6 - fonts/comma.sml | 152 +++-- fonts/cozette-ascii.mlb | 54 +- fonts/cozette-ascii.sml | 333 +++++----- fonts/curly-brace-closed.dsc | 10 - fonts/curly-brace-closed.sml | 75 --- fonts/curly-brace-open.dsc | 10 - fonts/curly-brace-open.sml | 75 --- fonts/dollar.dsc | 16 - fonts/dollar.sml | 360 +++++++---- fonts/dot.dsc | 2 - fonts/equals.dsc | 4 - {new-fonts => fonts}/equals.sml | 0 fonts/exclamation-mark.dsc | 4 - fonts/exclamation-mark.sml | 39 -- {new-fonts => fonts}/exclamation_mark.sml | 0 {new-fonts => fonts}/forward-slash.sml | 0 fonts/hash.dsc | 8 - {new-fonts => fonts}/left-angled-bracket.sml | 0 {new-fonts => fonts}/left-brace.sml | 0 {new-fonts => fonts}/left-bracket.sml | 0 {new-fonts => fonts}/left-paren.sml | 0 fonts/lower-case-a.dsc | 10 - fonts/lower-case-a.sml | 236 +++++--- fonts/lower-case-b.dsc | 8 - fonts/lower-case-b.sml | 194 ++++-- fonts/lower-case-c.dsc | 10 - fonts/lower-case-c.sml | 236 +++++--- fonts/lower-case-d.dsc | 8 - fonts/lower-case-d.sml | 194 ++++-- fonts/lower-case-e.dsc | 12 - fonts/lower-case-e.sml | 278 ++++++--- fonts/lower-case-f.dsc | 6 - fonts/lower-case-f.sml | 152 +++-- fonts/lower-case-g.dsc | 10 - fonts/lower-case-g.sml | 236 +++++--- fonts/lower-case-h.dsc | 6 - fonts/lower-case-h.sml | 152 +++-- fonts/lower-case-i.dsc | 8 - fonts/lower-case-i.sml | 194 ++++-- fonts/lower-case-j.dsc | 10 - fonts/lower-case-j.sml | 206 ++++--- fonts/lower-case-k.dsc | 14 - fonts/lower-case-k.sml | 320 +++++++--- fonts/lower-case-l.dsc | 6 - fonts/lower-case-l.sml | 152 +++-- fonts/lower-case-m.dsc | 10 - fonts/lower-case-m.sml | 236 +++++--- fonts/lower-case-n.dsc | 6 - fonts/lower-case-n.sml | 152 +++-- fonts/lower-case-o.dsc | 8 - fonts/lower-case-o.sml | 194 ++++-- fonts/lower-case-p.dsc | 8 - fonts/lower-case-p.sml | 194 ++++-- fonts/lower-case-q.dsc | 10 - fonts/lower-case-q.sml | 236 +++++--- fonts/lower-case-r.dsc | 6 - fonts/lower-case-r.sml | 152 +++-- fonts/lower-case-s.dsc | 10 - fonts/lower-case-s.sml | 236 +++++--- fonts/lower-case-t.dsc | 6 - fonts/lower-case-t.sml | 152 +++-- fonts/lower-case-u.dsc | 6 - fonts/lower-case-u.sml | 152 +++-- fonts/lower-case-v.dsc | 10 - fonts/lower-case-v.sml | 236 +++++--- fonts/lower-case-w.dsc | 10 - fonts/lower-case-w.sml | 236 +++++--- fonts/lower-case-x.dsc | 18 - fonts/lower-case-x.sml | 404 +++++++++---- fonts/lower-case-y.dsc | 8 - fonts/lower-case-y.sml | 194 ++++-- fonts/lower-case-z.dsc | 12 - fonts/lower-case-z.sml | 278 ++++++--- fonts/minus.dsc | 2 - fonts/percent.dsc | 26 - fonts/pipe.dsc | 2 - fonts/plus.dsc | 4 - fonts/question-mark.dsc | 12 - fonts/question-mark.sml | 278 ++++++--- fonts/quotes-double.dsc | 4 - fonts/quotes-double.sml | 110 ++-- fonts/quotes-single.dsc | 2 - fonts/quotes-single.sml | 68 ++- {new-fonts => fonts}/right-angled-bracket.sml | 0 {new-fonts => fonts}/right-brace.sml | 0 {new-fonts => fonts}/right-bracket.sml | 0 {new-fonts => fonts}/right-paren.sml | 0 fonts/semi-colon.sml | 63 -- {new-fonts => fonts}/semicolon.sml | 0 fonts/slash-backwards.dsc | 10 - fonts/slash-backwards.sml | 75 --- fonts/slash-forwards.dsc | 10 - fonts/slash-forwards.sml | 75 --- fonts/space.sml | 5 - fonts/square-bracket-closed.dsc | 6 - fonts/square-bracket-closed.sml | 51 -- fonts/square-bracket-open.dsc | 6 - fonts/square-bracket-open.sml | 51 -- fonts/tilde.dsc | 10 - fonts/tilde.sml | 75 --- fonts/underscore.dsc | 2 - fonts/underscore.sml | 68 ++- fonts/unknown-char.dsc | 8 - fonts/unknown-char.sml | 63 -- {new-fonts => fonts}/unknown.sml | 0 fonts/upper-case-a.dsc | 8 - fonts/upper-case-a.sml | 194 ++++-- fonts/upper-case-b.dsc | 12 - fonts/upper-case-b.sml | 278 ++++++--- fonts/upper-case-c.dsc | 10 - fonts/upper-case-c.sml | 236 +++++--- fonts/upper-case-d.dsc | 12 - fonts/upper-case-d.sml | 278 ++++++--- fonts/upper-case-e.dsc | 8 - fonts/upper-case-e.sml | 194 ++++-- fonts/upper-case-f.dsc | 6 - fonts/upper-case-f.sml | 152 +++-- fonts/upper-case-g.dsc | 12 - fonts/upper-case-g.sml | 278 ++++++--- fonts/upper-case-h.dsc | 6 - fonts/upper-case-h.sml | 152 +++-- fonts/upper-case-i.dsc | 6 - fonts/upper-case-i.sml | 152 +++-- fonts/upper-case-j.dsc | 8 - fonts/upper-case-j.sml | 194 ++++-- fonts/upper-case-k.dsc | 14 - fonts/upper-case-k.sml | 320 +++++++--- fonts/upper-case-l.dsc | 4 - fonts/upper-case-l.sml | 110 ++-- fonts/upper-case-m.dsc | 10 - fonts/upper-case-m.sml | 236 +++++--- fonts/upper-case-n.dsc | 10 - fonts/upper-case-n.sml | 236 +++++--- fonts/upper-case-o.dsc | 8 - fonts/upper-case-o.sml | 194 ++++-- fonts/upper-case-p.dsc | 8 - fonts/upper-case-p.sml | 194 ++++-- fonts/upper-case-q.dsc | 12 - fonts/upper-case-q.sml | 278 ++++++--- fonts/upper-case-r.dsc | 12 - fonts/upper-case-r.sml | 278 ++++++--- fonts/upper-case-s.dsc | 14 - fonts/upper-case-s.sml | 320 +++++++--- fonts/upper-case-t.dsc | 4 - fonts/upper-case-t.sml | 110 ++-- fonts/upper-case-u.dsc | 6 - fonts/upper-case-u.sml | 152 +++-- fonts/upper-case-v.dsc | 10 - fonts/upper-case-v.sml | 236 +++++--- fonts/upper-case-w.dsc | 10 - fonts/upper-case-w.sml | 236 +++++--- fonts/upper-case-x.dsc | 18 - fonts/upper-case-x.sml | 404 +++++++++---- fonts/upper-case-y.dsc | 10 - fonts/upper-case-y.sml | 236 +++++--- fonts/upper-case-z.dsc | 12 - fonts/upper-case-z.sml | 278 ++++++--- new-fonts/ampersand.sml | 317 ---------- new-fonts/ascii-at.sml | 227 ------- new-fonts/ascii-dot.sml | 47 -- new-fonts/ascii-eight.sml | 227 ------- new-fonts/ascii-five.sml | 197 ------ new-fonts/ascii-four.sml | 197 ------ new-fonts/ascii-hash.sml | 137 ----- new-fonts/ascii-minus.sml | 47 -- new-fonts/ascii-nine.sml | 197 ------ new-fonts/ascii-one.sml | 137 ----- new-fonts/ascii-percent.sml | 407 ------------- new-fonts/ascii-pipe.sml | 47 -- new-fonts/ascii-plus.sml | 77 --- new-fonts/ascii-seven.sml | 167 ----- new-fonts/ascii-six.sml | 197 ------ new-fonts/ascii-three.sml | 227 ------- new-fonts/ascii-two.sml | 257 -------- new-fonts/ascii-zero.sml | 168 ----- new-fonts/asterisk.sml | 197 ------ new-fonts/backtick.sml | 77 --- new-fonts/caret.sml | 167 ----- new-fonts/colon.sml | 77 --- new-fonts/comma.sml | 107 ---- new-fonts/cozette-ascii.mlb | 105 ---- new-fonts/cozette-ascii.sml | 253 -------- new-fonts/dollar.sml | 257 -------- new-fonts/lower-case-a.sml | 167 ----- new-fonts/lower-case-b.sml | 137 ----- new-fonts/lower-case-c.sml | 167 ----- new-fonts/lower-case-d.sml | 137 ----- new-fonts/lower-case-e.sml | 197 ------ new-fonts/lower-case-f.sml | 107 ---- new-fonts/lower-case-g.sml | 167 ----- new-fonts/lower-case-h.sml | 107 ---- new-fonts/lower-case-i.sml | 137 ----- new-fonts/lower-case-j.sml | 137 ----- new-fonts/lower-case-k.sml | 227 ------- new-fonts/lower-case-l.sml | 107 ---- new-fonts/lower-case-m.sml | 167 ----- new-fonts/lower-case-n.sml | 107 ---- new-fonts/lower-case-o.sml | 137 ----- new-fonts/lower-case-p.sml | 137 ----- new-fonts/lower-case-q.sml | 167 ----- new-fonts/lower-case-r.sml | 107 ---- new-fonts/lower-case-s.sml | 167 ----- new-fonts/lower-case-t.sml | 107 ---- new-fonts/lower-case-u.sml | 107 ---- new-fonts/lower-case-v.sml | 167 ----- new-fonts/lower-case-w.sml | 167 ----- new-fonts/lower-case-x.sml | 287 --------- new-fonts/lower-case-y.sml | 137 ----- new-fonts/lower-case-z.sml | 197 ------ new-fonts/question-mark.sml | 197 ------ new-fonts/quotes-double.sml | 77 --- new-fonts/quotes-single.sml | 47 -- new-fonts/underscore.sml | 47 -- new-fonts/upper-case-a.sml | 137 ----- new-fonts/upper-case-b.sml | 197 ------ new-fonts/upper-case-c.sml | 167 ----- new-fonts/upper-case-d.sml | 197 ------ new-fonts/upper-case-e.sml | 137 ----- new-fonts/upper-case-f.sml | 107 ---- new-fonts/upper-case-g.sml | 197 ------ new-fonts/upper-case-h.sml | 107 ---- new-fonts/upper-case-i.sml | 107 ---- new-fonts/upper-case-j.sml | 137 ----- new-fonts/upper-case-k.sml | 227 ------- new-fonts/upper-case-l.sml | 77 --- new-fonts/upper-case-m.sml | 167 ----- new-fonts/upper-case-n.sml | 167 ----- new-fonts/upper-case-o.sml | 137 ----- new-fonts/upper-case-p.sml | 137 ----- new-fonts/upper-case-q.sml | 197 ------ new-fonts/upper-case-r.sml | 197 ------ new-fonts/upper-case-s.sml | 227 ------- new-fonts/upper-case-t.sml | 77 --- new-fonts/upper-case-u.sml | 107 ---- new-fonts/upper-case-v.sml | 167 ----- new-fonts/upper-case-w.sml | 167 ----- new-fonts/upper-case-x.sml | 287 --------- new-fonts/upper-case-y.sml | 167 ----- new-fonts/upper-case-z.sml | 197 ------ 291 files changed, 12624 insertions(+), 20641 deletions(-) delete mode 100644 fonts/0.dsc delete mode 100644 fonts/1.dsc delete mode 100644 fonts/2.dsc delete mode 100644 fonts/3.dsc delete mode 100644 fonts/4.dsc delete mode 100644 fonts/5.dsc delete mode 100644 fonts/6.dsc delete mode 100644 fonts/7.dsc delete mode 100644 fonts/8.dsc delete mode 100644 fonts/9.dsc delete mode 100644 fonts/ampersand.dsc delete mode 100644 fonts/angle-bracket-closed.dsc delete mode 100644 fonts/angle-bracket-closed.sml delete mode 100644 fonts/angle-bracket-open.dsc delete mode 100644 fonts/angle-bracket-open.sml delete mode 100644 fonts/ascii-equals.sml rename {new-fonts => fonts}/ascii-space.sml (100%) rename {new-fonts => fonts}/ascii-tilde.sml (100%) delete mode 100644 fonts/asterisk.dsc delete mode 100644 fonts/at.dsc delete mode 100644 fonts/backtick.dsc rename {new-fonts => fonts}/backward-slash.sml (100%) delete mode 100644 fonts/bracket-closed.dsc delete mode 100644 fonts/bracket-closed.sml delete mode 100644 fonts/bracket-open.dsc delete mode 100644 fonts/bracket-open.sml delete mode 100644 fonts/caret.dsc delete mode 100644 fonts/colon-semi.dsc delete mode 100644 fonts/colon.dsc delete mode 100644 fonts/comma.dsc delete mode 100644 fonts/curly-brace-closed.dsc delete mode 100644 fonts/curly-brace-closed.sml delete mode 100644 fonts/curly-brace-open.dsc delete mode 100644 fonts/curly-brace-open.sml delete mode 100644 fonts/dollar.dsc delete mode 100644 fonts/dot.dsc delete mode 100644 fonts/equals.dsc rename {new-fonts => fonts}/equals.sml (100%) delete mode 100644 fonts/exclamation-mark.dsc delete mode 100644 fonts/exclamation-mark.sml rename {new-fonts => fonts}/exclamation_mark.sml (100%) rename {new-fonts => fonts}/forward-slash.sml (100%) delete mode 100644 fonts/hash.dsc rename {new-fonts => fonts}/left-angled-bracket.sml (100%) rename {new-fonts => fonts}/left-brace.sml (100%) rename {new-fonts => fonts}/left-bracket.sml (100%) rename {new-fonts => fonts}/left-paren.sml (100%) delete mode 100644 fonts/lower-case-a.dsc delete mode 100644 fonts/lower-case-b.dsc delete mode 100644 fonts/lower-case-c.dsc delete mode 100644 fonts/lower-case-d.dsc delete mode 100644 fonts/lower-case-e.dsc delete mode 100644 fonts/lower-case-f.dsc delete mode 100644 fonts/lower-case-g.dsc delete mode 100644 fonts/lower-case-h.dsc delete mode 100644 fonts/lower-case-i.dsc delete mode 100644 fonts/lower-case-j.dsc delete mode 100644 fonts/lower-case-k.dsc delete mode 100644 fonts/lower-case-l.dsc delete mode 100644 fonts/lower-case-m.dsc delete mode 100644 fonts/lower-case-n.dsc delete mode 100644 fonts/lower-case-o.dsc delete mode 100644 fonts/lower-case-p.dsc delete mode 100644 fonts/lower-case-q.dsc delete mode 100644 fonts/lower-case-r.dsc delete mode 100644 fonts/lower-case-s.dsc delete mode 100644 fonts/lower-case-t.dsc delete mode 100644 fonts/lower-case-u.dsc delete mode 100644 fonts/lower-case-v.dsc delete mode 100644 fonts/lower-case-w.dsc delete mode 100644 fonts/lower-case-x.dsc delete mode 100644 fonts/lower-case-y.dsc delete mode 100644 fonts/lower-case-z.dsc delete mode 100644 fonts/minus.dsc delete mode 100644 fonts/percent.dsc delete mode 100644 fonts/pipe.dsc delete mode 100644 fonts/plus.dsc delete mode 100644 fonts/question-mark.dsc delete mode 100644 fonts/quotes-double.dsc delete mode 100644 fonts/quotes-single.dsc rename {new-fonts => fonts}/right-angled-bracket.sml (100%) rename {new-fonts => fonts}/right-brace.sml (100%) rename {new-fonts => fonts}/right-bracket.sml (100%) rename {new-fonts => fonts}/right-paren.sml (100%) delete mode 100644 fonts/semi-colon.sml rename {new-fonts => fonts}/semicolon.sml (100%) delete mode 100644 fonts/slash-backwards.dsc delete mode 100644 fonts/slash-backwards.sml delete mode 100644 fonts/slash-forwards.dsc delete mode 100644 fonts/slash-forwards.sml delete mode 100644 fonts/space.sml delete mode 100644 fonts/square-bracket-closed.dsc delete mode 100644 fonts/square-bracket-closed.sml delete mode 100644 fonts/square-bracket-open.dsc delete mode 100644 fonts/square-bracket-open.sml delete mode 100644 fonts/tilde.dsc delete mode 100644 fonts/tilde.sml delete mode 100644 fonts/underscore.dsc delete mode 100644 fonts/unknown-char.dsc delete mode 100644 fonts/unknown-char.sml rename {new-fonts => fonts}/unknown.sml (100%) delete mode 100644 fonts/upper-case-a.dsc delete mode 100644 fonts/upper-case-b.dsc delete mode 100644 fonts/upper-case-c.dsc delete mode 100644 fonts/upper-case-d.dsc delete mode 100644 fonts/upper-case-e.dsc delete mode 100644 fonts/upper-case-f.dsc delete mode 100644 fonts/upper-case-g.dsc delete mode 100644 fonts/upper-case-h.dsc delete mode 100644 fonts/upper-case-i.dsc delete mode 100644 fonts/upper-case-j.dsc delete mode 100644 fonts/upper-case-k.dsc delete mode 100644 fonts/upper-case-l.dsc delete mode 100644 fonts/upper-case-m.dsc delete mode 100644 fonts/upper-case-n.dsc delete mode 100644 fonts/upper-case-o.dsc delete mode 100644 fonts/upper-case-p.dsc delete mode 100644 fonts/upper-case-q.dsc delete mode 100644 fonts/upper-case-r.dsc delete mode 100644 fonts/upper-case-s.dsc delete mode 100644 fonts/upper-case-t.dsc delete mode 100644 fonts/upper-case-u.dsc delete mode 100644 fonts/upper-case-v.dsc delete mode 100644 fonts/upper-case-w.dsc delete mode 100644 fonts/upper-case-x.dsc delete mode 100644 fonts/upper-case-y.dsc delete mode 100644 fonts/upper-case-z.dsc delete mode 100644 new-fonts/ampersand.sml delete mode 100644 new-fonts/ascii-at.sml delete mode 100644 new-fonts/ascii-dot.sml delete mode 100644 new-fonts/ascii-eight.sml delete mode 100644 new-fonts/ascii-five.sml delete mode 100644 new-fonts/ascii-four.sml delete mode 100644 new-fonts/ascii-hash.sml delete mode 100644 new-fonts/ascii-minus.sml delete mode 100644 new-fonts/ascii-nine.sml delete mode 100644 new-fonts/ascii-one.sml delete mode 100644 new-fonts/ascii-percent.sml delete mode 100644 new-fonts/ascii-pipe.sml delete mode 100644 new-fonts/ascii-plus.sml delete mode 100644 new-fonts/ascii-seven.sml delete mode 100644 new-fonts/ascii-six.sml delete mode 100644 new-fonts/ascii-three.sml delete mode 100644 new-fonts/ascii-two.sml delete mode 100644 new-fonts/ascii-zero.sml delete mode 100644 new-fonts/asterisk.sml delete mode 100644 new-fonts/backtick.sml delete mode 100644 new-fonts/caret.sml delete mode 100644 new-fonts/colon.sml delete mode 100644 new-fonts/comma.sml delete mode 100644 new-fonts/cozette-ascii.mlb delete mode 100644 new-fonts/cozette-ascii.sml delete mode 100644 new-fonts/dollar.sml delete mode 100644 new-fonts/lower-case-a.sml delete mode 100644 new-fonts/lower-case-b.sml delete mode 100644 new-fonts/lower-case-c.sml delete mode 100644 new-fonts/lower-case-d.sml delete mode 100644 new-fonts/lower-case-e.sml delete mode 100644 new-fonts/lower-case-f.sml delete mode 100644 new-fonts/lower-case-g.sml delete mode 100644 new-fonts/lower-case-h.sml delete mode 100644 new-fonts/lower-case-i.sml delete mode 100644 new-fonts/lower-case-j.sml delete mode 100644 new-fonts/lower-case-k.sml delete mode 100644 new-fonts/lower-case-l.sml delete mode 100644 new-fonts/lower-case-m.sml delete mode 100644 new-fonts/lower-case-n.sml delete mode 100644 new-fonts/lower-case-o.sml delete mode 100644 new-fonts/lower-case-p.sml delete mode 100644 new-fonts/lower-case-q.sml delete mode 100644 new-fonts/lower-case-r.sml delete mode 100644 new-fonts/lower-case-s.sml delete mode 100644 new-fonts/lower-case-t.sml delete mode 100644 new-fonts/lower-case-u.sml delete mode 100644 new-fonts/lower-case-v.sml delete mode 100644 new-fonts/lower-case-w.sml delete mode 100644 new-fonts/lower-case-x.sml delete mode 100644 new-fonts/lower-case-y.sml delete mode 100644 new-fonts/lower-case-z.sml delete mode 100644 new-fonts/question-mark.sml delete mode 100644 new-fonts/quotes-double.sml delete mode 100644 new-fonts/quotes-single.sml delete mode 100644 new-fonts/underscore.sml delete mode 100644 new-fonts/upper-case-a.sml delete mode 100644 new-fonts/upper-case-b.sml delete mode 100644 new-fonts/upper-case-c.sml delete mode 100644 new-fonts/upper-case-d.sml delete mode 100644 new-fonts/upper-case-e.sml delete mode 100644 new-fonts/upper-case-f.sml delete mode 100644 new-fonts/upper-case-g.sml delete mode 100644 new-fonts/upper-case-h.sml delete mode 100644 new-fonts/upper-case-i.sml delete mode 100644 new-fonts/upper-case-j.sml delete mode 100644 new-fonts/upper-case-k.sml delete mode 100644 new-fonts/upper-case-l.sml delete mode 100644 new-fonts/upper-case-m.sml delete mode 100644 new-fonts/upper-case-n.sml delete mode 100644 new-fonts/upper-case-o.sml delete mode 100644 new-fonts/upper-case-p.sml delete mode 100644 new-fonts/upper-case-q.sml delete mode 100644 new-fonts/upper-case-r.sml delete mode 100644 new-fonts/upper-case-s.sml delete mode 100644 new-fonts/upper-case-t.sml delete mode 100644 new-fonts/upper-case-u.sml delete mode 100644 new-fonts/upper-case-v.sml delete mode 100644 new-fonts/upper-case-w.sml delete mode 100644 new-fonts/upper-case-x.sml delete mode 100644 new-fonts/upper-case-y.sml delete mode 100644 new-fonts/upper-case-z.sml diff --git a/fonts/0.dsc b/fonts/0.dsc deleted file mode 100644 index e766f4e..0000000 --- a/fonts/0.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.333333343267 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 -x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/1.dsc b/fonts/1.dsc deleted file mode 100644 index d1a09bf..0000000 --- a/fonts/1.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.333333343267 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x 0.333333283663 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/2.dsc b/fonts/2.dsc deleted file mode 100644 index bff2bf5..0000000 --- a/fonts/2.dsc +++ /dev/null @@ -1,16 +0,0 @@ -x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.333333343267 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x 0.333333283663 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/3.dsc b/fonts/3.dsc deleted file mode 100644 index eb5e8bb..0000000 --- a/fonts/3.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.333333343267 -x ~0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 -x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 -x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/4.dsc b/fonts/4.dsc deleted file mode 100644 index 8b29638..0000000 --- a/fonts/4.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x 0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 -x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 -x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.0666667371988 -x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.199999943376 x ~0.466666668653 y ~0.199999943376 -x ~0.466666668653 y ~0.199999943376 x ~0.466666668653 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 -x ~0.466666668653 y ~0.333333283663 x ~0.466666668653 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 -x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.199999943376 x ~0.466666668653 y ~0.333333283663 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 diff --git a/fonts/5.dsc b/fonts/5.dsc deleted file mode 100644 index a2c3ea6..0000000 --- a/fonts/5.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 -x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x 0.333333283663 y 0.333333343267 diff --git a/fonts/6.dsc b/fonts/6.dsc deleted file mode 100644 index edee3fc..0000000 --- a/fonts/6.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x 0.199999943376 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.333333343267 -x ~0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/7.dsc b/fonts/7.dsc deleted file mode 100644 index 52e3c93..0000000 --- a/fonts/7.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x 0.333333283663 y 0.333333343267 diff --git a/fonts/8.dsc b/fonts/8.dsc deleted file mode 100644 index 32afb21..0000000 --- a/fonts/8.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 -x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/9.dsc b/fonts/9.dsc deleted file mode 100644 index 280b711..0000000 --- a/fonts/9.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.200000017881 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 -x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 x 0.333333283663 y ~0.333333283663 -x 0.199999943376 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 -x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 diff --git a/fonts/ampersand.dsc b/fonts/ampersand.dsc deleted file mode 100644 index a895d1c..0000000 --- a/fonts/ampersand.dsc +++ /dev/null @@ -1,20 +0,0 @@ -x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 diff --git a/fonts/ampersand.sml b/fonts/ampersand.sml index 103e6b2..b7dc044 100644 --- a/fonts/ampersand.sml +++ b/fonts/ampersand.sml @@ -1,135 +1,317 @@ -structure Ampersand = +structure Ampersand = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/angle-bracket-closed.dsc b/fonts/angle-bracket-closed.dsc deleted file mode 100644 index 5b6bf4f..0000000 --- a/fonts/angle-bracket-closed.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 -x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 -x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.199999943376 -x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.466666638851 diff --git a/fonts/angle-bracket-closed.sml b/fonts/angle-bracket-closed.sml deleted file mode 100644 index b8e92a8..0000000 --- a/fonts/angle-bracket-closed.sml +++ /dev/null @@ -1,99 +0,0 @@ -structure AngleBracketClosed = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/angle-bracket-open.dsc b/fonts/angle-bracket-open.dsc deleted file mode 100644 index 8ec60c2..0000000 --- a/fonts/angle-bracket-open.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x 0.199999943376 y 0.333333343267 x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.333333343267 -x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 -x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 -x ~0.200000017881 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.0666667371988 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 diff --git a/fonts/angle-bracket-open.sml b/fonts/angle-bracket-open.sml deleted file mode 100644 index ec534a0..0000000 --- a/fonts/angle-bracket-open.sml +++ /dev/null @@ -1,99 +0,0 @@ -structure AngleBracketOpen = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/ascii-at.sml b/fonts/ascii-at.sml index 4beacdb..407488b 100644 --- a/fonts/ascii-at.sml +++ b/fonts/ascii-at.sml @@ -1,99 +1,227 @@ -structure AsciiAt = +structure AsciiAt = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-dot.sml b/fonts/ascii-dot.sml index 09b5f77..4c4ded7 100644 --- a/fonts/ascii-dot.sml +++ b/fonts/ascii-dot.sml @@ -1,27 +1,47 @@ -structure AsciiDot = +structure AsciiDot = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-eight.sml b/fonts/ascii-eight.sml index 05b6160..6c0fa15 100644 --- a/fonts/ascii-eight.sml +++ b/fonts/ascii-eight.sml @@ -1,99 +1,227 @@ -structure AsciiEight = +structure AsciiEight = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-equals.sml b/fonts/ascii-equals.sml deleted file mode 100644 index 61e49f0..0000000 --- a/fonts/ascii-equals.sml +++ /dev/null @@ -1,39 +0,0 @@ -structure AsciiEquals = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/ascii-five.sml b/fonts/ascii-five.sml index 61e6db6..96ab8ed 100644 --- a/fonts/ascii-five.sml +++ b/fonts/ascii-five.sml @@ -1,87 +1,197 @@ -structure AsciiFive = +structure AsciiFive = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-four.sml b/fonts/ascii-four.sml index a29bbfd..49a935f 100644 --- a/fonts/ascii-four.sml +++ b/fonts/ascii-four.sml @@ -1,87 +1,197 @@ -structure AsciiFour = +structure AsciiFour = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-hash.sml b/fonts/ascii-hash.sml index 80961cd..9de6958 100644 --- a/fonts/ascii-hash.sml +++ b/fonts/ascii-hash.sml @@ -1,63 +1,137 @@ -structure AsciiHash = +structure AsciiHash = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-minus.sml b/fonts/ascii-minus.sml index b05f092..f4cc2ae 100644 --- a/fonts/ascii-minus.sml +++ b/fonts/ascii-minus.sml @@ -1,27 +1,47 @@ -structure AsciiMinus = +structure AsciiMinus = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-nine.sml b/fonts/ascii-nine.sml index c6b0811..8e8cec7 100644 --- a/fonts/ascii-nine.sml +++ b/fonts/ascii-nine.sml @@ -1,87 +1,197 @@ -structure AsciiNine = +structure AsciiNine = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-one.sml b/fonts/ascii-one.sml index 9c9feee..78bb259 100644 --- a/fonts/ascii-one.sml +++ b/fonts/ascii-one.sml @@ -1,63 +1,137 @@ -structure AsciiOne = +structure AsciiOne = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-percent.sml b/fonts/ascii-percent.sml index 34620ee..61f47ec 100644 --- a/fonts/ascii-percent.sml +++ b/fonts/ascii-percent.sml @@ -1,171 +1,407 @@ -structure AsciiPercent = +structure AsciiPercent = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-pipe.sml b/fonts/ascii-pipe.sml index 4d79ec2..2b351d7 100644 --- a/fonts/ascii-pipe.sml +++ b/fonts/ascii-pipe.sml @@ -1,27 +1,47 @@ -structure AsciiPipe = +structure AsciiPipe = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-plus.sml b/fonts/ascii-plus.sml index a4ae6d0..a63b24a 100644 --- a/fonts/ascii-plus.sml +++ b/fonts/ascii-plus.sml @@ -1,39 +1,77 @@ -structure AsciiPlus = +structure AsciiPlus = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-seven.sml b/fonts/ascii-seven.sml index d6badb3..cbadace 100644 --- a/fonts/ascii-seven.sml +++ b/fonts/ascii-seven.sml @@ -1,75 +1,167 @@ -structure AsciiSeven = +structure AsciiSeven = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-six.sml b/fonts/ascii-six.sml index 9ca845d..8235545 100644 --- a/fonts/ascii-six.sml +++ b/fonts/ascii-six.sml @@ -1,87 +1,197 @@ -structure AsciiSix = +structure AsciiSix = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/ascii-space.sml b/fonts/ascii-space.sml similarity index 100% rename from new-fonts/ascii-space.sml rename to fonts/ascii-space.sml diff --git a/fonts/ascii-three.sml b/fonts/ascii-three.sml index 2da9842..9b8e88f 100644 --- a/fonts/ascii-three.sml +++ b/fonts/ascii-three.sml @@ -1,99 +1,227 @@ -structure AsciiThree = +structure AsciiThree = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/ascii-tilde.sml b/fonts/ascii-tilde.sml similarity index 100% rename from new-fonts/ascii-tilde.sml rename to fonts/ascii-tilde.sml diff --git a/fonts/ascii-two.sml b/fonts/ascii-two.sml index 65531ed..155e8e7 100644 --- a/fonts/ascii-two.sml +++ b/fonts/ascii-two.sml @@ -1,111 +1,257 @@ -structure AsciiTwo = +structure AsciiTwo = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/ascii-zero.sml b/fonts/ascii-zero.sml index eb9c46d..48915c9 100644 --- a/fonts/ascii-zero.sml +++ b/fonts/ascii-zero.sml @@ -1,75 +1,168 @@ -structure AsciiZero = +structure AsciiZero = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight): Real32.real + vector = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/asterisk.dsc b/fonts/asterisk.dsc deleted file mode 100644 index 71a22f7..0000000 --- a/fonts/asterisk.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 -x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 -x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.0666666701436 -x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.333333283663 diff --git a/fonts/asterisk.sml b/fonts/asterisk.sml index 8fcb64c..11c7444 100644 --- a/fonts/asterisk.sml +++ b/fonts/asterisk.sml @@ -1,87 +1,197 @@ -structure Asterisk = +structure Asterisk = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/at.dsc b/fonts/at.dsc deleted file mode 100644 index 2eff8de..0000000 --- a/fonts/at.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 -x 0.333333283663 y ~0.333333283663 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 -x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 -x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/backtick.dsc b/fonts/backtick.dsc deleted file mode 100644 index 2234179..0000000 --- a/fonts/backtick.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.333333343267 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 -x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 diff --git a/fonts/backtick.sml b/fonts/backtick.sml index f00bd51..fc43186 100644 --- a/fonts/backtick.sml +++ b/fonts/backtick.sml @@ -1,39 +1,77 @@ -structure Backtick = +structure Backtick = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/backward-slash.sml b/fonts/backward-slash.sml similarity index 100% rename from new-fonts/backward-slash.sml rename to fonts/backward-slash.sml diff --git a/fonts/bracket-closed.dsc b/fonts/bracket-closed.dsc deleted file mode 100644 index 8508077..0000000 --- a/fonts/bracket-closed.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 -x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.733333289623 x ~0.200000017881 y ~0.733333289623 x ~0.200000017881 y ~0.866666674614 -x ~0.200000017881 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/bracket-closed.sml b/fonts/bracket-closed.sml deleted file mode 100644 index 7efbf79..0000000 --- a/fonts/bracket-closed.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure BracketClosed = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/bracket-open.dsc b/fonts/bracket-open.dsc deleted file mode 100644 index 896ca73..0000000 --- a/fonts/bracket-open.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.199999943376 y 0.599999964237 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 x 0.199999943376 y 0.599999964237 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.200000017881 -x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.733333289623 -x 0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.466666638851 -x 0.199999943376 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.866666674614 -x 0.0666666701436 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 x 0.199999943376 y ~0.733333289623 diff --git a/fonts/bracket-open.sml b/fonts/bracket-open.sml deleted file mode 100644 index 74b3aa2..0000000 --- a/fonts/bracket-open.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure BracketOpen = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/caret.dsc b/fonts/caret.dsc deleted file mode 100644 index ce391ae..0000000 --- a/fonts/caret.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.0666666701436 y 0.599999964237 x 0.199999943376 y 0.599999964237 x 0.199999943376 y 0.466666638851 -x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 -x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 -x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.466666638851 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 -x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 -x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.733333289623 x ~0.0666666701436 y 0.733333289623 -x ~0.0666666701436 y 0.733333289623 x ~0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.599999964237 diff --git a/fonts/caret.sml b/fonts/caret.sml index 239e147..8c91924 100644 --- a/fonts/caret.sml +++ b/fonts/caret.sml @@ -1,75 +1,167 @@ -structure Caret = +structure Caret = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.866666674614)) + (endY * 0.866666674614)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.866666674614)) + (endY * 0.866666674614)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.866666674614)) + (endY * 0.866666674614)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/colon-semi.dsc b/fonts/colon-semi.dsc deleted file mode 100644 index 92a745b..0000000 --- a/fonts/colon-semi.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.200000017881 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.599999964237 -x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.333333283663 -x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.733333289623 -x ~0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.599999964237 -x ~0.0666666701436 y ~0.733333289623 x ~0.200000017881 y ~0.733333289623 x ~0.200000017881 y ~0.866666674614 -x ~0.200000017881 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/colon.dsc b/fonts/colon.dsc deleted file mode 100644 index e463452..0000000 --- a/fonts/colon.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x ~0.199999973178 y 0.199999928474 x 0.0666667073965 y 0.199999928474 x 0.0666667073965 y ~0.0666667073965 -x ~0.199999973178 y ~0.0666667073965 x 0.0666667073965 y ~0.0666667073965 x ~0.199999973178 y 0.199999928474 -x 0.0666667073965 y ~0.333333343267 x ~0.199999973178 y ~0.333333343267 x ~0.199999973178 y ~0.600000143051 -x ~0.199999973178 y ~0.600000143051 x 0.0666667073965 y ~0.600000143051 x 0.0666667073965 y ~0.333333343267 diff --git a/fonts/colon.sml b/fonts/colon.sml index 3861b69..728fb86 100644 --- a/fonts/colon.sml +++ b/fonts/colon.sml @@ -1,39 +1,77 @@ -structure Colon = +structure Colon = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.599999964237)) + (endY * 0.599999964237)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.599999964237)) + (endY * 0.599999964237)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.599999964237)) + (endY * 0.599999964237)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/comma.dsc b/fonts/comma.dsc deleted file mode 100644 index 77fec36..0000000 --- a/fonts/comma.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x ~0.199999973178 y ~0.333333343267 x 0.0666667073965 y ~0.333333343267 x 0.0666667073965 y ~0.600000143051 -x 0.0666667073965 y ~0.600000143051 x ~0.199999973178 y ~0.600000143051 x ~0.199999973178 y ~0.333333343267 -x 0.0666667073965 y ~0.600000143051 x 0.0666667073965 y ~0.733333349228 x ~0.066666610539 y ~0.733333349228 -x ~0.066666610539 y ~0.733333349228 x ~0.066666610539 y ~0.600000143051 x 0.0666667073965 y ~0.600000143051 -x ~0.066666610539 y ~0.866666793823 x ~0.199999973178 y ~0.866666793823 x ~0.199999973178 y ~0.733333349228 -x ~0.199999973178 y ~0.733333349228 x ~0.066666610539 y ~0.733333349228 x ~0.066666610539 y ~0.866666793823 diff --git a/fonts/comma.sml b/fonts/comma.sml index fe2b89d..158e474 100644 --- a/fonts/comma.sml +++ b/fonts/comma.sml @@ -1,51 +1,107 @@ -structure Comma = +structure Comma = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.333333313465)) + (endY * 0.333333313465)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.199999928474)) + (endY * 0.199999928474)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0666666030884)) + (endY * 0.0666666030884)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0666666030884)) + (endY * 0.0666666030884)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.40000000596)) + (endX * 0.40000000596)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333325386)) + (endY * 0.133333325386)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666698456)) + (endX * 0.466666698456)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0666666030884)) + (endY * 0.0666666030884)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/cozette-ascii.mlb b/fonts/cozette-ascii.mlb index c730a31..bfc9fef 100644 --- a/fonts/cozette-ascii.mlb +++ b/fonts/cozette-ascii.mlb @@ -1,5 +1,4 @@ $(SML_LIB)/basis/basis.mlb - ann "allowVectorExps true" in @@ -14,29 +13,26 @@ in ascii-seven.sml ascii-eight.sml ascii-nine.sml - + ascii-space.sml ampersand.sml - angle-bracket-closed.sml - angle-bracket-open.sml - ascii-at.sml - ascii-dot.sml - ascii-hash.sml - ascii-minus.sml - ascii-percent.sml - ascii-pipe.sml - ascii-plus.sml asterisk.sml + ascii-at.sml backtick.sml - bracket-closed.sml - bracket-open.sml + backward-slash.sml caret.sml colon.sml comma.sml - curly-brace-closed.sml - curly-brace-open.sml dollar.sml - exclamation-mark.sml - + quotes-double.sml + equals.sml + exclamation_mark.sml + forward-slash.sml + ascii-dot.sml + ascii-hash.sml + left-angled-bracket.sml + left-brace.sml + left-bracket.sml + left-paren.sml lower-case-a.sml lower-case-b.sml lower-case-c.sml @@ -63,18 +59,20 @@ in lower-case-x.sml lower-case-y.sml lower-case-z.sml - + ascii-minus.sml + ascii-percent.sml + ascii-pipe.sml + ascii-plus.sml question-mark.sml - quotes-double.sml + right-angled-bracket.sml + right-brace.sml + right-bracket.sml + right-paren.sml + semicolon.sml quotes-single.sml - semi-colon.sml - slash-backwards.sml - slash-forwards.sml - square-bracket-closed.sml - square-bracket-open.sml - tilde.sml + ascii-tilde.sml underscore.sml - + unknown.sml upper-case-a.sml upper-case-b.sml upper-case-c.sml @@ -101,10 +99,6 @@ in upper-case-x.sml upper-case-y.sml upper-case-z.sml - - ascii-equals.sml - space.sml - unknown-char.sml in cozette-ascii.sml end diff --git a/fonts/cozette-ascii.sml b/fonts/cozette-ascii.sml index 39a3418..be85e29 100644 --- a/fonts/cozette-ascii.sml +++ b/fonts/cozette-ascii.sml @@ -1,38 +1,38 @@ structure CozetteAscii = struct val asciiTable = #[ - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, AsciiSpace.lerp, ExclamationMark.lerp, QuotesDouble.lerp, @@ -41,14 +41,14 @@ struct AsciiPercent.lerp, Ampersand.lerp, QuotesSingle.lerp, - BracketOpen.lerp, - BracketClosed.lerp, + LeftParen.lerp, + RightParen.lerp, Asterisk.lerp, AsciiPlus.lerp, Comma.lerp, AsciiMinus.lerp, AsciiDot.lerp, - SlashForwards.lerp, + ForwardSlash.lerp, AsciiZero.lerp, AsciiOne.lerp, AsciiTwo.lerp, @@ -61,9 +61,9 @@ struct AsciiNine.lerp, Colon.lerp, Semicolon.lerp, - AngleBracketOpen.lerp, + LeftAngledBracket.lerp, AsciiEquals.lerp, - AngleBracketClosed.lerp, + RightAngledBracket.lerp, QuestionMark.lerp, AsciiAt.lerp, UpperCaseA.lerp, @@ -92,9 +92,9 @@ struct UpperCaseX.lerp, UpperCaseY.lerp, UpperCaseZ.lerp, - SquareBracketOpen.lerp, - SlashBackwards.lerp, - SquareBracketClosed.lerp, + LeftBracket.lerp, + BackwardSlash.lerp, + RightBracket.lerp, Caret.lerp, Underscore.lerp, Backtick.lerp, @@ -124,130 +124,137 @@ struct LowerCaseX.lerp, LowerCaseY.lerp, LowerCaseZ.lerp, - CurlyBraceOpen.lerp, + LeftBrace.lerp, AsciiPipe.lerp, - CurlyBraceClosed.lerp, + RightBrace.lerp, AsciiTilde.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp, - UnknownChar.lerp + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp ] + + fun make (chr, posX, posY, scale, windowWidth, windowHeight, r, g, b) = + let + val chrFun = Vector.sub (asciiTable, Char.ord chr) + in + chrFun (posX, posY, scale, windowWidth, windowHeight) + end end diff --git a/fonts/curly-brace-closed.dsc b/fonts/curly-brace-closed.dsc deleted file mode 100644 index eaaea9c..0000000 --- a/fonts/curly-brace-closed.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.333333343267 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.599999964237 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x 0.333333283663 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 -x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y ~0.733333289623 x ~0.333333343267 y ~0.733333289623 x ~0.333333343267 y ~0.866666674614 -x ~0.333333343267 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/curly-brace-closed.sml b/fonts/curly-brace-closed.sml deleted file mode 100644 index 8800b14..0000000 --- a/fonts/curly-brace-closed.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure CurlyBraceClosed = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/curly-brace-open.dsc b/fonts/curly-brace-open.dsc deleted file mode 100644 index e550e78..0000000 --- a/fonts/curly-brace-open.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.199999943376 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.599999964237 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.466666668653 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 -x ~0.200000017881 y ~0.199999943376 x ~0.466666668653 y ~0.199999943376 x ~0.466666668653 y ~0.0666667371988 -x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.733333289623 -x ~0.0666666701436 y ~0.733333289623 x ~0.200000017881 y ~0.733333289623 x ~0.200000017881 y ~0.199999943376 -x ~0.0666666701436 y ~0.733333289623 x 0.199999943376 y ~0.733333289623 x 0.199999943376 y ~0.866666674614 -x 0.199999943376 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 diff --git a/fonts/curly-brace-open.sml b/fonts/curly-brace-open.sml deleted file mode 100644 index ba12533..0000000 --- a/fonts/curly-brace-open.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure CurlyBraceOpen = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/dollar.dsc b/fonts/dollar.dsc deleted file mode 100644 index ee27e05..0000000 --- a/fonts/dollar.dsc +++ /dev/null @@ -1,16 +0,0 @@ -x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.333333343267 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y ~0.466666638851 -x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 -x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 -x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 diff --git a/fonts/dollar.sml b/fonts/dollar.sml index a19ddf6..78c70e5 100644 --- a/fonts/dollar.sml +++ b/fonts/dollar.sml @@ -1,111 +1,257 @@ -structure Dollar = +structure Dollar = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end end diff --git a/fonts/dot.dsc b/fonts/dot.dsc deleted file mode 100644 index e06611e..0000000 --- a/fonts/dot.dsc +++ /dev/null @@ -1,2 +0,0 @@ -x 0.0666667073965 y ~0.333333343267 x ~0.199999973178 y ~0.333333343267 x ~0.199999973178 y ~0.600000143051 -x ~0.199999973178 y ~0.600000143051 x 0.0666667073965 y ~0.600000143051 x 0.0666667073965 y ~0.333333343267 diff --git a/fonts/equals.dsc b/fonts/equals.dsc deleted file mode 100644 index dc0799c..0000000 --- a/fonts/equals.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 -x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 -x 0.333333283663 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y 0.0666666701436 -x ~0.333333343267 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.0666667371988 diff --git a/new-fonts/equals.sml b/fonts/equals.sml similarity index 100% rename from new-fonts/equals.sml rename to fonts/equals.sml diff --git a/fonts/exclamation-mark.dsc b/fonts/exclamation-mark.dsc deleted file mode 100644 index bfbd650..0000000 --- a/fonts/exclamation-mark.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 diff --git a/fonts/exclamation-mark.sml b/fonts/exclamation-mark.sml deleted file mode 100644 index cd95cca..0000000 --- a/fonts/exclamation-mark.sml +++ /dev/null @@ -1,39 +0,0 @@ -structure ExclamationMark = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/new-fonts/exclamation_mark.sml b/fonts/exclamation_mark.sml similarity index 100% rename from new-fonts/exclamation_mark.sml rename to fonts/exclamation_mark.sml diff --git a/new-fonts/forward-slash.sml b/fonts/forward-slash.sml similarity index 100% rename from new-fonts/forward-slash.sml rename to fonts/forward-slash.sml diff --git a/fonts/hash.dsc b/fonts/hash.dsc deleted file mode 100644 index 5596e1a..0000000 --- a/fonts/hash.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 -x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 -x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.200000017881 x ~0.333333343267 y 0.200000017881 -x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.599999964237 diff --git a/new-fonts/left-angled-bracket.sml b/fonts/left-angled-bracket.sml similarity index 100% rename from new-fonts/left-angled-bracket.sml rename to fonts/left-angled-bracket.sml diff --git a/new-fonts/left-brace.sml b/fonts/left-brace.sml similarity index 100% rename from new-fonts/left-brace.sml rename to fonts/left-brace.sml diff --git a/new-fonts/left-bracket.sml b/fonts/left-bracket.sml similarity index 100% rename from new-fonts/left-bracket.sml rename to fonts/left-bracket.sml diff --git a/new-fonts/left-paren.sml b/fonts/left-paren.sml similarity index 100% rename from new-fonts/left-paren.sml rename to fonts/left-paren.sml diff --git a/fonts/lower-case-a.dsc b/fonts/lower-case-a.dsc deleted file mode 100644 index cce4517..0000000 --- a/fonts/lower-case-a.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 -x ~0.200000017881 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.466666638851 -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 diff --git a/fonts/lower-case-a.sml b/fonts/lower-case-a.sml index 1d4f984..78be494 100644 --- a/fonts/lower-case-a.sml +++ b/fonts/lower-case-a.sml @@ -1,75 +1,167 @@ -structure LowerCaseA = +structure LowerCaseA = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-b.dsc b/fonts/lower-case-b.dsc deleted file mode 100644 index 73abe15..0000000 --- a/fonts/lower-case-b.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.599999964237 -x ~0.333333343267 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/lower-case-b.sml b/fonts/lower-case-b.sml index b7450da..16150cd 100644 --- a/fonts/lower-case-b.sml +++ b/fonts/lower-case-b.sml @@ -1,63 +1,137 @@ -structure LowerCaseB = +structure LowerCaseB = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-c.dsc b/fonts/lower-case-c.dsc deleted file mode 100644 index 881d961..0000000 --- a/fonts/lower-case-c.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y 0.0666666701436 -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 diff --git a/fonts/lower-case-c.sml b/fonts/lower-case-c.sml index 2f332a5..4042e89 100644 --- a/fonts/lower-case-c.sml +++ b/fonts/lower-case-c.sml @@ -1,75 +1,167 @@ -structure LowerCaseC = +structure LowerCaseC = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-d.dsc b/fonts/lower-case-d.dsc deleted file mode 100644 index 366e3cc..0000000 --- a/fonts/lower-case-d.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.599999964237 -x 0.333333283663 y 0.599999964237 x 0.199999943376 y 0.599999964237 x 0.199999943376 y ~0.599999964237 diff --git a/fonts/lower-case-d.sml b/fonts/lower-case-d.sml index 789e177..7863e2e 100644 --- a/fonts/lower-case-d.sml +++ b/fonts/lower-case-d.sml @@ -1,63 +1,137 @@ -structure LowerCaseD = +structure LowerCaseD = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-e.dsc b/fonts/lower-case-e.dsc deleted file mode 100644 index feb61dd..0000000 --- a/fonts/lower-case-e.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.200000017881 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 -x 0.333333283663 y ~0.199999943376 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 diff --git a/fonts/lower-case-e.sml b/fonts/lower-case-e.sml index 07544ad..9b0a022 100644 --- a/fonts/lower-case-e.sml +++ b/fonts/lower-case-e.sml @@ -1,87 +1,197 @@ -structure LowerCaseE = +structure LowerCaseE = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-f.dsc b/fonts/lower-case-f.dsc deleted file mode 100644 index cf8bb12..0000000 --- a/fonts/lower-case-f.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.599999964237 x 0.333333283663 y 0.599999964237 -x 0.333333283663 y 0.599999964237 x 0.333333283663 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 diff --git a/fonts/lower-case-f.sml b/fonts/lower-case-f.sml index 563a389..d2d7880 100644 --- a/fonts/lower-case-f.sml +++ b/fonts/lower-case-f.sml @@ -1,51 +1,107 @@ -structure LowerCaseF = +structure LowerCaseF = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-g.dsc b/fonts/lower-case-g.dsc deleted file mode 100644 index d0dbc9f..0000000 --- a/fonts/lower-case-g.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 -x 0.199999943376 y ~0.866666674614 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y ~0.866666674614 x ~0.200000017881 y ~0.866666674614 x ~0.200000017881 y ~1 -x ~0.200000017881 y ~1 x 0.199999943376 y ~1 x 0.199999943376 y ~0.866666674614 diff --git a/fonts/lower-case-g.sml b/fonts/lower-case-g.sml index a1bbf62..964dd36 100644 --- a/fonts/lower-case-g.sml +++ b/fonts/lower-case-g.sml @@ -1,75 +1,167 @@ -structure LowerCaseG = +structure LowerCaseG = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-h.dsc b/fonts/lower-case-h.dsc deleted file mode 100644 index e4292e7..0000000 --- a/fonts/lower-case-h.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.0666666701436 -x ~0.333333343267 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.599999964237 diff --git a/fonts/lower-case-h.sml b/fonts/lower-case-h.sml index d5525b4..6407538 100644 --- a/fonts/lower-case-h.sml +++ b/fonts/lower-case-h.sml @@ -1,51 +1,107 @@ -structure LowerCaseH = +structure LowerCaseH = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-i.dsc b/fonts/lower-case-i.dsc deleted file mode 100644 index 87a095a..0000000 --- a/fonts/lower-case-i.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.466666638851 -x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.599999964237 diff --git a/fonts/lower-case-i.sml b/fonts/lower-case-i.sml index c5a5c83..a331b7b 100644 --- a/fonts/lower-case-i.sml +++ b/fonts/lower-case-i.sml @@ -1,63 +1,137 @@ -structure LowerCaseI = +structure LowerCaseI = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-j.dsc b/fonts/lower-case-j.dsc deleted file mode 100644 index d83e8ad..0000000 --- a/fonts/lower-case-j.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.733333289623 -x 0.0666666701436 y ~0.733333289623 x 0.199999943376 y ~0.733333289623 x 0.199999943376 y 0.200000017881 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 -x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 -x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 -x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 diff --git a/fonts/lower-case-j.sml b/fonts/lower-case-j.sml index d15bf65..187543f 100644 --- a/fonts/lower-case-j.sml +++ b/fonts/lower-case-j.sml @@ -1,75 +1,137 @@ -structure LowerCaseJ = +structure LowerCaseJ = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-k.dsc b/fonts/lower-case-k.dsc deleted file mode 100644 index 48e58c4..0000000 --- a/fonts/lower-case-k.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 -x ~0.200000017881 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 -x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.599999964237 -x ~0.333333343267 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/lower-case-k.sml b/fonts/lower-case-k.sml index e67d1e3..d74ffbb 100644 --- a/fonts/lower-case-k.sml +++ b/fonts/lower-case-k.sml @@ -1,99 +1,227 @@ -structure LowerCaseK = +structure LowerCaseK = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-l.dsc b/fonts/lower-case-l.dsc deleted file mode 100644 index 11efd4a..0000000 --- a/fonts/lower-case-l.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 -x ~0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y ~0.599999964237 -x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y 0.599999964237 -x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 diff --git a/fonts/lower-case-l.sml b/fonts/lower-case-l.sml index 72dfcd2..b9ba805 100644 --- a/fonts/lower-case-l.sml +++ b/fonts/lower-case-l.sml @@ -1,51 +1,107 @@ -structure LowerCaseL = +structure LowerCaseL = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-m.dsc b/fonts/lower-case-m.dsc deleted file mode 100644 index de70288..0000000 --- a/fonts/lower-case-m.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.200000017881 -x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 -x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 -x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.0666666701436 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-m.sml b/fonts/lower-case-m.sml index 423a5e9..700c78a 100644 --- a/fonts/lower-case-m.sml +++ b/fonts/lower-case-m.sml @@ -1,75 +1,167 @@ -structure LowerCaseM = +structure LowerCaseM = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-n.dsc b/fonts/lower-case-n.dsc deleted file mode 100644 index 474c9d3..0000000 --- a/fonts/lower-case-n.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-n.sml b/fonts/lower-case-n.sml index 474b935..9c9fc96 100644 --- a/fonts/lower-case-n.sml +++ b/fonts/lower-case-n.sml @@ -1,51 +1,107 @@ -structure LowerCaseN = +structure LowerCaseN = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-o.dsc b/fonts/lower-case-o.dsc deleted file mode 100644 index 82b9e05..0000000 --- a/fonts/lower-case-o.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.0666666701436 -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/lower-case-o.sml b/fonts/lower-case-o.sml index c0587d7..ff49e3f 100644 --- a/fonts/lower-case-o.sml +++ b/fonts/lower-case-o.sml @@ -1,63 +1,137 @@ -structure LowerCaseO = +structure LowerCaseO = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-p.dsc b/fonts/lower-case-p.dsc deleted file mode 100644 index 0026ece..0000000 --- a/fonts/lower-case-p.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y ~1 -x ~0.333333343267 y ~1 x ~0.200000017881 y ~1 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-p.sml b/fonts/lower-case-p.sml index 8e80eee..d90a5cb 100644 --- a/fonts/lower-case-p.sml +++ b/fonts/lower-case-p.sml @@ -1,63 +1,137 @@ -structure LowerCaseP = +structure LowerCaseP = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-q.dsc b/fonts/lower-case-q.dsc deleted file mode 100644 index d56fac0..0000000 --- a/fonts/lower-case-q.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.866666674614 x 0.333333283663 y ~0.866666674614 -x 0.333333283663 y ~0.866666674614 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y ~0.866666674614 x 0.466666638851 y ~0.866666674614 x 0.466666638851 y ~1 -x 0.466666638851 y ~1 x 0.199999943376 y ~1 x 0.199999943376 y ~0.866666674614 diff --git a/fonts/lower-case-q.sml b/fonts/lower-case-q.sml index 9782607..0523bcc 100644 --- a/fonts/lower-case-q.sml +++ b/fonts/lower-case-q.sml @@ -1,75 +1,167 @@ -structure LowerCaseQ = +structure LowerCaseQ = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-r.dsc b/fonts/lower-case-r.dsc deleted file mode 100644 index c208fb8..0000000 --- a/fonts/lower-case-r.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y 0.200000017881 diff --git a/fonts/lower-case-r.sml b/fonts/lower-case-r.sml index 2ae4286..1a0841d 100644 --- a/fonts/lower-case-r.sml +++ b/fonts/lower-case-r.sml @@ -1,51 +1,107 @@ -structure LowerCaseR = +structure LowerCaseR = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-s.dsc b/fonts/lower-case-s.dsc deleted file mode 100644 index 6372da8..0000000 --- a/fonts/lower-case-s.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.200000017881 -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 -x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 -x 0.199999943376 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/lower-case-s.sml b/fonts/lower-case-s.sml index a0feee5..8858742 100644 --- a/fonts/lower-case-s.sml +++ b/fonts/lower-case-s.sml @@ -1,75 +1,167 @@ -structure LowerCaseS = +structure LowerCaseS = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-t.dsc b/fonts/lower-case-t.dsc deleted file mode 100644 index c71d08a..0000000 --- a/fonts/lower-case-t.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x ~0.200000017881 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 -x 0.333333283663 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.466666638851 diff --git a/fonts/lower-case-t.sml b/fonts/lower-case-t.sml index 89fa087..665b6bf 100644 --- a/fonts/lower-case-t.sml +++ b/fonts/lower-case-t.sml @@ -1,51 +1,107 @@ -structure LowerCaseT = +structure LowerCaseT = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-u.dsc b/fonts/lower-case-u.dsc deleted file mode 100644 index c43c5c2..0000000 --- a/fonts/lower-case-u.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/lower-case-u.sml b/fonts/lower-case-u.sml index 94691ce..4a8f892 100644 --- a/fonts/lower-case-u.sml +++ b/fonts/lower-case-u.sml @@ -1,51 +1,107 @@ -structure LowerCaseU = +structure LowerCaseU = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-v.dsc b/fonts/lower-case-v.dsc deleted file mode 100644 index 7931f48..0000000 --- a/fonts/lower-case-v.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 -x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.333333343267 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.200000017881 -x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y ~0.0666667371988 diff --git a/fonts/lower-case-v.sml b/fonts/lower-case-v.sml index 95836e6..4073b6c 100644 --- a/fonts/lower-case-v.sml +++ b/fonts/lower-case-v.sml @@ -1,75 +1,167 @@ -structure LowerCaseV = +structure LowerCaseV = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-w.dsc b/fonts/lower-case-w.dsc deleted file mode 100644 index ad84da6..0000000 --- a/fonts/lower-case-w.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.333333283663 -x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.333333283663 -x ~0.200000017881 y ~0.333333283663 x ~0.333333343267 y ~0.333333283663 x ~0.333333343267 y 0.200000017881 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 diff --git a/fonts/lower-case-w.sml b/fonts/lower-case-w.sml index a35cc4e..5b4bc6e 100644 --- a/fonts/lower-case-w.sml +++ b/fonts/lower-case-w.sml @@ -1,75 +1,167 @@ -structure LowerCaseW = +structure LowerCaseW = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-x.dsc b/fonts/lower-case-x.dsc deleted file mode 100644 index dabf358..0000000 --- a/fonts/lower-case-x.dsc +++ /dev/null @@ -1,18 +0,0 @@ -x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.0666667371988 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x ~0.333333343267 y 0.200000017881 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.200000017881 x ~0.333333343267 y 0.200000017881 -x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 -x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.333333283663 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/lower-case-x.sml b/fonts/lower-case-x.sml index 6f29944..1e96496 100644 --- a/fonts/lower-case-x.sml +++ b/fonts/lower-case-x.sml @@ -1,123 +1,287 @@ -structure LowerCaseX = +structure LowerCaseX = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-y.dsc b/fonts/lower-case-y.dsc deleted file mode 100644 index 280c6ba..0000000 --- a/fonts/lower-case-y.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.333333283663 y ~0.866666674614 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y ~0.866666674614 x 0.333333283663 y ~0.866666674614 -x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.200000017881 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x 0.199999943376 y ~0.866666674614 x ~0.200000017881 y ~0.866666674614 x ~0.200000017881 y ~1 -x ~0.200000017881 y ~1 x 0.199999943376 y ~1 x 0.199999943376 y ~0.866666674614 diff --git a/fonts/lower-case-y.sml b/fonts/lower-case-y.sml index 18b1e46..20d64e0 100644 --- a/fonts/lower-case-y.sml +++ b/fonts/lower-case-y.sml @@ -1,63 +1,137 @@ -structure LowerCaseY = +structure LowerCaseY = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.0)) + (endY * 0.0)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/lower-case-z.dsc b/fonts/lower-case-z.dsc deleted file mode 100644 index 5f76352..0000000 --- a/fonts/lower-case-z.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.333333343267 y 0.200000017881 x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.0666666701436 -x 0.333333283663 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.200000017881 -x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 -x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/lower-case-z.sml b/fonts/lower-case-z.sml index 33d1c2d..d846b9d 100644 --- a/fonts/lower-case-z.sml +++ b/fonts/lower-case-z.sml @@ -1,87 +1,197 @@ -structure LowerCaseZ = +structure LowerCaseZ = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/minus.dsc b/fonts/minus.dsc deleted file mode 100644 index 0d84e07..0000000 --- a/fonts/minus.dsc +++ /dev/null @@ -1,2 +0,0 @@ -x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 -x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 diff --git a/fonts/percent.dsc b/fonts/percent.dsc deleted file mode 100644 index f364343..0000000 --- a/fonts/percent.dsc +++ /dev/null @@ -1,26 +0,0 @@ -x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 -x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 -x ~0.333333343267 y ~0.333333283663 x ~0.333333343267 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.333333283663 x ~0.333333343267 y ~0.333333283663 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 -x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.466666638851 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/pipe.dsc b/fonts/pipe.dsc deleted file mode 100644 index cacec91..0000000 --- a/fonts/pipe.dsc +++ /dev/null @@ -1,2 +0,0 @@ -x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y ~0.866666674614 -x ~0.0666666701436 y ~0.866666674614 x 0.0666666701436 y ~0.866666674614 x 0.0666666701436 y 0.599999964237 diff --git a/fonts/plus.dsc b/fonts/plus.dsc deleted file mode 100644 index f2b2a5d..0000000 --- a/fonts/plus.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.333333283663 y ~0.0666667371988 x 0.333333283663 y ~0.199999943376 x ~0.333333343267 y ~0.199999943376 -x ~0.333333343267 y ~0.199999943376 x ~0.333333343267 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 -x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y 0.200000017881 diff --git a/fonts/question-mark.dsc b/fonts/question-mark.dsc deleted file mode 100644 index 31f15cf..0000000 --- a/fonts/question-mark.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.200000017881 -x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 -x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 -x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 diff --git a/fonts/question-mark.sml b/fonts/question-mark.sml index bb58676..38f37fb 100644 --- a/fonts/question-mark.sml +++ b/fonts/question-mark.sml @@ -1,87 +1,197 @@ -structure QuestionMark = +structure QuestionMark = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/quotes-double.dsc b/fonts/quotes-double.dsc deleted file mode 100644 index 905ea76..0000000 --- a/fonts/quotes-double.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.599999964237 x 0.0666666701436 y 0.599999964237 -x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 -x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 diff --git a/fonts/quotes-double.sml b/fonts/quotes-double.sml index dbb58a7..e1829b3 100644 --- a/fonts/quotes-double.sml +++ b/fonts/quotes-double.sml @@ -1,39 +1,77 @@ -structure QuotesDouble = +structure QuotesDouble = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/quotes-single.dsc b/fonts/quotes-single.dsc deleted file mode 100644 index 7478780..0000000 --- a/fonts/quotes-single.dsc +++ /dev/null @@ -1,2 +0,0 @@ -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.599999964237 -x ~0.0666666701436 y 0.599999964237 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 diff --git a/fonts/quotes-single.sml b/fonts/quotes-single.sml index dbebf3d..020cfef 100644 --- a/fonts/quotes-single.sml +++ b/fonts/quotes-single.sml @@ -1,27 +1,47 @@ -structure QuotesSingle = +structure QuotesSingle = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/right-angled-bracket.sml b/fonts/right-angled-bracket.sml similarity index 100% rename from new-fonts/right-angled-bracket.sml rename to fonts/right-angled-bracket.sml diff --git a/new-fonts/right-brace.sml b/fonts/right-brace.sml similarity index 100% rename from new-fonts/right-brace.sml rename to fonts/right-brace.sml diff --git a/new-fonts/right-bracket.sml b/fonts/right-bracket.sml similarity index 100% rename from new-fonts/right-bracket.sml rename to fonts/right-bracket.sml diff --git a/new-fonts/right-paren.sml b/fonts/right-paren.sml similarity index 100% rename from new-fonts/right-paren.sml rename to fonts/right-paren.sml diff --git a/fonts/semi-colon.sml b/fonts/semi-colon.sml deleted file mode 100644 index 67500a1..0000000 --- a/fonts/semi-colon.sml +++ /dev/null @@ -1,63 +0,0 @@ -structure Semicolon = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/new-fonts/semicolon.sml b/fonts/semicolon.sml similarity index 100% rename from new-fonts/semicolon.sml rename to fonts/semicolon.sml diff --git a/fonts/slash-backwards.dsc b/fonts/slash-backwards.dsc deleted file mode 100644 index 901593d..0000000 --- a/fonts/slash-backwards.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y ~0.733333289623 x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.733333289623 x 0.333333283663 y ~0.733333289623 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.599999964237 x ~0.333333343267 y 0.599999964237 -x ~0.333333343267 y 0.599999964237 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/slash-backwards.sml b/fonts/slash-backwards.sml deleted file mode 100644 index 740c387..0000000 --- a/fonts/slash-backwards.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure SlashBackwards = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/slash-forwards.dsc b/fonts/slash-forwards.dsc deleted file mode 100644 index f4e33aa..0000000 --- a/fonts/slash-forwards.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.333333343267 y ~0.733333289623 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.733333289623 x ~0.333333343267 y ~0.733333289623 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.599999964237 x 0.333333283663 y 0.599999964237 -x 0.333333283663 y 0.599999964237 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 diff --git a/fonts/slash-forwards.sml b/fonts/slash-forwards.sml deleted file mode 100644 index 4da3d75..0000000 --- a/fonts/slash-forwards.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure SlashForwards = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/space.sml b/fonts/space.sml deleted file mode 100644 index bf94a6e..0000000 --- a/fonts/space.sml +++ /dev/null @@ -1,5 +0,0 @@ -structure AsciiSpace = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - #[ ] -end diff --git a/fonts/square-bracket-closed.dsc b/fonts/square-bracket-closed.dsc deleted file mode 100644 index 5a84dbb..0000000 --- a/fonts/square-bracket-closed.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y 0.466666638851 x 0.0666666701436 y 0.466666638851 -x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 -x ~0.200000017881 y ~0.733333289623 x 0.0666666701436 y ~0.733333289623 x 0.0666666701436 y ~0.866666674614 -x 0.0666666701436 y ~0.866666674614 x ~0.200000017881 y ~0.866666674614 x ~0.200000017881 y ~0.733333289623 -x 0.199999943376 y 0.599999964237 x 0.0666666701436 y 0.599999964237 x 0.0666666701436 y ~0.866666674614 -x 0.0666666701436 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 x 0.199999943376 y 0.599999964237 diff --git a/fonts/square-bracket-closed.sml b/fonts/square-bracket-closed.sml deleted file mode 100644 index b446541..0000000 --- a/fonts/square-bracket-closed.sml +++ /dev/null @@ -1,51 +0,0 @@ -structure SquareBracketClosed = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/square-bracket-open.dsc b/fonts/square-bracket-open.dsc deleted file mode 100644 index 4464779..0000000 --- a/fonts/square-bracket-open.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.199999943376 y 0.599999964237 x 0.199999943376 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 -x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.599999964237 x 0.199999943376 y 0.599999964237 -x 0.199999943376 y ~0.733333289623 x ~0.0666666701436 y ~0.733333289623 x ~0.0666666701436 y ~0.866666674614 -x ~0.0666666701436 y ~0.866666674614 x 0.199999943376 y ~0.866666674614 x 0.199999943376 y ~0.733333289623 -x ~0.0666666701436 y 0.599999964237 x ~0.200000017881 y 0.599999964237 x ~0.200000017881 y ~0.866666674614 -x ~0.200000017881 y ~0.866666674614 x ~0.0666666701436 y ~0.866666674614 x ~0.0666666701436 y 0.599999964237 diff --git a/fonts/square-bracket-open.sml b/fonts/square-bracket-open.sml deleted file mode 100644 index b376e11..0000000 --- a/fonts/square-bracket-open.sml +++ /dev/null @@ -1,51 +0,0 @@ -structure SquareBracketOpen = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.066666662693)) + (endY * 0.066666662693)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/tilde.dsc b/fonts/tilde.dsc deleted file mode 100644 index 7b9a4d2..0000000 --- a/fonts/tilde.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y 0.0666666701436 x 0.333333283663 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 -x 0.199999943376 y ~0.199999943376 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 -x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.333333283663 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.0666666701436 -x ~0.200000017881 y ~0.0666667371988 x ~0.333333343267 y ~0.0666667371988 x ~0.333333343267 y ~0.333333283663 -x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.0666667371988 diff --git a/fonts/tilde.sml b/fonts/tilde.sml deleted file mode 100644 index d410e19..0000000 --- a/fonts/tilde.sml +++ /dev/null @@ -1,75 +0,0 @@ -structure AsciiTilde = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/fonts/underscore.dsc b/fonts/underscore.dsc deleted file mode 100644 index d5e0cfa..0000000 --- a/fonts/underscore.dsc +++ /dev/null @@ -1,2 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.733333289623 -x ~0.333333343267 y ~0.733333289623 x 0.333333283663 y ~0.733333289623 x 0.333333283663 y ~0.599999964237 diff --git a/fonts/underscore.sml b/fonts/underscore.sml index 50e86eb..d0f228c 100644 --- a/fonts/underscore.sml +++ b/fonts/underscore.sml @@ -1,27 +1,47 @@ -structure Underscore = +structure Underscore = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/unknown-char.dsc b/fonts/unknown-char.dsc deleted file mode 100644 index a3831e1..0000000 --- a/fonts/unknown-char.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.599999964237 y ~0.466666638851 x 0.599999964237 y 0.466666638851 x 0.466666638851 y 0.466666638851 -x 0.466666638851 y 0.466666638851 x 0.466666638851 y ~0.466666638851 x 0.599999964237 y ~0.466666638851 -x 0.599999964237 y 0.599999964237 x ~0.466666668653 y 0.599999964237 x ~0.466666668653 y 0.466666638851 -x ~0.466666668653 y 0.466666638851 x 0.599999964237 y 0.466666638851 x 0.599999964237 y 0.599999964237 -x ~0.466666668653 y 0.599999964237 x ~0.466666668653 y ~0.466666638851 x ~0.599999964237 y ~0.466666638851 -x ~0.599999964237 y ~0.466666638851 x ~0.599999964237 y 0.599999964237 x ~0.466666668653 y 0.599999964237 -x 0.599999964237 y ~0.466666638851 x ~0.599999964237 y ~0.466666638851 x ~0.599999964237 y ~0.599999964237 -x ~0.599999964237 y ~0.599999964237 x 0.599999964237 y ~0.599999964237 x 0.599999964237 y ~0.466666638851 diff --git a/fonts/unknown-char.sml b/fonts/unknown-char.sml deleted file mode 100644 index 47dd9fd..0000000 --- a/fonts/unknown-char.sml +++ /dev/null @@ -1,63 +0,0 @@ -structure UnknownChar = -struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = - let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 - in - #[ (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.733333349228)) + (endX * 0.733333349228)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.266666650772)) + (endX * 0.266666650772)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.799999952316)) + (endY * 0.799999952316)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.200000017881)) + (endX * 0.200000017881)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.799999952316)) + (endX * 0.799999952316)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file diff --git a/new-fonts/unknown.sml b/fonts/unknown.sml similarity index 100% rename from new-fonts/unknown.sml rename to fonts/unknown.sml diff --git a/fonts/upper-case-a.dsc b/fonts/upper-case-a.dsc deleted file mode 100644 index 05f4d77..0000000 --- a/fonts/upper-case-a.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.200000017881 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y ~0.199999943376 -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/upper-case-a.sml b/fonts/upper-case-a.sml index b429e83..f343d2f 100644 --- a/fonts/upper-case-a.sml +++ b/fonts/upper-case-a.sml @@ -1,63 +1,137 @@ -structure UpperCaseA = +structure UpperCaseA = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-b.dsc b/fonts/upper-case-b.dsc deleted file mode 100644 index 3155432..0000000 --- a/fonts/upper-case-b.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-b.sml b/fonts/upper-case-b.sml index b49b485..9f5ef7b 100644 --- a/fonts/upper-case-b.sml +++ b/fonts/upper-case-b.sml @@ -1,87 +1,197 @@ -structure UpperCaseB = +structure UpperCaseB = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-c.dsc b/fonts/upper-case-c.dsc deleted file mode 100644 index cfebfb5..0000000 --- a/fonts/upper-case-c.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 -x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.333333283663 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.200000017881 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.333333343267 diff --git a/fonts/upper-case-c.sml b/fonts/upper-case-c.sml index d4808a9..bd6186f 100644 --- a/fonts/upper-case-c.sml +++ b/fonts/upper-case-c.sml @@ -1,75 +1,167 @@ -structure UpperCaseC = +structure UpperCaseC = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-d.dsc b/fonts/upper-case-d.dsc deleted file mode 100644 index 041c3c3..0000000 --- a/fonts/upper-case-d.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x 0.333333283663 y 0.200000017881 x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 -x 0.199999943376 y ~0.333333283663 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 -x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.333333283663 -x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 -x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 -x 0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x 0.0666666701436 y 0.466666638851 x 0.0666666701436 y 0.333333343267 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/upper-case-d.sml b/fonts/upper-case-d.sml index 26c543d..e189e43 100644 --- a/fonts/upper-case-d.sml +++ b/fonts/upper-case-d.sml @@ -1,87 +1,197 @@ -structure UpperCaseD = +structure UpperCaseD = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-e.dsc b/fonts/upper-case-e.dsc deleted file mode 100644 index 82b6867..0000000 --- a/fonts/upper-case-e.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.333333283663 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.0666666701436 -x 0.333333283663 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-e.sml b/fonts/upper-case-e.sml index ee361f2..50b0da8 100644 --- a/fonts/upper-case-e.sml +++ b/fonts/upper-case-e.sml @@ -1,63 +1,137 @@ -structure UpperCaseE = +structure UpperCaseE = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-f.dsc b/fonts/upper-case-f.dsc deleted file mode 100644 index 26793c4..0000000 --- a/fonts/upper-case-f.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x 0.333333283663 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.333333343267 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-f.sml b/fonts/upper-case-f.sml index c8613ad..b44fcf5 100644 --- a/fonts/upper-case-f.sml +++ b/fonts/upper-case-f.sml @@ -1,51 +1,107 @@ -structure UpperCaseF = +structure UpperCaseF = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-g.dsc b/fonts/upper-case-g.dsc deleted file mode 100644 index 17d2a31..0000000 --- a/fonts/upper-case-g.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 -x 0.333333283663 y ~0.466666638851 x 0.199999943376 y ~0.0666667371988 x 0.333333283663 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 -x 0.0666666701436 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 -x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.0666667371988 -x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-g.sml b/fonts/upper-case-g.sml index 6c37895..2c43b58 100644 --- a/fonts/upper-case-g.sml +++ b/fonts/upper-case-g.sml @@ -1,87 +1,197 @@ -structure UpperCaseG = +structure UpperCaseG = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-h.dsc b/fonts/upper-case-h.dsc deleted file mode 100644 index 4f69b33..0000000 --- a/fonts/upper-case-h.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 -x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-h.sml b/fonts/upper-case-h.sml index aadeb65..797fac6 100644 --- a/fonts/upper-case-h.sml +++ b/fonts/upper-case-h.sml @@ -1,51 +1,107 @@ -structure UpperCaseH = +structure UpperCaseH = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-i.dsc b/fonts/upper-case-i.dsc deleted file mode 100644 index 2dcda73..0000000 --- a/fonts/upper-case-i.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 -x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y ~0.466666638851 -x ~0.0666666701436 y ~0.466666638851 x ~0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.333333343267 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-i.sml b/fonts/upper-case-i.sml index 264ac32..73c05c0 100644 --- a/fonts/upper-case-i.sml +++ b/fonts/upper-case-i.sml @@ -1,51 +1,107 @@ -structure UpperCaseI = +structure UpperCaseI = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-j.dsc b/fonts/upper-case-j.dsc deleted file mode 100644 index 235ebcf..0000000 --- a/fonts/upper-case-j.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x 0.199999943376 y 0.466666638851 x ~0.0666666701436 y 0.466666638851 x ~0.0666666701436 y 0.333333343267 -x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 diff --git a/fonts/upper-case-j.sml b/fonts/upper-case-j.sml index 5c09f78..94f6188 100644 --- a/fonts/upper-case-j.sml +++ b/fonts/upper-case-j.sml @@ -1,63 +1,137 @@ -structure UpperCaseJ = +structure UpperCaseJ = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-k.dsc b/fonts/upper-case-k.dsc deleted file mode 100644 index 095b869..0000000 --- a/fonts/upper-case-k.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 -x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.333333283663 y ~0.333333283663 x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 -x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/upper-case-k.sml b/fonts/upper-case-k.sml index 318b376..1e9a762 100644 --- a/fonts/upper-case-k.sml +++ b/fonts/upper-case-k.sml @@ -1,99 +1,227 @@ -structure UpperCaseK = +structure UpperCaseK = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-l.dsc b/fonts/upper-case-l.dsc deleted file mode 100644 index 56c986b..0000000 --- a/fonts/upper-case-l.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 diff --git a/fonts/upper-case-l.sml b/fonts/upper-case-l.sml index 9da10aa..b27222a 100644 --- a/fonts/upper-case-l.sml +++ b/fonts/upper-case-l.sml @@ -1,39 +1,77 @@ -structure UpperCaseL = +structure UpperCaseL = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-m.dsc b/fonts/upper-case-m.dsc deleted file mode 100644 index 75cfa4c..0000000 --- a/fonts/upper-case-m.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y 0.466666638851 -x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.0666666701436 y 0.200000017881 x ~0.0666666701436 y 0.333333343267 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-m.sml b/fonts/upper-case-m.sml index 5c35ac6..9a41efa 100644 --- a/fonts/upper-case-m.sml +++ b/fonts/upper-case-m.sml @@ -1,75 +1,167 @@ -structure UpperCaseM = +structure UpperCaseM = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-n.dsc b/fonts/upper-case-n.dsc deleted file mode 100644 index 269b81c..0000000 --- a/fonts/upper-case-n.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.0666666701436 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-n.sml b/fonts/upper-case-n.sml index aab7ccd..663cdb2 100644 --- a/fonts/upper-case-n.sml +++ b/fonts/upper-case-n.sml @@ -1,75 +1,167 @@ -structure UpperCaseN = +structure UpperCaseN = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-o.dsc b/fonts/upper-case-o.dsc deleted file mode 100644 index 518f82d..0000000 --- a/fonts/upper-case-o.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 -x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 -x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 -x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 -x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-o.sml b/fonts/upper-case-o.sml index 2a9eac6..45a394c 100644 --- a/fonts/upper-case-o.sml +++ b/fonts/upper-case-o.sml @@ -1,63 +1,137 @@ -structure UpperCaseO = +structure UpperCaseO = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-p.dsc b/fonts/upper-case-p.dsc deleted file mode 100644 index 0820212..0000000 --- a/fonts/upper-case-p.dsc +++ /dev/null @@ -1,8 +0,0 @@ -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 -x 0.199999943376 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.0666667371988 -x ~0.200000017881 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.199999943376 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y 0.466666638851 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-p.sml b/fonts/upper-case-p.sml index e434b57..329a43c 100644 --- a/fonts/upper-case-p.sml +++ b/fonts/upper-case-p.sml @@ -1,63 +1,137 @@ -structure UpperCaseP = +structure UpperCaseP = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-q.dsc b/fonts/upper-case-q.dsc deleted file mode 100644 index 1993ee2..0000000 --- a/fonts/upper-case-q.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x 0.333333283663 y ~0.333333283663 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y ~0.333333283663 x 0.333333283663 y ~0.333333283663 -x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 -x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y 0.333333343267 -x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.466666638851 -x 0.0666666701436 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.333333283663 -x ~0.200000017881 y ~0.466666638851 x 0.0666666701436 y ~0.466666638851 x 0.0666666701436 y ~0.599999964237 -x 0.0666666701436 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.733333289623 -x 0.333333283663 y ~0.733333289623 x 0.199999943376 y ~0.733333289623 x 0.199999943376 y ~0.466666638851 diff --git a/fonts/upper-case-q.sml b/fonts/upper-case-q.sml index 127acbb..ab8179d 100644 --- a/fonts/upper-case-q.sml +++ b/fonts/upper-case-q.sml @@ -1,87 +1,197 @@ -structure UpperCaseQ = +structure UpperCaseQ = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.133333355188)) + (endY * 0.133333355188)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-r.dsc b/fonts/upper-case-r.dsc deleted file mode 100644 index c519e81..0000000 --- a/fonts/upper-case-r.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.200000017881 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.466666638851 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y 0.333333343267 x 0.333333283663 y 0.333333343267 -x ~0.200000017881 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 -x 0.199999943376 y ~0.199999943376 x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 -x 0.333333283663 y ~0.199999943376 x 0.333333283663 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 -x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 -x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y 0.466666638851 diff --git a/fonts/upper-case-r.sml b/fonts/upper-case-r.sml index 93ffde0..280f73b 100644 --- a/fonts/upper-case-r.sml +++ b/fonts/upper-case-r.sml @@ -1,87 +1,197 @@ -structure UpperCaseR = +structure UpperCaseR = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-s.dsc b/fonts/upper-case-s.dsc deleted file mode 100644 index 86607d3..0000000 --- a/fonts/upper-case-s.dsc +++ /dev/null @@ -1,14 +0,0 @@ -x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 -x ~0.200000017881 y ~0.599999964237 x 0.199999943376 y ~0.599999964237 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y ~0.599999964237 -x 0.333333283663 y ~0.466666638851 x 0.333333283663 y ~0.0666667371988 x 0.199999943376 y ~0.0666667371988 -x 0.199999943376 y ~0.0666667371988 x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 -x 0.199999943376 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 -x ~0.333333343267 y 0.0666666701436 x ~0.333333343267 y 0.333333343267 x ~0.200000017881 y 0.333333343267 -x ~0.200000017881 y 0.333333343267 x ~0.200000017881 y 0.0666666701436 x ~0.333333343267 y 0.0666666701436 -x 0.333333283663 y 0.200000017881 x 0.333333283663 y 0.333333343267 x 0.199999943376 y 0.333333343267 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.200000017881 x 0.333333283663 y 0.200000017881 -x 0.199999943376 y 0.333333343267 x 0.199999943376 y 0.466666638851 x ~0.200000017881 y 0.466666638851 -x ~0.200000017881 y 0.466666638851 x ~0.200000017881 y 0.333333343267 x 0.199999943376 y 0.333333343267 diff --git a/fonts/upper-case-s.sml b/fonts/upper-case-s.sml index 71d07e6..a55b87c 100644 --- a/fonts/upper-case-s.sml +++ b/fonts/upper-case-s.sml @@ -1,99 +1,227 @@ -structure UpperCaseS = +structure UpperCaseS = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-t.dsc b/fonts/upper-case-t.dsc deleted file mode 100644 index b7986cf..0000000 --- a/fonts/upper-case-t.dsc +++ /dev/null @@ -1,4 +0,0 @@ -x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y 0.333333343267 x ~0.0666666701436 y 0.333333343267 -x ~0.0666666701436 y 0.333333343267 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 -x 0.333333283663 y 0.333333343267 x 0.333333283663 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.333333343267 x 0.333333283663 y 0.333333343267 diff --git a/fonts/upper-case-t.sml b/fonts/upper-case-t.sml index a984595..f573958 100644 --- a/fonts/upper-case-t.sml +++ b/fonts/upper-case-t.sml @@ -1,39 +1,77 @@ -structure UpperCaseT = +structure UpperCaseT = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-u.dsc b/fonts/upper-case-u.dsc deleted file mode 100644 index 78957cf..0000000 --- a/fonts/upper-case-u.dsc +++ /dev/null @@ -1,6 +0,0 @@ -x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.466666638851 -x 0.199999943376 y ~0.466666638851 x 0.333333283663 y ~0.466666638851 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y ~0.599999964237 x ~0.200000017881 y ~0.599999964237 x ~0.200000017881 y ~0.466666638851 -x ~0.200000017881 y ~0.466666638851 x 0.199999943376 y ~0.466666638851 x 0.199999943376 y ~0.599999964237 -x ~0.200000017881 y ~0.466666638851 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.200000017881 y ~0.466666638851 diff --git a/fonts/upper-case-u.sml b/fonts/upper-case-u.sml index a292d42..e0bf366 100644 --- a/fonts/upper-case-u.sml +++ b/fonts/upper-case-u.sml @@ -1,51 +1,107 @@ -structure UpperCaseU = +structure UpperCaseU = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-v.dsc b/fonts/upper-case-v.dsc deleted file mode 100644 index 3aefee0..0000000 --- a/fonts/upper-case-v.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 -x ~0.0666666701436 y ~0.333333283663 x ~0.0666666701436 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y ~0.333333283663 x ~0.0666666701436 y ~0.333333283663 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 diff --git a/fonts/upper-case-v.sml b/fonts/upper-case-v.sml index 9798d5d..d266c79 100644 --- a/fonts/upper-case-v.sml +++ b/fonts/upper-case-v.sml @@ -1,75 +1,167 @@ -structure UpperCaseV = +structure UpperCaseV = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-w.dsc b/fonts/upper-case-w.dsc deleted file mode 100644 index d378c83..0000000 --- a/fonts/upper-case-w.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 x 0.199999943376 y ~0.199999943376 -x 0.199999943376 y ~0.199999943376 x 0.333333283663 y ~0.199999943376 x 0.333333283663 y 0.466666638851 -x 0.199999943376 y ~0.599999964237 x 0.0666666701436 y ~0.599999964237 x 0.0666666701436 y ~0.199999943376 -x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.599999964237 -x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.333333283663 -x ~0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 -x ~0.200000017881 y ~0.199999943376 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y ~0.199999943376 x ~0.200000017881 y ~0.199999943376 diff --git a/fonts/upper-case-w.sml b/fonts/upper-case-w.sml index bec134b..276153e 100644 --- a/fonts/upper-case-w.sml +++ b/fonts/upper-case-w.sml @@ -1,75 +1,167 @@ -structure UpperCaseW = +structure UpperCaseW = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-x.dsc b/fonts/upper-case-x.dsc deleted file mode 100644 index ee6eb20..0000000 --- a/fonts/upper-case-x.dsc +++ /dev/null @@ -1,18 +0,0 @@ -x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.200000017881 x 0.199999943376 y 0.200000017881 -x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.466666638851 x 0.333333283663 y 0.466666638851 -x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.0666666701436 y 0.0666666701436 x 0.0666666701436 y 0.200000017881 -x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.333333283663 x 0.199999943376 y ~0.333333283663 -x 0.199999943376 y ~0.333333283663 x 0.199999943376 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 -x 0.199999943376 y ~0.199999943376 x 0.199999943376 y ~0.333333283663 x 0.0666666701436 y ~0.333333283663 -x 0.0666666701436 y ~0.333333283663 x 0.0666666701436 y ~0.199999943376 x 0.199999943376 y ~0.199999943376 -x ~0.333333343267 y ~0.599999964237 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.599999964237 x ~0.333333343267 y ~0.599999964237 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.199999943376 x ~0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y ~0.199999943376 x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x 0.0666666701436 y ~0.199999943376 x 0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.199999943376 x 0.0666666701436 y ~0.199999943376 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y 0.200000017881 x ~0.200000017881 y 0.200000017881 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.200000017881 y 0.200000017881 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.200000017881 x ~0.200000017881 y 0.200000017881 diff --git a/fonts/upper-case-x.sml b/fonts/upper-case-x.sml index ad8a4c6..f67e3c8 100644 --- a/fonts/upper-case-x.sml +++ b/fonts/upper-case-x.sml @@ -1,123 +1,287 @@ -structure UpperCaseX = +structure UpperCaseX = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.400000035763)) + (endY * 0.400000035763)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-y.dsc b/fonts/upper-case-y.dsc deleted file mode 100644 index 829bac3..0000000 --- a/fonts/upper-case-y.dsc +++ /dev/null @@ -1,10 +0,0 @@ -x ~0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y ~0.599999964237 x ~0.0666666701436 y ~0.599999964237 -x ~0.200000017881 y ~0.0666667371988 x ~0.200000017881 y 0.0666666701436 x ~0.0666666701436 y 0.0666666701436 -x ~0.0666666701436 y 0.0666666701436 x ~0.0666666701436 y ~0.0666667371988 x ~0.200000017881 y ~0.0666667371988 -x 0.0666666701436 y ~0.0666667371988 x 0.0666666701436 y 0.0666666701436 x 0.199999943376 y 0.0666666701436 -x 0.199999943376 y 0.0666666701436 x 0.199999943376 y ~0.0666667371988 x 0.0666666701436 y ~0.0666667371988 -x 0.333333283663 y 0.0666666701436 x 0.333333283663 y 0.466666638851 x 0.199999943376 y 0.466666638851 -x 0.199999943376 y 0.466666638851 x 0.199999943376 y 0.0666666701436 x 0.333333283663 y 0.0666666701436 -x ~0.200000017881 y 0.0666666701436 x ~0.200000017881 y 0.466666638851 x ~0.333333343267 y 0.466666638851 -x ~0.333333343267 y 0.466666638851 x ~0.333333343267 y 0.0666666701436 x ~0.200000017881 y 0.0666666701436 diff --git a/fonts/upper-case-y.sml b/fonts/upper-case-y.sml index 22d3ccf..4ef2702 100644 --- a/fonts/upper-case-y.sml +++ b/fonts/upper-case-y.sml @@ -1,75 +1,167 @@ -structure UpperCaseY = +structure UpperCaseY = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.533333361149)) + (endY * 0.533333361149)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/fonts/upper-case-z.dsc b/fonts/upper-case-z.dsc deleted file mode 100644 index 114c3e2..0000000 --- a/fonts/upper-case-z.dsc +++ /dev/null @@ -1,12 +0,0 @@ -x ~0.333333343267 y 0.466666638851 x 0.333333283663 y 0.466666638851 x 0.333333283663 y 0.333333343267 -x 0.333333283663 y 0.333333343267 x ~0.333333343267 y 0.333333343267 x ~0.333333343267 y 0.466666638851 -x 0.199999943376 y 0.333333343267 x 0.0666666701436 y 0.333333343267 x 0.0666666701436 y 0.200000017881 -x 0.0666666701436 y 0.200000017881 x 0.199999943376 y 0.200000017881 x 0.199999943376 y 0.333333343267 -x 0.0666666701436 y 0.200000017881 x 0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y 0.200000017881 x 0.0666666701436 y 0.200000017881 -x ~0.0666666701436 y ~0.0666667371988 x ~0.0666666701436 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.0666667371988 x ~0.0666666701436 y ~0.0666667371988 -x ~0.200000017881 y ~0.333333283663 x ~0.200000017881 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 -x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.333333283663 x ~0.200000017881 y ~0.333333283663 -x 0.333333283663 y ~0.466666638851 x ~0.333333343267 y ~0.466666638851 x ~0.333333343267 y ~0.599999964237 -x ~0.333333343267 y ~0.599999964237 x 0.333333283663 y ~0.599999964237 x 0.333333283663 y ~0.466666638851 diff --git a/fonts/upper-case-z.sml b/fonts/upper-case-z.sml index 49aec50..fe855f3 100644 --- a/fonts/upper-case-z.sml +++ b/fonts/upper-case-z.sml @@ -1,87 +1,197 @@ -structure UpperCaseZ = +structure UpperCaseZ = struct - fun lerp (startX, startY, drawWidth, drawHeight, windowWidth, windowHeight, r, g, b) : Real32.real vector = + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let - val startX = Real32.fromInt startX - val startY = Real32.fromInt startY - val endY = windowHeight - startY - val startY = windowHeight - (startY + drawHeight) - val endX = startX + drawWidth - val windowHeight = windowHeight / 2.0 - val windowWidth = windowWidth / 2.0 + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 in - #[ (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.733333349228)) + (endY * 0.733333349228)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.599999964237)) + (endX * 0.599999964237)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.666666686535)) + (endY * 0.666666686535)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.533333361149)) + (endX * 0.533333361149)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.600000023842)) + (endY * 0.600000023842)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.466666668653)) + (endX * 0.466666668653)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.466666638851)) + (endY * 0.466666638851)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.399999976158)) + (endX * 0.399999976158)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.33333337307)) + (endY * 0.33333337307)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.333333313465)) + (endX * 0.333333313465)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.200000017881)) + (endY * 0.200000017881)) / windowHeight) - 1.0, r, g, b, - (((startX * (1.0 - 0.66666662693)) + (endX * 0.66666662693)) / windowWidth) - 1.0, - (((startY * (1.0 - 0.266666680574)) + (endY * 0.266666680574)) / windowHeight) - 1.0, r, g, b - ] - end -end \ No newline at end of file + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 + ] + end +end diff --git a/new-fonts/ampersand.sml b/new-fonts/ampersand.sml deleted file mode 100644 index b7dc044..0000000 --- a/new-fonts/ampersand.sml +++ /dev/null @@ -1,317 +0,0 @@ -structure Ampersand = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-at.sml b/new-fonts/ascii-at.sml deleted file mode 100644 index 407488b..0000000 --- a/new-fonts/ascii-at.sml +++ /dev/null @@ -1,227 +0,0 @@ -structure AsciiAt = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-dot.sml b/new-fonts/ascii-dot.sml deleted file mode 100644 index 4c4ded7..0000000 --- a/new-fonts/ascii-dot.sml +++ /dev/null @@ -1,47 +0,0 @@ -structure AsciiDot = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-eight.sml b/new-fonts/ascii-eight.sml deleted file mode 100644 index 6c0fa15..0000000 --- a/new-fonts/ascii-eight.sml +++ /dev/null @@ -1,227 +0,0 @@ -structure AsciiEight = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-five.sml b/new-fonts/ascii-five.sml deleted file mode 100644 index 96ab8ed..0000000 --- a/new-fonts/ascii-five.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure AsciiFive = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-four.sml b/new-fonts/ascii-four.sml deleted file mode 100644 index 49a935f..0000000 --- a/new-fonts/ascii-four.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure AsciiFour = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 6.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 6.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 6.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-hash.sml b/new-fonts/ascii-hash.sml deleted file mode 100644 index 9de6958..0000000 --- a/new-fonts/ascii-hash.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure AsciiHash = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-minus.sml b/new-fonts/ascii-minus.sml deleted file mode 100644 index f4cc2ae..0000000 --- a/new-fonts/ascii-minus.sml +++ /dev/null @@ -1,47 +0,0 @@ -structure AsciiMinus = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-nine.sml b/new-fonts/ascii-nine.sml deleted file mode 100644 index 8e8cec7..0000000 --- a/new-fonts/ascii-nine.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure AsciiNine = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-one.sml b/new-fonts/ascii-one.sml deleted file mode 100644 index 78bb259..0000000 --- a/new-fonts/ascii-one.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure AsciiOne = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-percent.sml b/new-fonts/ascii-percent.sml deleted file mode 100644 index 61f47ec..0000000 --- a/new-fonts/ascii-percent.sml +++ /dev/null @@ -1,407 +0,0 @@ -structure AsciiPercent = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-pipe.sml b/new-fonts/ascii-pipe.sml deleted file mode 100644 index 2b351d7..0000000 --- a/new-fonts/ascii-pipe.sml +++ /dev/null @@ -1,47 +0,0 @@ -structure AsciiPipe = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-plus.sml b/new-fonts/ascii-plus.sml deleted file mode 100644 index a63b24a..0000000 --- a/new-fonts/ascii-plus.sml +++ /dev/null @@ -1,77 +0,0 @@ -structure AsciiPlus = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-seven.sml b/new-fonts/ascii-seven.sml deleted file mode 100644 index cbadace..0000000 --- a/new-fonts/ascii-seven.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure AsciiSeven = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-six.sml b/new-fonts/ascii-six.sml deleted file mode 100644 index 8235545..0000000 --- a/new-fonts/ascii-six.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure AsciiSix = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-three.sml b/new-fonts/ascii-three.sml deleted file mode 100644 index 9b8e88f..0000000 --- a/new-fonts/ascii-three.sml +++ /dev/null @@ -1,227 +0,0 @@ -structure AsciiThree = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-two.sml b/new-fonts/ascii-two.sml deleted file mode 100644 index 155e8e7..0000000 --- a/new-fonts/ascii-two.sml +++ /dev/null @@ -1,257 +0,0 @@ -structure AsciiTwo = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/ascii-zero.sml b/new-fonts/ascii-zero.sml deleted file mode 100644 index 48915c9..0000000 --- a/new-fonts/ascii-zero.sml +++ /dev/null @@ -1,168 +0,0 @@ -structure AsciiZero = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight): Real32.real - vector = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/asterisk.sml b/new-fonts/asterisk.sml deleted file mode 100644 index 11c7444..0000000 --- a/new-fonts/asterisk.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure Asterisk = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/backtick.sml b/new-fonts/backtick.sml deleted file mode 100644 index fc43186..0000000 --- a/new-fonts/backtick.sml +++ /dev/null @@ -1,77 +0,0 @@ -structure Backtick = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/caret.sml b/new-fonts/caret.sml deleted file mode 100644 index 8c91924..0000000 --- a/new-fonts/caret.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure Caret = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/colon.sml b/new-fonts/colon.sml deleted file mode 100644 index 728fb86..0000000 --- a/new-fonts/colon.sml +++ /dev/null @@ -1,77 +0,0 @@ -structure Colon = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/comma.sml b/new-fonts/comma.sml deleted file mode 100644 index 158e474..0000000 --- a/new-fonts/comma.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure Comma = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/cozette-ascii.mlb b/new-fonts/cozette-ascii.mlb deleted file mode 100644 index bfc9fef..0000000 --- a/new-fonts/cozette-ascii.mlb +++ /dev/null @@ -1,105 +0,0 @@ -$(SML_LIB)/basis/basis.mlb -ann - "allowVectorExps true" -in - local - ascii-zero.sml - ascii-one.sml - ascii-two.sml - ascii-three.sml - ascii-four.sml - ascii-five.sml - ascii-six.sml - ascii-seven.sml - ascii-eight.sml - ascii-nine.sml - ascii-space.sml - ampersand.sml - asterisk.sml - ascii-at.sml - backtick.sml - backward-slash.sml - caret.sml - colon.sml - comma.sml - dollar.sml - quotes-double.sml - equals.sml - exclamation_mark.sml - forward-slash.sml - ascii-dot.sml - ascii-hash.sml - left-angled-bracket.sml - left-brace.sml - left-bracket.sml - left-paren.sml - lower-case-a.sml - lower-case-b.sml - lower-case-c.sml - lower-case-d.sml - lower-case-e.sml - lower-case-f.sml - lower-case-g.sml - lower-case-h.sml - lower-case-i.sml - lower-case-j.sml - lower-case-k.sml - lower-case-l.sml - lower-case-m.sml - lower-case-n.sml - lower-case-o.sml - lower-case-p.sml - lower-case-q.sml - lower-case-r.sml - lower-case-s.sml - lower-case-t.sml - lower-case-u.sml - lower-case-v.sml - lower-case-w.sml - lower-case-x.sml - lower-case-y.sml - lower-case-z.sml - ascii-minus.sml - ascii-percent.sml - ascii-pipe.sml - ascii-plus.sml - question-mark.sml - right-angled-bracket.sml - right-brace.sml - right-bracket.sml - right-paren.sml - semicolon.sml - quotes-single.sml - ascii-tilde.sml - underscore.sml - unknown.sml - upper-case-a.sml - upper-case-b.sml - upper-case-c.sml - upper-case-d.sml - upper-case-e.sml - upper-case-f.sml - upper-case-g.sml - upper-case-h.sml - upper-case-i.sml - upper-case-j.sml - upper-case-k.sml - upper-case-l.sml - upper-case-m.sml - upper-case-n.sml - upper-case-o.sml - upper-case-p.sml - upper-case-q.sml - upper-case-r.sml - upper-case-s.sml - upper-case-t.sml - upper-case-u.sml - upper-case-v.sml - upper-case-w.sml - upper-case-x.sml - upper-case-y.sml - upper-case-z.sml - in - cozette-ascii.sml - end -end diff --git a/new-fonts/cozette-ascii.sml b/new-fonts/cozette-ascii.sml deleted file mode 100644 index 546bf08..0000000 --- a/new-fonts/cozette-ascii.sml +++ /dev/null @@ -1,253 +0,0 @@ -structure CozetteAscii = -struct - val asciiTable = #[ - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - AsciiSpace.lerp, - ExclamationMark.lerp, - QuotesDouble.lerp, - AsciiHash.lerp, - Dollar.lerp, - AsciiPercent.lerp, - Ampersand.lerp, - QuotesSingle.lerp, - LeftParen.lerp, - RightParen.lerp, - Asterisk.lerp, - AsciiPlus.lerp, - Comma.lerp, - AsciiMinus.lerp, - AsciiDot.lerp, - ForwardSlash.lerp, - AsciiZero.lerp, - AsciiOne.lerp, - AsciiTwo.lerp, - AsciiThree.lerp, - AsciiFour.lerp, - AsciiFive.lerp, - AsciiSix.lerp, - AsciiSeven.lerp, - AsciiEight.lerp, - AsciiNine.lerp, - Colon.lerp, - Semicolon.lerp, - LeftAngledBracket.lerp, - AsciiEquals.lerp, - RightAngledBracket.lerp, - QuestionMark.lerp, - AsciiAt.lerp, - UpperCaseA.lerp, - UpperCaseB.lerp, - UpperCaseC.lerp, - UpperCaseD.lerp, - UpperCaseE.lerp, - UpperCaseF.lerp, - UpperCaseG.lerp, - UpperCaseH.lerp, - UpperCaseI.lerp, - UpperCaseJ.lerp, - UpperCaseK.lerp, - UpperCaseL.lerp, - UpperCaseM.lerp, - UpperCaseN.lerp, - UpperCaseO.lerp, - UpperCaseP.lerp, - UpperCaseQ.lerp, - UpperCaseR.lerp, - UpperCaseS.lerp, - UpperCaseT.lerp, - UpperCaseU.lerp, - UpperCaseV.lerp, - UpperCaseW.lerp, - UpperCaseX.lerp, - UpperCaseY.lerp, - UpperCaseZ.lerp, - LeftBracket.lerp, - BackwardSlash.lerp, - RightBracket.lerp, - Caret.lerp, - Underscore.lerp, - Backtick.lerp, - LowerCaseA.lerp, - LowerCaseB.lerp, - LowerCaseC.lerp, - LowerCaseD.lerp, - LowerCaseE.lerp, - LowerCaseF.lerp, - LowerCaseG.lerp, - LowerCaseH.lerp, - LowerCaseI.lerp, - LowerCaseJ.lerp, - LowerCaseK.lerp, - LowerCaseL.lerp, - LowerCaseM.lerp, - LowerCaseN.lerp, - LowerCaseO.lerp, - LowerCaseP.lerp, - LowerCaseQ.lerp, - LowerCaseR.lerp, - LowerCaseS.lerp, - LowerCaseT.lerp, - LowerCaseU.lerp, - LowerCaseV.lerp, - LowerCaseW.lerp, - LowerCaseX.lerp, - LowerCaseY.lerp, - LowerCaseZ.lerp, - LeftBrace.lerp, - AsciiPipe.lerp, - RightBrace.lerp, - AsciiTilde.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp, - Unknown.lerp - ] -end diff --git a/new-fonts/dollar.sml b/new-fonts/dollar.sml deleted file mode 100644 index 78c70e5..0000000 --- a/new-fonts/dollar.sml +++ /dev/null @@ -1,257 +0,0 @@ -structure Dollar = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-a.sml b/new-fonts/lower-case-a.sml deleted file mode 100644 index 78be494..0000000 --- a/new-fonts/lower-case-a.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseA = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-b.sml b/new-fonts/lower-case-b.sml deleted file mode 100644 index 16150cd..0000000 --- a/new-fonts/lower-case-b.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseB = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-c.sml b/new-fonts/lower-case-c.sml deleted file mode 100644 index 4042e89..0000000 --- a/new-fonts/lower-case-c.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseC = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-d.sml b/new-fonts/lower-case-d.sml deleted file mode 100644 index 7863e2e..0000000 --- a/new-fonts/lower-case-d.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseD = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-e.sml b/new-fonts/lower-case-e.sml deleted file mode 100644 index 9b0a022..0000000 --- a/new-fonts/lower-case-e.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure LowerCaseE = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-f.sml b/new-fonts/lower-case-f.sml deleted file mode 100644 index d2d7880..0000000 --- a/new-fonts/lower-case-f.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseF = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-g.sml b/new-fonts/lower-case-g.sml deleted file mode 100644 index 964dd36..0000000 --- a/new-fonts/lower-case-g.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseG = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-h.sml b/new-fonts/lower-case-h.sml deleted file mode 100644 index 6407538..0000000 --- a/new-fonts/lower-case-h.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseH = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-i.sml b/new-fonts/lower-case-i.sml deleted file mode 100644 index a331b7b..0000000 --- a/new-fonts/lower-case-i.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseI = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-j.sml b/new-fonts/lower-case-j.sml deleted file mode 100644 index 187543f..0000000 --- a/new-fonts/lower-case-j.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseJ = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-k.sml b/new-fonts/lower-case-k.sml deleted file mode 100644 index d74ffbb..0000000 --- a/new-fonts/lower-case-k.sml +++ /dev/null @@ -1,227 +0,0 @@ -structure LowerCaseK = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-l.sml b/new-fonts/lower-case-l.sml deleted file mode 100644 index b9ba805..0000000 --- a/new-fonts/lower-case-l.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseL = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-m.sml b/new-fonts/lower-case-m.sml deleted file mode 100644 index 700c78a..0000000 --- a/new-fonts/lower-case-m.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseM = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-n.sml b/new-fonts/lower-case-n.sml deleted file mode 100644 index 9c9fc96..0000000 --- a/new-fonts/lower-case-n.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseN = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-o.sml b/new-fonts/lower-case-o.sml deleted file mode 100644 index ff49e3f..0000000 --- a/new-fonts/lower-case-o.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseO = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-p.sml b/new-fonts/lower-case-p.sml deleted file mode 100644 index d90a5cb..0000000 --- a/new-fonts/lower-case-p.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseP = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-q.sml b/new-fonts/lower-case-q.sml deleted file mode 100644 index 0523bcc..0000000 --- a/new-fonts/lower-case-q.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseQ = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 6.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 6.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 6.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-r.sml b/new-fonts/lower-case-r.sml deleted file mode 100644 index 1a0841d..0000000 --- a/new-fonts/lower-case-r.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseR = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-s.sml b/new-fonts/lower-case-s.sml deleted file mode 100644 index 8858742..0000000 --- a/new-fonts/lower-case-s.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseS = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-t.sml b/new-fonts/lower-case-t.sml deleted file mode 100644 index 665b6bf..0000000 --- a/new-fonts/lower-case-t.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseT = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-u.sml b/new-fonts/lower-case-u.sml deleted file mode 100644 index 4a8f892..0000000 --- a/new-fonts/lower-case-u.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure LowerCaseU = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-v.sml b/new-fonts/lower-case-v.sml deleted file mode 100644 index 4073b6c..0000000 --- a/new-fonts/lower-case-v.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseV = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-w.sml b/new-fonts/lower-case-w.sml deleted file mode 100644 index 5b4bc6e..0000000 --- a/new-fonts/lower-case-w.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure LowerCaseW = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-x.sml b/new-fonts/lower-case-x.sml deleted file mode 100644 index 1e96496..0000000 --- a/new-fonts/lower-case-x.sml +++ /dev/null @@ -1,287 +0,0 @@ -structure LowerCaseX = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-y.sml b/new-fonts/lower-case-y.sml deleted file mode 100644 index 20d64e0..0000000 --- a/new-fonts/lower-case-y.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure LowerCaseY = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/lower-case-z.sml b/new-fonts/lower-case-z.sml deleted file mode 100644 index d846b9d..0000000 --- a/new-fonts/lower-case-z.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure LowerCaseZ = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/question-mark.sml b/new-fonts/question-mark.sml deleted file mode 100644 index 38f37fb..0000000 --- a/new-fonts/question-mark.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure QuestionMark = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/quotes-double.sml b/new-fonts/quotes-double.sml deleted file mode 100644 index e1829b3..0000000 --- a/new-fonts/quotes-double.sml +++ /dev/null @@ -1,77 +0,0 @@ -structure QuotesDouble = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/quotes-single.sml b/new-fonts/quotes-single.sml deleted file mode 100644 index 020cfef..0000000 --- a/new-fonts/quotes-single.sml +++ /dev/null @@ -1,47 +0,0 @@ -structure QuotesSingle = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/underscore.sml b/new-fonts/underscore.sml deleted file mode 100644 index d0f228c..0000000 --- a/new-fonts/underscore.sml +++ /dev/null @@ -1,47 +0,0 @@ -structure Underscore = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-a.sml b/new-fonts/upper-case-a.sml deleted file mode 100644 index f343d2f..0000000 --- a/new-fonts/upper-case-a.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure UpperCaseA = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-b.sml b/new-fonts/upper-case-b.sml deleted file mode 100644 index 9f5ef7b..0000000 --- a/new-fonts/upper-case-b.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure UpperCaseB = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-c.sml b/new-fonts/upper-case-c.sml deleted file mode 100644 index bd6186f..0000000 --- a/new-fonts/upper-case-c.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure UpperCaseC = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-d.sml b/new-fonts/upper-case-d.sml deleted file mode 100644 index e189e43..0000000 --- a/new-fonts/upper-case-d.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure UpperCaseD = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-e.sml b/new-fonts/upper-case-e.sml deleted file mode 100644 index 50b0da8..0000000 --- a/new-fonts/upper-case-e.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure UpperCaseE = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-f.sml b/new-fonts/upper-case-f.sml deleted file mode 100644 index b44fcf5..0000000 --- a/new-fonts/upper-case-f.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure UpperCaseF = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-g.sml b/new-fonts/upper-case-g.sml deleted file mode 100644 index 2c43b58..0000000 --- a/new-fonts/upper-case-g.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure UpperCaseG = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-h.sml b/new-fonts/upper-case-h.sml deleted file mode 100644 index 797fac6..0000000 --- a/new-fonts/upper-case-h.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure UpperCaseH = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-i.sml b/new-fonts/upper-case-i.sml deleted file mode 100644 index 73c05c0..0000000 --- a/new-fonts/upper-case-i.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure UpperCaseI = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-j.sml b/new-fonts/upper-case-j.sml deleted file mode 100644 index 94f6188..0000000 --- a/new-fonts/upper-case-j.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure UpperCaseJ = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-k.sml b/new-fonts/upper-case-k.sml deleted file mode 100644 index 1e9a762..0000000 --- a/new-fonts/upper-case-k.sml +++ /dev/null @@ -1,227 +0,0 @@ -structure UpperCaseK = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-l.sml b/new-fonts/upper-case-l.sml deleted file mode 100644 index b27222a..0000000 --- a/new-fonts/upper-case-l.sml +++ /dev/null @@ -1,77 +0,0 @@ -structure UpperCaseL = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-m.sml b/new-fonts/upper-case-m.sml deleted file mode 100644 index 9a41efa..0000000 --- a/new-fonts/upper-case-m.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure UpperCaseM = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-n.sml b/new-fonts/upper-case-n.sml deleted file mode 100644 index 663cdb2..0000000 --- a/new-fonts/upper-case-n.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure UpperCaseN = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-o.sml b/new-fonts/upper-case-o.sml deleted file mode 100644 index 45a394c..0000000 --- a/new-fonts/upper-case-o.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure UpperCaseO = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-p.sml b/new-fonts/upper-case-p.sml deleted file mode 100644 index 329a43c..0000000 --- a/new-fonts/upper-case-p.sml +++ /dev/null @@ -1,137 +0,0 @@ -structure UpperCaseP = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-q.sml b/new-fonts/upper-case-q.sml deleted file mode 100644 index ab8179d..0000000 --- a/new-fonts/upper-case-q.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure UpperCaseQ = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-r.sml b/new-fonts/upper-case-r.sml deleted file mode 100644 index 280f73b..0000000 --- a/new-fonts/upper-case-r.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure UpperCaseR = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-s.sml b/new-fonts/upper-case-s.sml deleted file mode 100644 index a55b87c..0000000 --- a/new-fonts/upper-case-s.sml +++ /dev/null @@ -1,227 +0,0 @@ -structure UpperCaseS = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-t.sml b/new-fonts/upper-case-t.sml deleted file mode 100644 index f573958..0000000 --- a/new-fonts/upper-case-t.sml +++ /dev/null @@ -1,77 +0,0 @@ -structure UpperCaseT = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-u.sml b/new-fonts/upper-case-u.sml deleted file mode 100644 index e0bf366..0000000 --- a/new-fonts/upper-case-u.sml +++ /dev/null @@ -1,107 +0,0 @@ -structure UpperCaseU = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-v.sml b/new-fonts/upper-case-v.sml deleted file mode 100644 index d266c79..0000000 --- a/new-fonts/upper-case-v.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure UpperCaseV = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-w.sml b/new-fonts/upper-case-w.sml deleted file mode 100644 index 276153e..0000000 --- a/new-fonts/upper-case-w.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure UpperCaseW = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-x.sml b/new-fonts/upper-case-x.sml deleted file mode 100644 index f67e3c8..0000000 --- a/new-fonts/upper-case-x.sml +++ /dev/null @@ -1,287 +0,0 @@ -structure UpperCaseX = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-y.sml b/new-fonts/upper-case-y.sml deleted file mode 100644 index 4ef2702..0000000 --- a/new-fonts/upper-case-y.sml +++ /dev/null @@ -1,167 +0,0 @@ -structure UpperCaseY = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end diff --git a/new-fonts/upper-case-z.sml b/new-fonts/upper-case-z.sml deleted file mode 100644 index fe855f3..0000000 --- a/new-fonts/upper-case-z.sml +++ /dev/null @@ -1,197 +0,0 @@ -structure UpperCaseZ = -struct - fun xToNdc (xOffset, xpos, scale, halfWidth) = - ((xpos * scale + xOffset) - halfWidth) / halfWidth - - fun yToNdc (yOffset, ypos, scale, halfHeight) = - ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = - let - val halfWidth = windowWidth / 2.0 - val halfHeight = windowHeight / 2.0 - in - #[ -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 - ] - end -end From 4ec3ba18fdd60c725ad098d24af41db52c6e57f4 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 01:31:22 +0100 Subject: [PATCH 06/16] add ability to set (r, g, b) colour values for font --- fonts/ampersand.sml | 242 +++++++------------------ fonts/ascii-at.sml | 170 +++++------------- fonts/ascii-dot.sml | 26 +-- fonts/ascii-eight.sml | 170 +++++------------- fonts/ascii-five.sml | 146 ++++----------- fonts/ascii-four.sml | 146 ++++----------- fonts/ascii-hash.sml | 98 +++------- fonts/ascii-minus.sml | 26 +-- fonts/ascii-nine.sml | 146 ++++----------- fonts/ascii-one.sml | 98 +++------- fonts/ascii-percent.sml | 314 +++++++++------------------------ fonts/ascii-pipe.sml | 26 +-- fonts/ascii-plus.sml | 50 ++---- fonts/ascii-seven.sml | 122 ++++--------- fonts/ascii-six.sml | 146 ++++----------- fonts/ascii-space.sml | 2 +- fonts/ascii-three.sml | 170 +++++------------- fonts/ascii-tilde.sml | 122 ++++--------- fonts/ascii-two.sml | 194 +++++--------------- fonts/ascii-zero.sml | 123 ++++--------- fonts/asterisk.sml | 146 ++++----------- fonts/backtick.sml | 50 ++---- fonts/backward-slash.sml | 122 ++++--------- fonts/caret.sml | 122 ++++--------- fonts/colon.sml | 50 ++---- fonts/comma.sml | 74 ++------ fonts/cozette-ascii.sml | 2 +- fonts/dollar.sml | 194 +++++--------------- fonts/equals.sml | 50 ++---- fonts/exclamation_mark.sml | 50 ++---- fonts/forward-slash.sml | 122 ++++--------- fonts/left-angled-bracket.sml | 170 +++++------------- fonts/left-brace.sml | 122 ++++--------- fonts/left-bracket.sml | 74 ++------ fonts/left-paren.sml | 122 ++++--------- fonts/lower-case-a.sml | 122 ++++--------- fonts/lower-case-b.sml | 98 +++------- fonts/lower-case-c.sml | 122 ++++--------- fonts/lower-case-d.sml | 98 +++------- fonts/lower-case-e.sml | 146 ++++----------- fonts/lower-case-f.sml | 74 ++------ fonts/lower-case-g.sml | 122 ++++--------- fonts/lower-case-h.sml | 74 ++------ fonts/lower-case-i.sml | 98 +++------- fonts/lower-case-j.sml | 98 +++------- fonts/lower-case-k.sml | 170 +++++------------- fonts/lower-case-l.sml | 74 ++------ fonts/lower-case-m.sml | 122 ++++--------- fonts/lower-case-n.sml | 74 ++------ fonts/lower-case-o.sml | 98 +++------- fonts/lower-case-p.sml | 98 +++------- fonts/lower-case-q.sml | 122 ++++--------- fonts/lower-case-r.sml | 74 ++------ fonts/lower-case-s.sml | 122 ++++--------- fonts/lower-case-t.sml | 74 ++------ fonts/lower-case-u.sml | 74 ++------ fonts/lower-case-v.sml | 122 ++++--------- fonts/lower-case-w.sml | 122 ++++--------- fonts/lower-case-x.sml | 218 ++++++----------------- fonts/lower-case-y.sml | 98 +++------- fonts/lower-case-z.sml | 146 ++++----------- fonts/question-mark.sml | 146 ++++----------- fonts/quotes-double.sml | 50 ++---- fonts/quotes-single.sml | 26 +-- fonts/right-angled-bracket.sml | 170 +++++------------- fonts/right-brace.sml | 122 ++++--------- fonts/right-bracket.sml | 74 ++------ fonts/right-paren.sml | 122 ++++--------- fonts/semicolon.sml | 98 +++------- fonts/underscore.sml | 26 +-- fonts/unknown.sml | 98 +++------- fonts/upper-case-a.sml | 98 +++------- fonts/upper-case-b.sml | 146 ++++----------- fonts/upper-case-c.sml | 122 ++++--------- fonts/upper-case-d.sml | 146 ++++----------- fonts/upper-case-e.sml | 98 +++------- fonts/upper-case-f.sml | 74 ++------ fonts/upper-case-g.sml | 146 ++++----------- fonts/upper-case-h.sml | 74 ++------ fonts/upper-case-i.sml | 74 ++------ fonts/upper-case-j.sml | 98 +++------- fonts/upper-case-k.sml | 170 +++++------------- fonts/upper-case-l.sml | 50 ++---- fonts/upper-case-m.sml | 122 ++++--------- fonts/upper-case-n.sml | 122 ++++--------- fonts/upper-case-o.sml | 98 +++------- fonts/upper-case-p.sml | 98 +++------- fonts/upper-case-q.sml | 146 ++++----------- fonts/upper-case-r.sml | 146 ++++----------- fonts/upper-case-s.sml | 170 +++++------------- fonts/upper-case-t.sml | 50 ++---- fonts/upper-case-u.sml | 74 ++------ fonts/upper-case-v.sml | 122 ++++--------- fonts/upper-case-w.sml | 122 ++++--------- fonts/upper-case-x.sml | 218 ++++++----------------- fonts/upper-case-y.sml | 122 ++++--------- fonts/upper-case-z.sml | 146 ++++----------- 97 files changed, 2761 insertions(+), 8090 deletions(-) diff --git a/fonts/ampersand.sml b/fonts/ampersand.sml index b7dc044..42e82ce 100644 --- a/fonts/ampersand.sml +++ b/fonts/ampersand.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,304 +14,184 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-at.sml b/fonts/ascii-at.sml index 407488b..2ad68b5 100644 --- a/fonts/ascii-at.sml +++ b/fonts/ascii-at.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-dot.sml b/fonts/ascii-dot.sml index 4c4ded7..25a5c6f 100644 --- a/fonts/ascii-dot.sml +++ b/fonts/ascii-dot.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,34 +14,22 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-eight.sml b/fonts/ascii-eight.sml index 6c0fa15..f156ce1 100644 --- a/fonts/ascii-eight.sml +++ b/fonts/ascii-eight.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-five.sml b/fonts/ascii-five.sml index 96ab8ed..8804172 100644 --- a/fonts/ascii-five.sml +++ b/fonts/ascii-five.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-four.sml b/fonts/ascii-four.sml index 49a935f..f3f55c8 100644 --- a/fonts/ascii-four.sml +++ b/fonts/ascii-four.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-hash.sml b/fonts/ascii-hash.sml index 9de6958..4648a8b 100644 --- a/fonts/ascii-hash.sml +++ b/fonts/ascii-hash.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-minus.sml b/fonts/ascii-minus.sml index f4cc2ae..2d0f3fd 100644 --- a/fonts/ascii-minus.sml +++ b/fonts/ascii-minus.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,34 +14,22 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-nine.sml b/fonts/ascii-nine.sml index 8e8cec7..24eea08 100644 --- a/fonts/ascii-nine.sml +++ b/fonts/ascii-nine.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-one.sml b/fonts/ascii-one.sml index 78bb259..3502c5b 100644 --- a/fonts/ascii-one.sml +++ b/fonts/ascii-one.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-percent.sml b/fonts/ascii-percent.sml index 61f47ec..72e6b68 100644 --- a/fonts/ascii-percent.sml +++ b/fonts/ascii-percent.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,394 +14,238 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-pipe.sml b/fonts/ascii-pipe.sml index 2b351d7..f33e11c 100644 --- a/fonts/ascii-pipe.sml +++ b/fonts/ascii-pipe.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,34 +14,22 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-plus.sml b/fonts/ascii-plus.sml index a63b24a..e1824ab 100644 --- a/fonts/ascii-plus.sml +++ b/fonts/ascii-plus.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-seven.sml b/fonts/ascii-seven.sml index cbadace..abff3ab 100644 --- a/fonts/ascii-seven.sml +++ b/fonts/ascii-seven.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-six.sml b/fonts/ascii-six.sml index 8235545..434b2d7 100644 --- a/fonts/ascii-six.sml +++ b/fonts/ascii-six.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-space.sml b/fonts/ascii-space.sml index 19ef5b4..24286f2 100644 --- a/fonts/ascii-space.sml +++ b/fonts/ascii-space.sml @@ -1,5 +1,5 @@ structure AsciiSpace = struct - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = #[ ] end diff --git a/fonts/ascii-three.sml b/fonts/ascii-three.sml index 9b8e88f..040ea1e 100644 --- a/fonts/ascii-three.sml +++ b/fonts/ascii-three.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-tilde.sml b/fonts/ascii-tilde.sml index 06eb1e9..a9fc724 100644 --- a/fonts/ascii-tilde.sml +++ b/fonts/ascii-tilde.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-two.sml b/fonts/ascii-two.sml index 155e8e7..9fce71d 100644 --- a/fonts/ascii-two.sml +++ b/fonts/ascii-two.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,244 +14,148 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/ascii-zero.sml b/fonts/ascii-zero.sml index 48915c9..0287a04 100644 --- a/fonts/ascii-zero.sml +++ b/fonts/ascii-zero.sml @@ -6,8 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight): Real32.real - vector = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -15,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/asterisk.sml b/fonts/asterisk.sml index 11c7444..b94195a 100644 --- a/fonts/asterisk.sml +++ b/fonts/asterisk.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/backtick.sml b/fonts/backtick.sml index fc43186..406d7b7 100644 --- a/fonts/backtick.sml +++ b/fonts/backtick.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/backward-slash.sml b/fonts/backward-slash.sml index b1ab743..4999870 100644 --- a/fonts/backward-slash.sml +++ b/fonts/backward-slash.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/caret.sml b/fonts/caret.sml index 8c91924..f6fd855 100644 --- a/fonts/caret.sml +++ b/fonts/caret.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/colon.sml b/fonts/colon.sml index 728fb86..a2d8e88 100644 --- a/fonts/colon.sml +++ b/fonts/colon.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/comma.sml b/fonts/comma.sml index 158e474..d4a0eba 100644 --- a/fonts/comma.sml +++ b/fonts/comma.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/cozette-ascii.sml b/fonts/cozette-ascii.sml index be85e29..a8122ce 100644 --- a/fonts/cozette-ascii.sml +++ b/fonts/cozette-ascii.sml @@ -255,6 +255,6 @@ struct let val chrFun = Vector.sub (asciiTable, Char.ord chr) in - chrFun (posX, posY, scale, windowWidth, windowHeight) + chrFun (posX, posY, scale, windowWidth, windowHeight, r, g, b) end end diff --git a/fonts/dollar.sml b/fonts/dollar.sml index 78c70e5..1774da6 100644 --- a/fonts/dollar.sml +++ b/fonts/dollar.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,244 +14,148 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/equals.sml b/fonts/equals.sml index 7b37c67..4b37166 100644 --- a/fonts/equals.sml +++ b/fonts/equals.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/exclamation_mark.sml b/fonts/exclamation_mark.sml index a3aeb11..aa82dbe 100644 --- a/fonts/exclamation_mark.sml +++ b/fonts/exclamation_mark.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/forward-slash.sml b/fonts/forward-slash.sml index 3d4a1b6..da91591 100644 --- a/fonts/forward-slash.sml +++ b/fonts/forward-slash.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/left-angled-bracket.sml b/fonts/left-angled-bracket.sml index 32f632f..92c03ec 100644 --- a/fonts/left-angled-bracket.sml +++ b/fonts/left-angled-bracket.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/left-brace.sml b/fonts/left-brace.sml index 1db5ca3..a07f9e7 100644 --- a/fonts/left-brace.sml +++ b/fonts/left-brace.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/left-bracket.sml b/fonts/left-bracket.sml index df2d24c..ca1736c 100644 --- a/fonts/left-bracket.sml +++ b/fonts/left-bracket.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/left-paren.sml b/fonts/left-paren.sml index 5d17b92..92790bf 100644 --- a/fonts/left-paren.sml +++ b/fonts/left-paren.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-a.sml b/fonts/lower-case-a.sml index 78be494..a58c3c1 100644 --- a/fonts/lower-case-a.sml +++ b/fonts/lower-case-a.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-b.sml b/fonts/lower-case-b.sml index 16150cd..3833aaa 100644 --- a/fonts/lower-case-b.sml +++ b/fonts/lower-case-b.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-c.sml b/fonts/lower-case-c.sml index 4042e89..db90b2e 100644 --- a/fonts/lower-case-c.sml +++ b/fonts/lower-case-c.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-d.sml b/fonts/lower-case-d.sml index 7863e2e..226c900 100644 --- a/fonts/lower-case-d.sml +++ b/fonts/lower-case-d.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-e.sml b/fonts/lower-case-e.sml index 9b0a022..ac6c989 100644 --- a/fonts/lower-case-e.sml +++ b/fonts/lower-case-e.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-f.sml b/fonts/lower-case-f.sml index d2d7880..c4c7e39 100644 --- a/fonts/lower-case-f.sml +++ b/fonts/lower-case-f.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-g.sml b/fonts/lower-case-g.sml index 964dd36..c1095b1 100644 --- a/fonts/lower-case-g.sml +++ b/fonts/lower-case-g.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-h.sml b/fonts/lower-case-h.sml index 6407538..85a39bd 100644 --- a/fonts/lower-case-h.sml +++ b/fonts/lower-case-h.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-i.sml b/fonts/lower-case-i.sml index a331b7b..dfc0476 100644 --- a/fonts/lower-case-i.sml +++ b/fonts/lower-case-i.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-j.sml b/fonts/lower-case-j.sml index 187543f..dc7304f 100644 --- a/fonts/lower-case-j.sml +++ b/fonts/lower-case-j.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-k.sml b/fonts/lower-case-k.sml index d74ffbb..eb6ecc7 100644 --- a/fonts/lower-case-k.sml +++ b/fonts/lower-case-k.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-l.sml b/fonts/lower-case-l.sml index b9ba805..cba5b68 100644 --- a/fonts/lower-case-l.sml +++ b/fonts/lower-case-l.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-m.sml b/fonts/lower-case-m.sml index 700c78a..3e659d0 100644 --- a/fonts/lower-case-m.sml +++ b/fonts/lower-case-m.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-n.sml b/fonts/lower-case-n.sml index 9c9fc96..88c7e7a 100644 --- a/fonts/lower-case-n.sml +++ b/fonts/lower-case-n.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-o.sml b/fonts/lower-case-o.sml index ff49e3f..8e95e6b 100644 --- a/fonts/lower-case-o.sml +++ b/fonts/lower-case-o.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-p.sml b/fonts/lower-case-p.sml index d90a5cb..6dbe913 100644 --- a/fonts/lower-case-p.sml +++ b/fonts/lower-case-p.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-q.sml b/fonts/lower-case-q.sml index 0523bcc..3c7af32 100644 --- a/fonts/lower-case-q.sml +++ b/fonts/lower-case-q.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-r.sml b/fonts/lower-case-r.sml index 1a0841d..c25dc97 100644 --- a/fonts/lower-case-r.sml +++ b/fonts/lower-case-r.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-s.sml b/fonts/lower-case-s.sml index 8858742..103a576 100644 --- a/fonts/lower-case-s.sml +++ b/fonts/lower-case-s.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-t.sml b/fonts/lower-case-t.sml index 665b6bf..e5fa4d2 100644 --- a/fonts/lower-case-t.sml +++ b/fonts/lower-case-t.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-u.sml b/fonts/lower-case-u.sml index 4a8f892..a36dec1 100644 --- a/fonts/lower-case-u.sml +++ b/fonts/lower-case-u.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-v.sml b/fonts/lower-case-v.sml index 4073b6c..c77a36c 100644 --- a/fonts/lower-case-v.sml +++ b/fonts/lower-case-v.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-w.sml b/fonts/lower-case-w.sml index 5b4bc6e..665eda5 100644 --- a/fonts/lower-case-w.sml +++ b/fonts/lower-case-w.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-x.sml b/fonts/lower-case-x.sml index 1e96496..645270a 100644 --- a/fonts/lower-case-x.sml +++ b/fonts/lower-case-x.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,274 +14,166 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-y.sml b/fonts/lower-case-y.sml index 20d64e0..cbe269d 100644 --- a/fonts/lower-case-y.sml +++ b/fonts/lower-case-y.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/lower-case-z.sml b/fonts/lower-case-z.sml index d846b9d..22414af 100644 --- a/fonts/lower-case-z.sml +++ b/fonts/lower-case-z.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/question-mark.sml b/fonts/question-mark.sml index 38f37fb..592f74b 100644 --- a/fonts/question-mark.sml +++ b/fonts/question-mark.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/quotes-double.sml b/fonts/quotes-double.sml index e1829b3..36f67d4 100644 --- a/fonts/quotes-double.sml +++ b/fonts/quotes-double.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/quotes-single.sml b/fonts/quotes-single.sml index 020cfef..d4f01fb 100644 --- a/fonts/quotes-single.sml +++ b/fonts/quotes-single.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,34 +14,22 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/right-angled-bracket.sml b/fonts/right-angled-bracket.sml index ebc78bd..8b6452c 100644 --- a/fonts/right-angled-bracket.sml +++ b/fonts/right-angled-bracket.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/right-brace.sml b/fonts/right-brace.sml index 73917fc..2e0b01e 100644 --- a/fonts/right-brace.sml +++ b/fonts/right-brace.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/right-bracket.sml b/fonts/right-bracket.sml index 7c5f624..a7b379e 100644 --- a/fonts/right-bracket.sml +++ b/fonts/right-bracket.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/right-paren.sml b/fonts/right-paren.sml index 69efa16..a474829 100644 --- a/fonts/right-paren.sml +++ b/fonts/right-paren.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/semicolon.sml b/fonts/semicolon.sml index 2d445c7..bed5383 100644 --- a/fonts/semicolon.sml +++ b/fonts/semicolon.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/underscore.sml b/fonts/underscore.sml index d0f228c..e4138df 100644 --- a/fonts/underscore.sml +++ b/fonts/underscore.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,34 +14,22 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/unknown.sml b/fonts/unknown.sml index f133a14..317db59 100644 --- a/fonts/unknown.sml +++ b/fonts/unknown.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 6.000000000000000, scale, halfWidth), yToNdc (yOffset, 0.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-a.sml b/fonts/upper-case-a.sml index f343d2f..e1114a9 100644 --- a/fonts/upper-case-a.sml +++ b/fonts/upper-case-a.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-b.sml b/fonts/upper-case-b.sml index 9f5ef7b..f6a5d3e 100644 --- a/fonts/upper-case-b.sml +++ b/fonts/upper-case-b.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-c.sml b/fonts/upper-case-c.sml index bd6186f..43f26f9 100644 --- a/fonts/upper-case-c.sml +++ b/fonts/upper-case-c.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-d.sml b/fonts/upper-case-d.sml index e189e43..89d6360 100644 --- a/fonts/upper-case-d.sml +++ b/fonts/upper-case-d.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-e.sml b/fonts/upper-case-e.sml index 50b0da8..c6a8966 100644 --- a/fonts/upper-case-e.sml +++ b/fonts/upper-case-e.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-f.sml b/fonts/upper-case-f.sml index b44fcf5..5484c2a 100644 --- a/fonts/upper-case-f.sml +++ b/fonts/upper-case-f.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-g.sml b/fonts/upper-case-g.sml index 2c43b58..f0d9183 100644 --- a/fonts/upper-case-g.sml +++ b/fonts/upper-case-g.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-h.sml b/fonts/upper-case-h.sml index 797fac6..7dffb14 100644 --- a/fonts/upper-case-h.sml +++ b/fonts/upper-case-h.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-i.sml b/fonts/upper-case-i.sml index 73c05c0..8d9cf18 100644 --- a/fonts/upper-case-i.sml +++ b/fonts/upper-case-i.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-j.sml b/fonts/upper-case-j.sml index 94f6188..d4ae480 100644 --- a/fonts/upper-case-j.sml +++ b/fonts/upper-case-j.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-k.sml b/fonts/upper-case-k.sml index 1e9a762..b794e66 100644 --- a/fonts/upper-case-k.sml +++ b/fonts/upper-case-k.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-l.sml b/fonts/upper-case-l.sml index b27222a..798e7a9 100644 --- a/fonts/upper-case-l.sml +++ b/fonts/upper-case-l.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-m.sml b/fonts/upper-case-m.sml index 9a41efa..cd42c68 100644 --- a/fonts/upper-case-m.sml +++ b/fonts/upper-case-m.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-n.sml b/fonts/upper-case-n.sml index 663cdb2..340ce20 100644 --- a/fonts/upper-case-n.sml +++ b/fonts/upper-case-n.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-o.sml b/fonts/upper-case-o.sml index 45a394c..bc9a66f 100644 --- a/fonts/upper-case-o.sml +++ b/fonts/upper-case-o.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-p.sml b/fonts/upper-case-p.sml index 329a43c..3beb047 100644 --- a/fonts/upper-case-p.sml +++ b/fonts/upper-case-p.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,124 +14,76 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-q.sml b/fonts/upper-case-q.sml index ab8179d..b30bfa5 100644 --- a/fonts/upper-case-q.sml +++ b/fonts/upper-case-q.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-r.sml b/fonts/upper-case-r.sml index 280f73b..efe3079 100644 --- a/fonts/upper-case-r.sml +++ b/fonts/upper-case-r.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-s.sml b/fonts/upper-case-s.sml index a55b87c..3968d35 100644 --- a/fonts/upper-case-s.sml +++ b/fonts/upper-case-s.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,214 +14,130 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-t.sml b/fonts/upper-case-t.sml index f573958..f449944 100644 --- a/fonts/upper-case-t.sml +++ b/fonts/upper-case-t.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-u.sml b/fonts/upper-case-u.sml index e0bf366..9728c26 100644 --- a/fonts/upper-case-u.sml +++ b/fonts/upper-case-u.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,94 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-v.sml b/fonts/upper-case-v.sml index d266c79..0eea4dc 100644 --- a/fonts/upper-case-v.sml +++ b/fonts/upper-case-v.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-w.sml b/fonts/upper-case-w.sml index 276153e..bf7bc44 100644 --- a/fonts/upper-case-w.sml +++ b/fonts/upper-case-w.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-x.sml b/fonts/upper-case-x.sml index f67e3c8..6c29f31 100644 --- a/fonts/upper-case-x.sml +++ b/fonts/upper-case-x.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,274 +14,166 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-y.sml b/fonts/upper-case-y.sml index 4ef2702..fd17e42 100644 --- a/fonts/upper-case-y.sml +++ b/fonts/upper-case-y.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,154 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end diff --git a/fonts/upper-case-z.sml b/fonts/upper-case-z.sml index fe855f3..3fccab6 100644 --- a/fonts/upper-case-z.sml +++ b/fonts/upper-case-z.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,184 +14,112 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end From 5ca2806c0171f5a01fdcb77cbe21682027272d5c Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 02:53:35 +0100 Subject: [PATCH 07/16] make some adjustments to: lower-case-j, lower-case-t and upper-case-x --- fonts/lower-case-j.sml | 140 ++++++++++++++++++++++------------------ fonts/lower-case-t.sml | 60 ++++++++--------- fonts/upper-case-x.sml | 142 ++++++++++++++++++++--------------------- 3 files changed, 180 insertions(+), 162 deletions(-) diff --git a/fonts/lower-case-j.sml b/fonts/lower-case-j.sml index dc7304f..fd23fc9 100644 --- a/fonts/lower-case-j.sml +++ b/fonts/lower-case-j.sml @@ -13,77 +13,95 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b +r, g, b., +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b., +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b. ] end end diff --git a/fonts/lower-case-t.sml b/fonts/lower-case-t.sml index e5fa4d2..627784d 100644 --- a/fonts/lower-case-t.sml +++ b/fonts/lower-case-t.sml @@ -13,59 +13,59 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b., xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +r, g, b., +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +r, g, b., xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +r, g, b., +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +r, g, b., +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b +r, g, b. ] end end diff --git a/fonts/upper-case-x.sml b/fonts/upper-case-x.sml index 6c29f31..1196f75 100644 --- a/fonts/upper-case-x.sml +++ b/fonts/upper-case-x.sml @@ -6,30 +6,30 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = + fun lerp (xOffset, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, @@ -37,76 +37,67 @@ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), @@ -115,64 +106,73 @@ xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b ] end From 2d43c6917837cdb09f62461486b68bd432b188a1 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 02:56:25 +0100 Subject: [PATCH 08/16] fix compiler errors (illegal tokens in two files) introduced in previous commit --- fonts/lower-case-j.sml | 60 +++++++++++++++++++++--------------------- fonts/lower-case-t.sml | 36 ++++++++++++------------- fonts/upper-case-x.sml | 2 +- 3 files changed, 49 insertions(+), 49 deletions(-) diff --git a/fonts/lower-case-j.sml b/fonts/lower-case-j.sml index fd23fc9..0731d47 100644 --- a/fonts/lower-case-j.sml +++ b/fonts/lower-case-j.sml @@ -14,94 +14,94 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 11.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 1.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b. +r, g, b ] end end diff --git a/fonts/lower-case-t.sml b/fonts/lower-case-t.sml index 627784d..22ce906 100644 --- a/fonts/lower-case-t.sml +++ b/fonts/lower-case-t.sml @@ -14,58 +14,58 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b., +r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b. +r, g, b ] end end diff --git a/fonts/upper-case-x.sml b/fonts/upper-case-x.sml index 1196f75..2db1343 100644 --- a/fonts/upper-case-x.sml +++ b/fonts/upper-case-x.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset, yOffset, scale, windowWidth, windowHeight, r, g, b) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 From 7561573370be99e880f7ab7a42b5e92f9e2e4ab7 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 03:14:47 +0100 Subject: [PATCH 09/16] move left and right angle brackets up by 1 pixel --- fonts/left-angled-bracket.sml | 140 +++++++++++++++++----------------- 1 file changed, 71 insertions(+), 69 deletions(-) diff --git a/fonts/left-angled-bracket.sml b/fonts/left-angled-bracket.sml index 92c03ec..5a5e5c2 100644 --- a/fonts/left-angled-bracket.sml +++ b/fonts/left-angled-bracket.sml @@ -8,50 +8,25 @@ struct fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let + val windowWidth = Real32.fromInt windowWidth val halfWidth = windowWidth / 2.0 + val windowHeight = Real32.fromInt windowHeight val halfHeight = windowHeight / 2.0 in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), @@ -61,82 +36,109 @@ xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b ] end From b7bc847e342f727298d5d7c7a633d42630e12638 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 03:19:59 +0100 Subject: [PATCH 10/16] amend compile/type errors introduced in previous commit --- fonts/left-angled-bracket.sml | 2 - fonts/right-angled-bracket.sml | 160 ++++++++++++++++----------------- 2 files changed, 80 insertions(+), 82 deletions(-) diff --git a/fonts/left-angled-bracket.sml b/fonts/left-angled-bracket.sml index 5a5e5c2..97e98e2 100644 --- a/fonts/left-angled-bracket.sml +++ b/fonts/left-angled-bracket.sml @@ -8,9 +8,7 @@ struct fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let - val windowWidth = Real32.fromInt windowWidth val halfWidth = windowWidth / 2.0 - val windowHeight = Real32.fromInt windowHeight val halfHeight = windowHeight / 2.0 in #[ diff --git a/fonts/right-angled-bracket.sml b/fonts/right-angled-bracket.sml index 8b6452c..c3f97a0 100644 --- a/fonts/right-angled-bracket.sml +++ b/fonts/right-angled-bracket.sml @@ -13,108 +13,117 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 4.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), @@ -124,19 +133,10 @@ xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b ] end From d5231ebe36b6b8b1ad9e433a0cf232e439c67f81 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 03:28:45 +0100 Subject: [PATCH 11/16] bring other brackets (left/right-brace, left/right-bracket, left/right-paren) up by 1 pixel --- fonts/left-brace.sml | 96 +++++++++++++++++----------------- fonts/left-bracket.sml | 86 +++++++++++++++--------------- fonts/left-paren.sml | 94 ++++++++++++++++----------------- fonts/right-brace.sml | 112 ++++++++++++++++++++-------------------- fonts/right-bracket.sml | 56 ++++++++++---------- fonts/right-paren.sml | 84 +++++++++++++++--------------- 6 files changed, 264 insertions(+), 264 deletions(-) diff --git a/fonts/left-brace.sml b/fonts/left-brace.sml index a07f9e7..269eca1 100644 --- a/fonts/left-brace.sml +++ b/fonts/left-brace.sml @@ -13,94 +13,94 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b ] end diff --git a/fonts/left-bracket.sml b/fonts/left-bracket.sml index ca1736c..15e3ccc 100644 --- a/fonts/left-bracket.sml +++ b/fonts/left-bracket.sml @@ -13,58 +13,58 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b ] end diff --git a/fonts/left-paren.sml b/fonts/left-paren.sml index 92790bf..bc7b109 100644 --- a/fonts/left-paren.sml +++ b/fonts/left-paren.sml @@ -13,94 +13,94 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b ] end diff --git a/fonts/right-brace.sml b/fonts/right-brace.sml index 2e0b01e..afc8176 100644 --- a/fonts/right-brace.sml +++ b/fonts/right-brace.sml @@ -13,82 +13,73 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), @@ -97,10 +88,19 @@ xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b ] end diff --git a/fonts/right-bracket.sml b/fonts/right-bracket.sml index a7b379e..b8167a0 100644 --- a/fonts/right-bracket.sml +++ b/fonts/right-bracket.sml @@ -13,58 +13,58 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b ] end diff --git a/fonts/right-paren.sml b/fonts/right-paren.sml index a474829..c3b11e9 100644 --- a/fonts/right-paren.sml +++ b/fonts/right-paren.sml @@ -13,94 +13,94 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 2.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 12.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b ] end From daf79e8291289e2c0e1c4f9098d794b1224072f4 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 03:33:08 +0100 Subject: [PATCH 12/16] bring asterisk up by 1 pixel --- fonts/asterisk.sml | 126 ++++++++++++++++++++++----------------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/fonts/asterisk.sml b/fonts/asterisk.sml index b94195a..c6a29c1 100644 --- a/fonts/asterisk.sml +++ b/fonts/asterisk.sml @@ -13,82 +13,73 @@ struct in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 1.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 2.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), @@ -97,28 +88,37 @@ xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 3.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), -yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), r, g, b ] end From 8f164faabe5aa8035c3f5824f0eefa4aba9c4115 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 1 Sep 2025 23:05:39 +0100 Subject: [PATCH 13/16] move equals sign up by 1 pixel, for better alignment with the other characters --- fonts/equals.sml | 76 +++++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 26 deletions(-) diff --git a/fonts/equals.sml b/fonts/equals.sml index 4b37166..022f8d3 100644 --- a/fonts/equals.sml +++ b/fonts/equals.sml @@ -6,48 +6,72 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 in #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -r, g, b, +0.000000000000000, +0.000000000000000, +0.000000000000000, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -r, g, b, +0.000000000000000, +0.000000000000000, +0.000000000000000, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), -yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b, -xToNdc (xOffset, 5.000000000000000, scale, halfWidth), -yToNdc (yOffset, 9.000000000000000, scale, halfHeight), -r, g, b, +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -r, g, b +0.000000000000000, +0.000000000000000, +0.000000000000000, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +0.000000000000000, +0.000000000000000, +0.000000000000000 ] end end From 60cf6a580f5f1a6e609a73a39ee4a3b847b41c20 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 1 Sep 2025 23:07:45 +0100 Subject: [PATCH 14/16] add r, g, b arguments to equals function (forgot to do this in previous commit) --- fonts/equals.sml | 50 +++++++++++++----------------------------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/fonts/equals.sml b/fonts/equals.sml index 022f8d3..8d5a749 100644 --- a/fonts/equals.sml +++ b/fonts/equals.sml @@ -6,7 +6,7 @@ struct fun yToNdc (yOffset, ypos, scale, halfHeight) = ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) - fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) = + fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight, r, g, b) = let val halfWidth = windowWidth / 2.0 val halfHeight = windowHeight / 2.0 @@ -14,64 +14,40 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 6.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 8.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000, +r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), -0.000000000000000, -0.000000000000000, -0.000000000000000 +r, g, b ] end end From c88b8c0332cf52b2127e1db14964caab8cbd47f1 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Wed, 10 Sep 2025 12:26:15 +0100 Subject: [PATCH 15/16] add another folder which contains fonts with z-index arguments. The z indes can be used for depth testing/letting a single vertex vector contain different layers. --- fonts-with-z-index/ampersand.sml | 257 +++++++++++++++ fonts-with-z-index/ascii-at.sml | 185 +++++++++++ fonts-with-z-index/ascii-dot.sml | 42 +++ fonts-with-z-index/ascii-eight.sml | 185 +++++++++++ fonts-with-z-index/ascii-five.sml | 162 ++++++++++ fonts-with-z-index/ascii-four.sml | 162 ++++++++++ fonts-with-z-index/ascii-hash.sml | 114 +++++++ fonts-with-z-index/ascii-minus.sml | 42 +++ fonts-with-z-index/ascii-nine.sml | 162 ++++++++++ fonts-with-z-index/ascii-one.sml | 114 +++++++ fonts-with-z-index/ascii-percent.sml | 330 ++++++++++++++++++++ fonts-with-z-index/ascii-pipe.sml | 42 +++ fonts-with-z-index/ascii-plus.sml | 66 ++++ fonts-with-z-index/ascii-seven.sml | 138 ++++++++ fonts-with-z-index/ascii-six.sml | 162 ++++++++++ fonts-with-z-index/ascii-space.sml | 5 + fonts-with-z-index/ascii-three.sml | 186 +++++++++++ fonts-with-z-index/ascii-tilde.sml | 138 ++++++++ fonts-with-z-index/ascii-two.sml | 210 +++++++++++++ fonts-with-z-index/ascii-zero.sml | 107 +++++++ fonts-with-z-index/asterisk.sml | 162 ++++++++++ fonts-with-z-index/backtick.sml | 66 ++++ fonts-with-z-index/backward-slash.sml | 138 ++++++++ fonts-with-z-index/caret.sml | 138 ++++++++ fonts-with-z-index/colon.sml | 66 ++++ fonts-with-z-index/comma.sml | 90 ++++++ fonts-with-z-index/cozette-ascii.mlb | 105 +++++++ fonts-with-z-index/cozette-ascii.sml | 260 +++++++++++++++ fonts-with-z-index/dollar.sml | 210 +++++++++++++ fonts-with-z-index/equals.sml | 66 ++++ fonts-with-z-index/exclamation_mark.sml | 66 ++++ fonts-with-z-index/forward-slash.sml | 138 ++++++++ fonts-with-z-index/left-angled-bracket.sml | 186 +++++++++++ fonts-with-z-index/left-brace.sml | 138 ++++++++ fonts-with-z-index/left-bracket.sml | 90 ++++++ fonts-with-z-index/left-paren.sml | 138 ++++++++ fonts-with-z-index/lower-case-a.sml | 138 ++++++++ fonts-with-z-index/lower-case-b.sml | 114 +++++++ fonts-with-z-index/lower-case-c.sml | 138 ++++++++ fonts-with-z-index/lower-case-d.sml | 114 +++++++ fonts-with-z-index/lower-case-e.sml | 162 ++++++++++ fonts-with-z-index/lower-case-f.sml | 90 ++++++ fonts-with-z-index/lower-case-g.sml | 138 ++++++++ fonts-with-z-index/lower-case-h.sml | 90 ++++++ fonts-with-z-index/lower-case-i.sml | 114 +++++++ fonts-with-z-index/lower-case-j.sml | 138 ++++++++ fonts-with-z-index/lower-case-k.sml | 186 +++++++++++ fonts-with-z-index/lower-case-l.sml | 90 ++++++ fonts-with-z-index/lower-case-m.sml | 138 ++++++++ fonts-with-z-index/lower-case-n.sml | 90 ++++++ fonts-with-z-index/lower-case-o.sml | 114 +++++++ fonts-with-z-index/lower-case-p.sml | 114 +++++++ fonts-with-z-index/lower-case-q.sml | 138 ++++++++ fonts-with-z-index/lower-case-r.sml | 90 ++++++ fonts-with-z-index/lower-case-s.sml | 138 ++++++++ fonts-with-z-index/lower-case-t.sml | 90 ++++++ fonts-with-z-index/lower-case-u.sml | 90 ++++++ fonts-with-z-index/lower-case-v.sml | 138 ++++++++ fonts-with-z-index/lower-case-w.sml | 138 ++++++++ fonts-with-z-index/lower-case-x.sml | 234 ++++++++++++++ fonts-with-z-index/lower-case-y.sml | 114 +++++++ fonts-with-z-index/lower-case-z.sml | 162 ++++++++++ fonts-with-z-index/question-mark.sml | 162 ++++++++++ fonts-with-z-index/quotes-double.sml | 66 ++++ fonts-with-z-index/quotes-single.sml | 42 +++ fonts-with-z-index/right-angled-bracket.sml | 186 +++++++++++ fonts-with-z-index/right-brace.sml | 138 ++++++++ fonts-with-z-index/right-bracket.sml | 90 ++++++ fonts-with-z-index/right-paren.sml | 138 ++++++++ fonts-with-z-index/semicolon.sml | 114 +++++++ fonts-with-z-index/underscore.sml | 42 +++ fonts-with-z-index/unknown.sml | 114 +++++++ fonts-with-z-index/upper-case-a.sml | 114 +++++++ fonts-with-z-index/upper-case-b.sml | 162 ++++++++++ fonts-with-z-index/upper-case-c.sml | 138 ++++++++ fonts-with-z-index/upper-case-d.sml | 162 ++++++++++ fonts-with-z-index/upper-case-e.sml | 114 +++++++ fonts-with-z-index/upper-case-f.sml | 90 ++++++ fonts-with-z-index/upper-case-g.sml | 162 ++++++++++ fonts-with-z-index/upper-case-h.sml | 90 ++++++ fonts-with-z-index/upper-case-i.sml | 90 ++++++ fonts-with-z-index/upper-case-j.sml | 114 +++++++ fonts-with-z-index/upper-case-k.sml | 186 +++++++++++ fonts-with-z-index/upper-case-l.sml | 66 ++++ fonts-with-z-index/upper-case-m.sml | 138 ++++++++ fonts-with-z-index/upper-case-n.sml | 138 ++++++++ fonts-with-z-index/upper-case-o.sml | 114 +++++++ fonts-with-z-index/upper-case-p.sml | 114 +++++++ fonts-with-z-index/upper-case-q.sml | 162 ++++++++++ fonts-with-z-index/upper-case-r.sml | 162 ++++++++++ fonts-with-z-index/upper-case-s.sml | 186 +++++++++++ fonts-with-z-index/upper-case-t.sml | 66 ++++ fonts-with-z-index/upper-case-u.sml | 90 ++++++ fonts-with-z-index/upper-case-v.sml | 138 ++++++++ fonts-with-z-index/upper-case-w.sml | 138 ++++++++ fonts-with-z-index/upper-case-x.sml | 234 ++++++++++++++ fonts-with-z-index/upper-case-y.sml | 138 ++++++++ fonts-with-z-index/upper-case-z.sml | 162 ++++++++++ 98 files changed, 12726 insertions(+) create mode 100644 fonts-with-z-index/ampersand.sml create mode 100644 fonts-with-z-index/ascii-at.sml create mode 100644 fonts-with-z-index/ascii-dot.sml create mode 100644 fonts-with-z-index/ascii-eight.sml create mode 100644 fonts-with-z-index/ascii-five.sml create mode 100644 fonts-with-z-index/ascii-four.sml create mode 100644 fonts-with-z-index/ascii-hash.sml create mode 100644 fonts-with-z-index/ascii-minus.sml create mode 100644 fonts-with-z-index/ascii-nine.sml create mode 100644 fonts-with-z-index/ascii-one.sml create mode 100644 fonts-with-z-index/ascii-percent.sml create mode 100644 fonts-with-z-index/ascii-pipe.sml create mode 100644 fonts-with-z-index/ascii-plus.sml create mode 100644 fonts-with-z-index/ascii-seven.sml create mode 100644 fonts-with-z-index/ascii-six.sml create mode 100644 fonts-with-z-index/ascii-space.sml create mode 100644 fonts-with-z-index/ascii-three.sml create mode 100644 fonts-with-z-index/ascii-tilde.sml create mode 100644 fonts-with-z-index/ascii-two.sml create mode 100644 fonts-with-z-index/ascii-zero.sml create mode 100644 fonts-with-z-index/asterisk.sml create mode 100644 fonts-with-z-index/backtick.sml create mode 100644 fonts-with-z-index/backward-slash.sml create mode 100644 fonts-with-z-index/caret.sml create mode 100644 fonts-with-z-index/colon.sml create mode 100644 fonts-with-z-index/comma.sml create mode 100644 fonts-with-z-index/cozette-ascii.mlb create mode 100644 fonts-with-z-index/cozette-ascii.sml create mode 100644 fonts-with-z-index/dollar.sml create mode 100644 fonts-with-z-index/equals.sml create mode 100644 fonts-with-z-index/exclamation_mark.sml create mode 100644 fonts-with-z-index/forward-slash.sml create mode 100644 fonts-with-z-index/left-angled-bracket.sml create mode 100644 fonts-with-z-index/left-brace.sml create mode 100644 fonts-with-z-index/left-bracket.sml create mode 100644 fonts-with-z-index/left-paren.sml create mode 100644 fonts-with-z-index/lower-case-a.sml create mode 100644 fonts-with-z-index/lower-case-b.sml create mode 100644 fonts-with-z-index/lower-case-c.sml create mode 100644 fonts-with-z-index/lower-case-d.sml create mode 100644 fonts-with-z-index/lower-case-e.sml create mode 100644 fonts-with-z-index/lower-case-f.sml create mode 100644 fonts-with-z-index/lower-case-g.sml create mode 100644 fonts-with-z-index/lower-case-h.sml create mode 100644 fonts-with-z-index/lower-case-i.sml create mode 100644 fonts-with-z-index/lower-case-j.sml create mode 100644 fonts-with-z-index/lower-case-k.sml create mode 100644 fonts-with-z-index/lower-case-l.sml create mode 100644 fonts-with-z-index/lower-case-m.sml create mode 100644 fonts-with-z-index/lower-case-n.sml create mode 100644 fonts-with-z-index/lower-case-o.sml create mode 100644 fonts-with-z-index/lower-case-p.sml create mode 100644 fonts-with-z-index/lower-case-q.sml create mode 100644 fonts-with-z-index/lower-case-r.sml create mode 100644 fonts-with-z-index/lower-case-s.sml create mode 100644 fonts-with-z-index/lower-case-t.sml create mode 100644 fonts-with-z-index/lower-case-u.sml create mode 100644 fonts-with-z-index/lower-case-v.sml create mode 100644 fonts-with-z-index/lower-case-w.sml create mode 100644 fonts-with-z-index/lower-case-x.sml create mode 100644 fonts-with-z-index/lower-case-y.sml create mode 100644 fonts-with-z-index/lower-case-z.sml create mode 100644 fonts-with-z-index/question-mark.sml create mode 100644 fonts-with-z-index/quotes-double.sml create mode 100644 fonts-with-z-index/quotes-single.sml create mode 100644 fonts-with-z-index/right-angled-bracket.sml create mode 100644 fonts-with-z-index/right-brace.sml create mode 100644 fonts-with-z-index/right-bracket.sml create mode 100644 fonts-with-z-index/right-paren.sml create mode 100644 fonts-with-z-index/semicolon.sml create mode 100644 fonts-with-z-index/underscore.sml create mode 100644 fonts-with-z-index/unknown.sml create mode 100644 fonts-with-z-index/upper-case-a.sml create mode 100644 fonts-with-z-index/upper-case-b.sml create mode 100644 fonts-with-z-index/upper-case-c.sml create mode 100644 fonts-with-z-index/upper-case-d.sml create mode 100644 fonts-with-z-index/upper-case-e.sml create mode 100644 fonts-with-z-index/upper-case-f.sml create mode 100644 fonts-with-z-index/upper-case-g.sml create mode 100644 fonts-with-z-index/upper-case-h.sml create mode 100644 fonts-with-z-index/upper-case-i.sml create mode 100644 fonts-with-z-index/upper-case-j.sml create mode 100644 fonts-with-z-index/upper-case-k.sml create mode 100644 fonts-with-z-index/upper-case-l.sml create mode 100644 fonts-with-z-index/upper-case-m.sml create mode 100644 fonts-with-z-index/upper-case-n.sml create mode 100644 fonts-with-z-index/upper-case-o.sml create mode 100644 fonts-with-z-index/upper-case-p.sml create mode 100644 fonts-with-z-index/upper-case-q.sml create mode 100644 fonts-with-z-index/upper-case-r.sml create mode 100644 fonts-with-z-index/upper-case-s.sml create mode 100644 fonts-with-z-index/upper-case-t.sml create mode 100644 fonts-with-z-index/upper-case-u.sml create mode 100644 fonts-with-z-index/upper-case-v.sml create mode 100644 fonts-with-z-index/upper-case-w.sml create mode 100644 fonts-with-z-index/upper-case-x.sml create mode 100644 fonts-with-z-index/upper-case-y.sml create mode 100644 fonts-with-z-index/upper-case-z.sml diff --git a/fonts-with-z-index/ampersand.sml b/fonts-with-z-index/ampersand.sml new file mode 100644 index 0000000..962c6ac --- /dev/null +++ b/fonts-with-z-index/ampersand.sml @@ -0,0 +1,257 @@ +structure Ampersand = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-at.sml b/fonts-with-z-index/ascii-at.sml new file mode 100644 index 0000000..0727bb6 --- /dev/null +++ b/fonts-with-z-index/ascii-at.sml @@ -0,0 +1,185 @@ +structure AsciiAt = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-dot.sml b/fonts-with-z-index/ascii-dot.sml new file mode 100644 index 0000000..0cfabb3 --- /dev/null +++ b/fonts-with-z-index/ascii-dot.sml @@ -0,0 +1,42 @@ +structure AsciiDot = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-eight.sml b/fonts-with-z-index/ascii-eight.sml new file mode 100644 index 0000000..c478ad3 --- /dev/null +++ b/fonts-with-z-index/ascii-eight.sml @@ -0,0 +1,185 @@ +structure AsciiEight = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-five.sml b/fonts-with-z-index/ascii-five.sml new file mode 100644 index 0000000..ccc86af --- /dev/null +++ b/fonts-with-z-index/ascii-five.sml @@ -0,0 +1,162 @@ +structure AsciiFive = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-four.sml b/fonts-with-z-index/ascii-four.sml new file mode 100644 index 0000000..07d8af3 --- /dev/null +++ b/fonts-with-z-index/ascii-four.sml @@ -0,0 +1,162 @@ +structure AsciiFour = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-hash.sml b/fonts-with-z-index/ascii-hash.sml new file mode 100644 index 0000000..9c1f11b --- /dev/null +++ b/fonts-with-z-index/ascii-hash.sml @@ -0,0 +1,114 @@ +structure AsciiHash = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-minus.sml b/fonts-with-z-index/ascii-minus.sml new file mode 100644 index 0000000..8a5bf84 --- /dev/null +++ b/fonts-with-z-index/ascii-minus.sml @@ -0,0 +1,42 @@ +structure AsciiMinus = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-nine.sml b/fonts-with-z-index/ascii-nine.sml new file mode 100644 index 0000000..8799d49 --- /dev/null +++ b/fonts-with-z-index/ascii-nine.sml @@ -0,0 +1,162 @@ +structure AsciiNine = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-one.sml b/fonts-with-z-index/ascii-one.sml new file mode 100644 index 0000000..22add3a --- /dev/null +++ b/fonts-with-z-index/ascii-one.sml @@ -0,0 +1,114 @@ +structure AsciiOne = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-percent.sml b/fonts-with-z-index/ascii-percent.sml new file mode 100644 index 0000000..fbc9eb0 --- /dev/null +++ b/fonts-with-z-index/ascii-percent.sml @@ -0,0 +1,330 @@ +structure AsciiPercent = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-pipe.sml b/fonts-with-z-index/ascii-pipe.sml new file mode 100644 index 0000000..2401e42 --- /dev/null +++ b/fonts-with-z-index/ascii-pipe.sml @@ -0,0 +1,42 @@ +structure AsciiPipe = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-plus.sml b/fonts-with-z-index/ascii-plus.sml new file mode 100644 index 0000000..1c189b5 --- /dev/null +++ b/fonts-with-z-index/ascii-plus.sml @@ -0,0 +1,66 @@ +structure AsciiPlus = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-seven.sml b/fonts-with-z-index/ascii-seven.sml new file mode 100644 index 0000000..5657b16 --- /dev/null +++ b/fonts-with-z-index/ascii-seven.sml @@ -0,0 +1,138 @@ +structure AsciiSeven = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-six.sml b/fonts-with-z-index/ascii-six.sml new file mode 100644 index 0000000..2d77b5b --- /dev/null +++ b/fonts-with-z-index/ascii-six.sml @@ -0,0 +1,162 @@ +structure AsciiSix = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-space.sml b/fonts-with-z-index/ascii-space.sml new file mode 100644 index 0000000..678929b --- /dev/null +++ b/fonts-with-z-index/ascii-space.sml @@ -0,0 +1,5 @@ +structure AsciiSpace = +struct + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) = + #[ ] +end diff --git a/fonts-with-z-index/ascii-three.sml b/fonts-with-z-index/ascii-three.sml new file mode 100644 index 0000000..450e109 --- /dev/null +++ b/fonts-with-z-index/ascii-three.sml @@ -0,0 +1,186 @@ +structure AsciiThree = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-tilde.sml b/fonts-with-z-index/ascii-tilde.sml new file mode 100644 index 0000000..5c5f1c1 --- /dev/null +++ b/fonts-with-z-index/ascii-tilde.sml @@ -0,0 +1,138 @@ +structure AsciiTilde = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-two.sml b/fonts-with-z-index/ascii-two.sml new file mode 100644 index 0000000..96926b9 --- /dev/null +++ b/fonts-with-z-index/ascii-two.sml @@ -0,0 +1,210 @@ +structure AsciiTwo = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/ascii-zero.sml b/fonts-with-z-index/ascii-zero.sml new file mode 100644 index 0000000..d9c0eed --- /dev/null +++ b/fonts-with-z-index/ascii-zero.sml @@ -0,0 +1,107 @@ +structure AsciiZero = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +r, g, b + ] + end +end diff --git a/fonts-with-z-index/asterisk.sml b/fonts-with-z-index/asterisk.sml new file mode 100644 index 0000000..9ef3ce1 --- /dev/null +++ b/fonts-with-z-index/asterisk.sml @@ -0,0 +1,162 @@ +structure Asterisk = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/backtick.sml b/fonts-with-z-index/backtick.sml new file mode 100644 index 0000000..3e9e69f --- /dev/null +++ b/fonts-with-z-index/backtick.sml @@ -0,0 +1,66 @@ +structure Backtick = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/backward-slash.sml b/fonts-with-z-index/backward-slash.sml new file mode 100644 index 0000000..f22b762 --- /dev/null +++ b/fonts-with-z-index/backward-slash.sml @@ -0,0 +1,138 @@ +structure BackwardSlash = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/caret.sml b/fonts-with-z-index/caret.sml new file mode 100644 index 0000000..0a3056c --- /dev/null +++ b/fonts-with-z-index/caret.sml @@ -0,0 +1,138 @@ +structure Caret = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/colon.sml b/fonts-with-z-index/colon.sml new file mode 100644 index 0000000..aa3107f --- /dev/null +++ b/fonts-with-z-index/colon.sml @@ -0,0 +1,66 @@ +structure Colon = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/comma.sml b/fonts-with-z-index/comma.sml new file mode 100644 index 0000000..262537a --- /dev/null +++ b/fonts-with-z-index/comma.sml @@ -0,0 +1,90 @@ +structure Comma = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/cozette-ascii.mlb b/fonts-with-z-index/cozette-ascii.mlb new file mode 100644 index 0000000..bfc9fef --- /dev/null +++ b/fonts-with-z-index/cozette-ascii.mlb @@ -0,0 +1,105 @@ +$(SML_LIB)/basis/basis.mlb +ann + "allowVectorExps true" +in + local + ascii-zero.sml + ascii-one.sml + ascii-two.sml + ascii-three.sml + ascii-four.sml + ascii-five.sml + ascii-six.sml + ascii-seven.sml + ascii-eight.sml + ascii-nine.sml + ascii-space.sml + ampersand.sml + asterisk.sml + ascii-at.sml + backtick.sml + backward-slash.sml + caret.sml + colon.sml + comma.sml + dollar.sml + quotes-double.sml + equals.sml + exclamation_mark.sml + forward-slash.sml + ascii-dot.sml + ascii-hash.sml + left-angled-bracket.sml + left-brace.sml + left-bracket.sml + left-paren.sml + lower-case-a.sml + lower-case-b.sml + lower-case-c.sml + lower-case-d.sml + lower-case-e.sml + lower-case-f.sml + lower-case-g.sml + lower-case-h.sml + lower-case-i.sml + lower-case-j.sml + lower-case-k.sml + lower-case-l.sml + lower-case-m.sml + lower-case-n.sml + lower-case-o.sml + lower-case-p.sml + lower-case-q.sml + lower-case-r.sml + lower-case-s.sml + lower-case-t.sml + lower-case-u.sml + lower-case-v.sml + lower-case-w.sml + lower-case-x.sml + lower-case-y.sml + lower-case-z.sml + ascii-minus.sml + ascii-percent.sml + ascii-pipe.sml + ascii-plus.sml + question-mark.sml + right-angled-bracket.sml + right-brace.sml + right-bracket.sml + right-paren.sml + semicolon.sml + quotes-single.sml + ascii-tilde.sml + underscore.sml + unknown.sml + upper-case-a.sml + upper-case-b.sml + upper-case-c.sml + upper-case-d.sml + upper-case-e.sml + upper-case-f.sml + upper-case-g.sml + upper-case-h.sml + upper-case-i.sml + upper-case-j.sml + upper-case-k.sml + upper-case-l.sml + upper-case-m.sml + upper-case-n.sml + upper-case-o.sml + upper-case-p.sml + upper-case-q.sml + upper-case-r.sml + upper-case-s.sml + upper-case-t.sml + upper-case-u.sml + upper-case-v.sml + upper-case-w.sml + upper-case-x.sml + upper-case-y.sml + upper-case-z.sml + in + cozette-ascii.sml + end +end diff --git a/fonts-with-z-index/cozette-ascii.sml b/fonts-with-z-index/cozette-ascii.sml new file mode 100644 index 0000000..eb145e9 --- /dev/null +++ b/fonts-with-z-index/cozette-ascii.sml @@ -0,0 +1,260 @@ +structure CozetteAscii = +struct + val asciiTable = #[ + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + AsciiSpace.lerp, + ExclamationMark.lerp, + QuotesDouble.lerp, + AsciiHash.lerp, + Dollar.lerp, + AsciiPercent.lerp, + Ampersand.lerp, + QuotesSingle.lerp, + LeftParen.lerp, + RightParen.lerp, + Asterisk.lerp, + AsciiPlus.lerp, + Comma.lerp, + AsciiMinus.lerp, + AsciiDot.lerp, + ForwardSlash.lerp, + AsciiZero.lerp, + AsciiOne.lerp, + AsciiTwo.lerp, + AsciiThree.lerp, + AsciiFour.lerp, + AsciiFive.lerp, + AsciiSix.lerp, + AsciiSeven.lerp, + AsciiEight.lerp, + AsciiNine.lerp, + Colon.lerp, + Semicolon.lerp, + LeftAngledBracket.lerp, + AsciiEquals.lerp, + RightAngledBracket.lerp, + QuestionMark.lerp, + AsciiAt.lerp, + UpperCaseA.lerp, + UpperCaseB.lerp, + UpperCaseC.lerp, + UpperCaseD.lerp, + UpperCaseE.lerp, + UpperCaseF.lerp, + UpperCaseG.lerp, + UpperCaseH.lerp, + UpperCaseI.lerp, + UpperCaseJ.lerp, + UpperCaseK.lerp, + UpperCaseL.lerp, + UpperCaseM.lerp, + UpperCaseN.lerp, + UpperCaseO.lerp, + UpperCaseP.lerp, + UpperCaseQ.lerp, + UpperCaseR.lerp, + UpperCaseS.lerp, + UpperCaseT.lerp, + UpperCaseU.lerp, + UpperCaseV.lerp, + UpperCaseW.lerp, + UpperCaseX.lerp, + UpperCaseY.lerp, + UpperCaseZ.lerp, + LeftBracket.lerp, + BackwardSlash.lerp, + RightBracket.lerp, + Caret.lerp, + Underscore.lerp, + Backtick.lerp, + LowerCaseA.lerp, + LowerCaseB.lerp, + LowerCaseC.lerp, + LowerCaseD.lerp, + LowerCaseE.lerp, + LowerCaseF.lerp, + LowerCaseG.lerp, + LowerCaseH.lerp, + LowerCaseI.lerp, + LowerCaseJ.lerp, + LowerCaseK.lerp, + LowerCaseL.lerp, + LowerCaseM.lerp, + LowerCaseN.lerp, + LowerCaseO.lerp, + LowerCaseP.lerp, + LowerCaseQ.lerp, + LowerCaseR.lerp, + LowerCaseS.lerp, + LowerCaseT.lerp, + LowerCaseU.lerp, + LowerCaseV.lerp, + LowerCaseW.lerp, + LowerCaseX.lerp, + LowerCaseY.lerp, + LowerCaseZ.lerp, + LeftBrace.lerp, + AsciiPipe.lerp, + RightBrace.lerp, + AsciiTilde.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp, + Unknown.lerp + ] + + fun make (chr, posX, posY, zIndex, scale, windowWidth, windowHeight, r, g, b) = + let + val chrFun = Vector.sub (asciiTable, Char.ord chr) + in + chrFun (posX, posY, zIndex, scale, windowWidth, windowHeight, r, g, b) + end +end diff --git a/fonts-with-z-index/dollar.sml b/fonts-with-z-index/dollar.sml new file mode 100644 index 0000000..5f96a37 --- /dev/null +++ b/fonts-with-z-index/dollar.sml @@ -0,0 +1,210 @@ +structure Dollar = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/equals.sml b/fonts-with-z-index/equals.sml new file mode 100644 index 0000000..9b80299 --- /dev/null +++ b/fonts-with-z-index/equals.sml @@ -0,0 +1,66 @@ +structure AsciiEquals = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/exclamation_mark.sml b/fonts-with-z-index/exclamation_mark.sml new file mode 100644 index 0000000..e909c99 --- /dev/null +++ b/fonts-with-z-index/exclamation_mark.sml @@ -0,0 +1,66 @@ +structure ExclamationMark = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/forward-slash.sml b/fonts-with-z-index/forward-slash.sml new file mode 100644 index 0000000..cdab49d --- /dev/null +++ b/fonts-with-z-index/forward-slash.sml @@ -0,0 +1,138 @@ +structure ForwardSlash = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/left-angled-bracket.sml b/fonts-with-z-index/left-angled-bracket.sml new file mode 100644 index 0000000..83d4392 --- /dev/null +++ b/fonts-with-z-index/left-angled-bracket.sml @@ -0,0 +1,186 @@ +structure LeftAngledBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/left-brace.sml b/fonts-with-z-index/left-brace.sml new file mode 100644 index 0000000..de45851 --- /dev/null +++ b/fonts-with-z-index/left-brace.sml @@ -0,0 +1,138 @@ +structure LeftBrace = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/left-bracket.sml b/fonts-with-z-index/left-bracket.sml new file mode 100644 index 0000000..42e3f10 --- /dev/null +++ b/fonts-with-z-index/left-bracket.sml @@ -0,0 +1,90 @@ +structure LeftBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/left-paren.sml b/fonts-with-z-index/left-paren.sml new file mode 100644 index 0000000..3070821 --- /dev/null +++ b/fonts-with-z-index/left-paren.sml @@ -0,0 +1,138 @@ +structure LeftParen = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-a.sml b/fonts-with-z-index/lower-case-a.sml new file mode 100644 index 0000000..e2fcf1c --- /dev/null +++ b/fonts-with-z-index/lower-case-a.sml @@ -0,0 +1,138 @@ +structure LowerCaseA = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-b.sml b/fonts-with-z-index/lower-case-b.sml new file mode 100644 index 0000000..34495a8 --- /dev/null +++ b/fonts-with-z-index/lower-case-b.sml @@ -0,0 +1,114 @@ +structure LowerCaseB = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-c.sml b/fonts-with-z-index/lower-case-c.sml new file mode 100644 index 0000000..e6d2f99 --- /dev/null +++ b/fonts-with-z-index/lower-case-c.sml @@ -0,0 +1,138 @@ +structure LowerCaseC = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-d.sml b/fonts-with-z-index/lower-case-d.sml new file mode 100644 index 0000000..69cd5c4 --- /dev/null +++ b/fonts-with-z-index/lower-case-d.sml @@ -0,0 +1,114 @@ +structure LowerCaseD = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-e.sml b/fonts-with-z-index/lower-case-e.sml new file mode 100644 index 0000000..97152fd --- /dev/null +++ b/fonts-with-z-index/lower-case-e.sml @@ -0,0 +1,162 @@ +structure LowerCaseE = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-f.sml b/fonts-with-z-index/lower-case-f.sml new file mode 100644 index 0000000..2be046e --- /dev/null +++ b/fonts-with-z-index/lower-case-f.sml @@ -0,0 +1,90 @@ +structure LowerCaseF = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-g.sml b/fonts-with-z-index/lower-case-g.sml new file mode 100644 index 0000000..6316b39 --- /dev/null +++ b/fonts-with-z-index/lower-case-g.sml @@ -0,0 +1,138 @@ +structure LowerCaseG = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-h.sml b/fonts-with-z-index/lower-case-h.sml new file mode 100644 index 0000000..8c01844 --- /dev/null +++ b/fonts-with-z-index/lower-case-h.sml @@ -0,0 +1,90 @@ +structure LowerCaseH = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-i.sml b/fonts-with-z-index/lower-case-i.sml new file mode 100644 index 0000000..cde1a97 --- /dev/null +++ b/fonts-with-z-index/lower-case-i.sml @@ -0,0 +1,114 @@ +structure LowerCaseI = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-j.sml b/fonts-with-z-index/lower-case-j.sml new file mode 100644 index 0000000..c9239fd --- /dev/null +++ b/fonts-with-z-index/lower-case-j.sml @@ -0,0 +1,138 @@ +structure LowerCaseJ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-k.sml b/fonts-with-z-index/lower-case-k.sml new file mode 100644 index 0000000..0bdce2a --- /dev/null +++ b/fonts-with-z-index/lower-case-k.sml @@ -0,0 +1,186 @@ +structure LowerCaseK = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-l.sml b/fonts-with-z-index/lower-case-l.sml new file mode 100644 index 0000000..de4b8cb --- /dev/null +++ b/fonts-with-z-index/lower-case-l.sml @@ -0,0 +1,90 @@ +structure LowerCaseL = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-m.sml b/fonts-with-z-index/lower-case-m.sml new file mode 100644 index 0000000..9029163 --- /dev/null +++ b/fonts-with-z-index/lower-case-m.sml @@ -0,0 +1,138 @@ +structure LowerCaseM = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-n.sml b/fonts-with-z-index/lower-case-n.sml new file mode 100644 index 0000000..3092862 --- /dev/null +++ b/fonts-with-z-index/lower-case-n.sml @@ -0,0 +1,90 @@ +structure LowerCaseN = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-o.sml b/fonts-with-z-index/lower-case-o.sml new file mode 100644 index 0000000..d9b9d96 --- /dev/null +++ b/fonts-with-z-index/lower-case-o.sml @@ -0,0 +1,114 @@ +structure LowerCaseO = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-p.sml b/fonts-with-z-index/lower-case-p.sml new file mode 100644 index 0000000..c889a9b --- /dev/null +++ b/fonts-with-z-index/lower-case-p.sml @@ -0,0 +1,114 @@ +structure LowerCaseP = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-q.sml b/fonts-with-z-index/lower-case-q.sml new file mode 100644 index 0000000..b40d673 --- /dev/null +++ b/fonts-with-z-index/lower-case-q.sml @@ -0,0 +1,138 @@ +structure LowerCaseQ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-r.sml b/fonts-with-z-index/lower-case-r.sml new file mode 100644 index 0000000..9cc9292 --- /dev/null +++ b/fonts-with-z-index/lower-case-r.sml @@ -0,0 +1,90 @@ +structure LowerCaseR = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-s.sml b/fonts-with-z-index/lower-case-s.sml new file mode 100644 index 0000000..d103808 --- /dev/null +++ b/fonts-with-z-index/lower-case-s.sml @@ -0,0 +1,138 @@ +structure LowerCaseS = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-t.sml b/fonts-with-z-index/lower-case-t.sml new file mode 100644 index 0000000..3ad2eda --- /dev/null +++ b/fonts-with-z-index/lower-case-t.sml @@ -0,0 +1,90 @@ +structure LowerCaseT = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-u.sml b/fonts-with-z-index/lower-case-u.sml new file mode 100644 index 0000000..83ef2d2 --- /dev/null +++ b/fonts-with-z-index/lower-case-u.sml @@ -0,0 +1,90 @@ +structure LowerCaseU = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-v.sml b/fonts-with-z-index/lower-case-v.sml new file mode 100644 index 0000000..67063d8 --- /dev/null +++ b/fonts-with-z-index/lower-case-v.sml @@ -0,0 +1,138 @@ +structure LowerCaseV = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-w.sml b/fonts-with-z-index/lower-case-w.sml new file mode 100644 index 0000000..8270b8d --- /dev/null +++ b/fonts-with-z-index/lower-case-w.sml @@ -0,0 +1,138 @@ +structure LowerCaseW = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-x.sml b/fonts-with-z-index/lower-case-x.sml new file mode 100644 index 0000000..f74d003 --- /dev/null +++ b/fonts-with-z-index/lower-case-x.sml @@ -0,0 +1,234 @@ +structure LowerCaseX = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-y.sml b/fonts-with-z-index/lower-case-y.sml new file mode 100644 index 0000000..450201f --- /dev/null +++ b/fonts-with-z-index/lower-case-y.sml @@ -0,0 +1,114 @@ +structure LowerCaseY = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/lower-case-z.sml b/fonts-with-z-index/lower-case-z.sml new file mode 100644 index 0000000..1622592 --- /dev/null +++ b/fonts-with-z-index/lower-case-z.sml @@ -0,0 +1,162 @@ +structure LowerCaseZ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/question-mark.sml b/fonts-with-z-index/question-mark.sml new file mode 100644 index 0000000..c437d32 --- /dev/null +++ b/fonts-with-z-index/question-mark.sml @@ -0,0 +1,162 @@ +structure QuestionMark = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/quotes-double.sml b/fonts-with-z-index/quotes-double.sml new file mode 100644 index 0000000..05f4e6f --- /dev/null +++ b/fonts-with-z-index/quotes-double.sml @@ -0,0 +1,66 @@ +structure QuotesDouble = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/quotes-single.sml b/fonts-with-z-index/quotes-single.sml new file mode 100644 index 0000000..41e2263 --- /dev/null +++ b/fonts-with-z-index/quotes-single.sml @@ -0,0 +1,42 @@ +structure QuotesSingle = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/right-angled-bracket.sml b/fonts-with-z-index/right-angled-bracket.sml new file mode 100644 index 0000000..7de0df5 --- /dev/null +++ b/fonts-with-z-index/right-angled-bracket.sml @@ -0,0 +1,186 @@ +structure RightAngledBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/right-brace.sml b/fonts-with-z-index/right-brace.sml new file mode 100644 index 0000000..3cd1134 --- /dev/null +++ b/fonts-with-z-index/right-brace.sml @@ -0,0 +1,138 @@ +structure RightBrace = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/right-bracket.sml b/fonts-with-z-index/right-bracket.sml new file mode 100644 index 0000000..d202338 --- /dev/null +++ b/fonts-with-z-index/right-bracket.sml @@ -0,0 +1,90 @@ +structure RightBracket = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/right-paren.sml b/fonts-with-z-index/right-paren.sml new file mode 100644 index 0000000..77800b8 --- /dev/null +++ b/fonts-with-z-index/right-paren.sml @@ -0,0 +1,138 @@ +structure RightParen = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/semicolon.sml b/fonts-with-z-index/semicolon.sml new file mode 100644 index 0000000..0b2f9d2 --- /dev/null +++ b/fonts-with-z-index/semicolon.sml @@ -0,0 +1,114 @@ +structure Semicolon = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/underscore.sml b/fonts-with-z-index/underscore.sml new file mode 100644 index 0000000..ab15253 --- /dev/null +++ b/fonts-with-z-index/underscore.sml @@ -0,0 +1,42 @@ +structure Underscore = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/unknown.sml b/fonts-with-z-index/unknown.sml new file mode 100644 index 0000000..acda0b9 --- /dev/null +++ b/fonts-with-z-index/unknown.sml @@ -0,0 +1,114 @@ +structure Unknown = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 1.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 12.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 13.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 6.000000000000000, scale, halfWidth), +yToNdc (yOffset, 0.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-a.sml b/fonts-with-z-index/upper-case-a.sml new file mode 100644 index 0000000..4c23c2c --- /dev/null +++ b/fonts-with-z-index/upper-case-a.sml @@ -0,0 +1,114 @@ +structure UpperCaseA = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-b.sml b/fonts-with-z-index/upper-case-b.sml new file mode 100644 index 0000000..835fd4d --- /dev/null +++ b/fonts-with-z-index/upper-case-b.sml @@ -0,0 +1,162 @@ +structure UpperCaseB = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-c.sml b/fonts-with-z-index/upper-case-c.sml new file mode 100644 index 0000000..4154e83 --- /dev/null +++ b/fonts-with-z-index/upper-case-c.sml @@ -0,0 +1,138 @@ +structure UpperCaseC = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-d.sml b/fonts-with-z-index/upper-case-d.sml new file mode 100644 index 0000000..3793bf9 --- /dev/null +++ b/fonts-with-z-index/upper-case-d.sml @@ -0,0 +1,162 @@ +structure UpperCaseD = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-e.sml b/fonts-with-z-index/upper-case-e.sml new file mode 100644 index 0000000..5e754c3 --- /dev/null +++ b/fonts-with-z-index/upper-case-e.sml @@ -0,0 +1,114 @@ +structure UpperCaseE = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-f.sml b/fonts-with-z-index/upper-case-f.sml new file mode 100644 index 0000000..8c7d39e --- /dev/null +++ b/fonts-with-z-index/upper-case-f.sml @@ -0,0 +1,90 @@ +structure UpperCaseF = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-g.sml b/fonts-with-z-index/upper-case-g.sml new file mode 100644 index 0000000..6f2d0c9 --- /dev/null +++ b/fonts-with-z-index/upper-case-g.sml @@ -0,0 +1,162 @@ +structure UpperCaseG = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-h.sml b/fonts-with-z-index/upper-case-h.sml new file mode 100644 index 0000000..6cd7d02 --- /dev/null +++ b/fonts-with-z-index/upper-case-h.sml @@ -0,0 +1,90 @@ +structure UpperCaseH = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-i.sml b/fonts-with-z-index/upper-case-i.sml new file mode 100644 index 0000000..ffdd2b5 --- /dev/null +++ b/fonts-with-z-index/upper-case-i.sml @@ -0,0 +1,90 @@ +structure UpperCaseI = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-j.sml b/fonts-with-z-index/upper-case-j.sml new file mode 100644 index 0000000..f694325 --- /dev/null +++ b/fonts-with-z-index/upper-case-j.sml @@ -0,0 +1,114 @@ +structure UpperCaseJ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-k.sml b/fonts-with-z-index/upper-case-k.sml new file mode 100644 index 0000000..8734324 --- /dev/null +++ b/fonts-with-z-index/upper-case-k.sml @@ -0,0 +1,186 @@ +structure UpperCaseK = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-l.sml b/fonts-with-z-index/upper-case-l.sml new file mode 100644 index 0000000..85366d4 --- /dev/null +++ b/fonts-with-z-index/upper-case-l.sml @@ -0,0 +1,66 @@ +structure UpperCaseL = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-m.sml b/fonts-with-z-index/upper-case-m.sml new file mode 100644 index 0000000..b81f4c4 --- /dev/null +++ b/fonts-with-z-index/upper-case-m.sml @@ -0,0 +1,138 @@ +structure UpperCaseM = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-n.sml b/fonts-with-z-index/upper-case-n.sml new file mode 100644 index 0000000..b38ce55 --- /dev/null +++ b/fonts-with-z-index/upper-case-n.sml @@ -0,0 +1,138 @@ +structure UpperCaseN = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-o.sml b/fonts-with-z-index/upper-case-o.sml new file mode 100644 index 0000000..d85e933 --- /dev/null +++ b/fonts-with-z-index/upper-case-o.sml @@ -0,0 +1,114 @@ +structure UpperCaseO = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-p.sml b/fonts-with-z-index/upper-case-p.sml new file mode 100644 index 0000000..f46929e --- /dev/null +++ b/fonts-with-z-index/upper-case-p.sml @@ -0,0 +1,114 @@ +structure UpperCaseP = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-q.sml b/fonts-with-z-index/upper-case-q.sml new file mode 100644 index 0000000..9865b54 --- /dev/null +++ b/fonts-with-z-index/upper-case-q.sml @@ -0,0 +1,162 @@ +structure UpperCaseQ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 11.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-r.sml b/fonts-with-z-index/upper-case-r.sml new file mode 100644 index 0000000..de9b50c --- /dev/null +++ b/fonts-with-z-index/upper-case-r.sml @@ -0,0 +1,162 @@ +structure UpperCaseR = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-s.sml b/fonts-with-z-index/upper-case-s.sml new file mode 100644 index 0000000..5b311ec --- /dev/null +++ b/fonts-with-z-index/upper-case-s.sml @@ -0,0 +1,186 @@ +structure UpperCaseS = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-t.sml b/fonts-with-z-index/upper-case-t.sml new file mode 100644 index 0000000..0055fac --- /dev/null +++ b/fonts-with-z-index/upper-case-t.sml @@ -0,0 +1,66 @@ +structure UpperCaseT = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-u.sml b/fonts-with-z-index/upper-case-u.sml new file mode 100644 index 0000000..0708e34 --- /dev/null +++ b/fonts-with-z-index/upper-case-u.sml @@ -0,0 +1,90 @@ +structure UpperCaseU = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-v.sml b/fonts-with-z-index/upper-case-v.sml new file mode 100644 index 0000000..478904e --- /dev/null +++ b/fonts-with-z-index/upper-case-v.sml @@ -0,0 +1,138 @@ +structure UpperCaseV = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-w.sml b/fonts-with-z-index/upper-case-w.sml new file mode 100644 index 0000000..65c7811 --- /dev/null +++ b/fonts-with-z-index/upper-case-w.sml @@ -0,0 +1,138 @@ +structure UpperCaseW = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-x.sml b/fonts-with-z-index/upper-case-x.sml new file mode 100644 index 0000000..38185d5 --- /dev/null +++ b/fonts-with-z-index/upper-case-x.sml @@ -0,0 +1,234 @@ +structure UpperCaseX = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-y.sml b/fonts-with-z-index/upper-case-y.sml new file mode 100644 index 0000000..b67ea23 --- /dev/null +++ b/fonts-with-z-index/upper-case-y.sml @@ -0,0 +1,138 @@ +structure UpperCaseY = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end diff --git a/fonts-with-z-index/upper-case-z.sml b/fonts-with-z-index/upper-case-z.sml new file mode 100644 index 0000000..9e51da3 --- /dev/null +++ b/fonts-with-z-index/upper-case-z.sml @@ -0,0 +1,162 @@ +structure UpperCaseZ = +struct + fun xToNdc (xOffset, xpos, scale, halfWidth) = + ((xpos * scale + xOffset) - halfWidth) / halfWidth + + fun yToNdc (yOffset, ypos, scale, halfHeight) = + ~(((ypos * scale + yOffset) - halfHeight) / halfHeight) + + fun lerp (xOffset: Real32.real, yOffset, z, scale, windowWidth, windowHeight, +r, g, b) = + let + val halfWidth = windowWidth / 2.0 + val halfHeight = windowHeight / 2.0 + in + #[ +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 0.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 5.000000000000000, scale, halfWidth), +yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 1.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 8.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 2.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 6.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 3.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 4.000000000000000, scale, halfHeight), +z, +r, g, b, +xToNdc (xOffset, 4.000000000000000, scale, halfWidth), +yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, +r, g, b + ] + end +end From 5ee4d063750e4b57ef9abf2d8ca19a3811ad73a1 Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Thu, 11 Sep 2025 02:13:41 +0100 Subject: [PATCH 16/16] fix version of ascii-zero which has a z-index (the previous edit was manual and specified the 'z' parameter in the wrong places) --- fonts-with-z-index/ascii-zero.sml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/fonts-with-z-index/ascii-zero.sml b/fonts-with-z-index/ascii-zero.sml index d9c0eed..c1971db 100644 --- a/fonts-with-z-index/ascii-zero.sml +++ b/fonts-with-z-index/ascii-zero.sml @@ -14,93 +14,123 @@ struct #[ xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 0.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 2.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 1.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 10.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 2.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 7.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 3.000000000000000, scale, halfWidth), yToNdc (yOffset, 5.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 4.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 9.000000000000000, scale, halfHeight), +z, r, g, b, xToNdc (xOffset, 5.000000000000000, scale, halfWidth), yToNdc (yOffset, 3.000000000000000, scale, halfHeight), +z, r, g, b ] end