done scaffolding new fonts

This commit is contained in:
2025-08-18 01:06:54 +01:00
parent d9c7f71859
commit 7a5dba3baa
27 changed files with 386 additions and 123 deletions

View File

@@ -1,4 +1,4 @@
structure AtSign =
structure AsciiAt =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure FullStop =
structure AsciiDot =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Eight =
structure AsciiEight =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Five =
structure AsciiFive =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Four =
structure AsciiFour =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Hash =
structure AsciiHash =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Minus =
structure AsciiMinus =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Nine =
structure AsciiNine =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure One =
structure AsciiOne =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Percent =
structure AsciiPercent =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Pipe =
structure AsciiPipe =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Plus =
structure AsciiPlus =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Seven =
structure AsciiSeven =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Six =
structure AsciiSix =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -0,0 +1,5 @@
structure AsciiSpace =
struct
fun lerp (xOffset: Real32.real, yOffset, scale, windowWidth, windowHeight) =
#[ ]
end

View File

@@ -1,4 +1,4 @@
structure Three =
structure AsciiThree =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Tilde =
structure AsciiTilde =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Two =
structure AsciiTwo =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure Zero =
structure AsciiZero =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

105
new-fonts/cozette-ascii.mlb Normal file
View File

@@ -0,0 +1,105 @@
$(SML_LIB)/basis/basis.mlb
ann
"allowVectorExps true"
in
local
ascii-zero.sml
ascii-one.sml
ascii-two.sml
ascii-three.sml
ascii-four.sml
ascii-five.sml
ascii-six.sml
ascii-seven.sml
ascii-eight.sml
ascii-nine.sml
ascii-space.sml
ampersand.sml
asterisk.sml
ascii-at.sml
backtick.sml
backward-slash.sml
caret.sml
colon.sml
comma.sml
dollar.sml
quotes-double.sml
equals.sml
exclamation_mark.sml
forward-slash.sml
ascii-dot.sml
ascii-hash.sml
left-angled-bracket.sml
left-brace.sml
left-bracket.sml
left-paren.sml
lower-case-a.sml
lower-case-b.sml
lower-case-c.sml
lower-case-d.sml
lower-case-e.sml
lower-case-f.sml
lower-case-g.sml
lower-case-h.sml
lower-case-i.sml
lower-case-j.sml
lower-case-k.sml
lower-case-l.sml
lower-case-m.sml
lower-case-n.sml
lower-case-o.sml
lower-case-p.sml
lower-case-q.sml
lower-case-r.sml
lower-case-s.sml
lower-case-t.sml
lower-case-u.sml
lower-case-v.sml
lower-case-w.sml
lower-case-x.sml
lower-case-y.sml
lower-case-z.sml
ascii-minus.sml
ascii-percent.sml
ascii-pipe.sml
ascii-plus.sml
question-mark.sml
right-angled-bracket.sml
right-brace.sml
right-bracket.sml
right-paren.sml
semicolon.sml
quotes-single.sml
ascii-tilde.sml
underscore.sml
unknown.sml
upper-case-a.sml
upper-case-b.sml
upper-case-c.sml
upper-case-d.sml
upper-case-e.sml
upper-case-f.sml
upper-case-g.sml
upper-case-h.sml
upper-case-i.sml
upper-case-j.sml
upper-case-k.sml
upper-case-l.sml
upper-case-m.sml
upper-case-n.sml
upper-case-o.sml
upper-case-p.sml
upper-case-q.sml
upper-case-r.sml
upper-case-s.sml
upper-case-t.sml
upper-case-u.sml
upper-case-v.sml
upper-case-w.sml
upper-case-x.sml
upper-case-y.sml
upper-case-z.sml
in
cozette-ascii.sml
end
end

253
new-fonts/cozette-ascii.sml Normal file
View File

@@ -0,0 +1,253 @@
structure CozetteAscii =
struct
val asciiTable = #[
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
AsciiSpace.lerp,
ExclamationMark.lerp,
QuotesDouble.lerp,
AsciiHash.lerp,
Dollar.lerp,
AsciiPercent.lerp,
Ampersand.lerp,
QuotesSingle.lerp,
LeftParen.lerp,
RightParen.lerp,
Asterisk.lerp,
AsciiPlus.lerp,
Comma.lerp,
AsciiMinus.lerp,
AsciiDot.lerp,
ForwardSlash.lerp,
AsciiZero.lerp,
AsciiOne.lerp,
AsciiTwo.lerp,
AsciiThree.lerp,
AsciiFour.lerp,
AsciiFive.lerp,
AsciiSix.lerp,
AsciiSeven.lerp,
AsciiEight.lerp,
AsciiNine.lerp,
Colon.lerp,
Semicolon.lerp,
LeftAngledBracket.lerp,
AsciiEquals.lerp,
RightAngledBracket.lerp,
QuestionMark.lerp,
AsciiAt.lerp,
UpperCaseA.lerp,
UpperCaseB.lerp,
UpperCaseC.lerp,
UpperCaseD.lerp,
UpperCaseE.lerp,
UpperCaseF.lerp,
UpperCaseG.lerp,
UpperCaseH.lerp,
UpperCaseI.lerp,
UpperCaseJ.lerp,
UpperCaseK.lerp,
UpperCaseL.lerp,
UpperCaseM.lerp,
UpperCaseN.lerp,
UpperCaseO.lerp,
UpperCaseP.lerp,
UpperCaseQ.lerp,
UpperCaseR.lerp,
UpperCaseS.lerp,
UpperCaseT.lerp,
UpperCaseU.lerp,
UpperCaseV.lerp,
UpperCaseW.lerp,
UpperCaseX.lerp,
UpperCaseY.lerp,
UpperCaseZ.lerp,
LeftBracket.lerp,
BackwardSlash.lerp,
RightBracket.lerp,
Caret.lerp,
Underscore.lerp,
Backtick.lerp,
LowerCaseA.lerp,
LowerCaseB.lerp,
LowerCaseC.lerp,
LowerCaseD.lerp,
LowerCaseE.lerp,
LowerCaseF.lerp,
LowerCaseG.lerp,
LowerCaseH.lerp,
LowerCaseI.lerp,
LowerCaseJ.lerp,
LowerCaseK.lerp,
LowerCaseL.lerp,
LowerCaseM.lerp,
LowerCaseN.lerp,
LowerCaseO.lerp,
LowerCaseP.lerp,
LowerCaseQ.lerp,
LowerCaseR.lerp,
LowerCaseS.lerp,
LowerCaseT.lerp,
LowerCaseU.lerp,
LowerCaseV.lerp,
LowerCaseW.lerp,
LowerCaseX.lerp,
LowerCaseY.lerp,
LowerCaseZ.lerp,
LeftBrace.lerp,
AsciiPipe.lerp,
RightBrace.lerp,
AsciiTilde.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp,
Unknown.lerp
]
end

View File

@@ -1,100 +0,0 @@
$(SML_LIB)/basis/basis.mlb
ann
"allowVectorExps true"
in
0.sml
1.sml
2.sml
3.sml
4.sml
5.sml
6.sml
7.sml
8.sml
9.sml
ampersand.sml
asterisk.sml
at-sign.sml
backtick.sml
backward-slash.sml
caret.sml
colon.sml
comma.sml
dollar.sml
double-speech-marks.sml
equals.sml
exclamation_mark.sml
forward-slash.sml
full-stop.sml
hash.sml
left-angled-bracket.sml
left-brace.sml
left-bracket.sml
left-paren.sml
lower-case-a.sml
lower-case-b.sml
lower-case-c.sml
lower-case-d.sml
lower-case-e.sml
lower-case-f.sml
lower-case-g.sml
lower-case-h.sml
lower-case-i.sml
lower-case-j.sml
lower-case-k.sml
lower-case-l.sml
lower-case-m.sml
lower-case-n.sml
lower-case-o.sml
lower-case-p.sml
lower-case-q.sml
lower-case-r.sml
lower-case-s.sml
lower-case-t.sml
lower-case-u.sml
lower-case-v.sml
lower-case-w.sml
lower-case-x.sml
lower-case-y.sml
lower-case-z.sml
minus.sml
percent.sml
pipe.sml
plus.sml
question-mark.sml
right-angled-bracket.sml
right-brace.sml
right-bracket.sml
right-paren.sml
semicolon.sml
single-speech-mark.sml
tilde.sml
underscore.sml
unknown.sml
upper-case-a.sml
upper-case-b.sml
upper-case-c.sml
upper-case-d.sml
upper-case-e.sml
upper-case-f.sml
upper-case-g.sml
upper-case-h.sml
upper-case-i.sml
upper-case-j.sml
upper-case-k.sml
upper-case-l.sml
upper-case-m.sml
upper-case-n.sml
upper-case-o.sml
upper-case-p.sml
upper-case-q.sml
upper-case-r.sml
upper-case-s.sml
upper-case-t.sml
upper-case-u.sml
upper-case-v.sml
upper-case-w.sml
upper-case-x.sml
upper-case-y.sml
upper-case-z.sml
end

View File

@@ -1,4 +1,4 @@
structure Equals =
structure AsciiEquals =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure LowerCseI =
structure LowerCaseI =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure DoubleSpeechMarks =
structure QuotesDouble =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure SingleSpeechMark =
structure QuotesSingle =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth

View File

@@ -1,4 +1,4 @@
structure UppercaseU =
structure UpperCaseU =
struct
fun xToNdc (xOffset, xpos, scale, halfWidth) =
((xpos * scale + xOffset) - halfWidth) / halfWidth