From d9c7f718591c815d28e90b00ea7ebe58e387064c Mon Sep 17 00:00:00 2001 From: Humza Shahid Date: Mon, 18 Aug 2025 00:48:59 +0100 Subject: [PATCH] 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