font.4th: default system font-set capsule, 113 glyphs (item 4.3.6c)
Punch list §25 item 4.3.6c complete. Digits, upper/lowercase, ASCII punctuation, Latin-1 Supplement, and General Punctuation, each a stroke-drawing word in the 4.3.6 em-square convention. Corrected mid-build: the first pass used G-LINE only, missing that CIRCLE/ARC/ELLIPSE already existed (4.3.3b). Reworked all round shapes to use them via new em-square-aware wrappers (G-CIRCLE/G-ARC/G-ELLIPSE/ EM-R, fabric.4th 5000-5002), bounded to quarter/half/three-quarter/ full sweeps to avoid unbounded per-glyph angle tuning. font.4th also redefines DISPATCH-GLYPH/DRAW-GLYPH themselves, not just the six DISPATCH-* bucket words, since fabric.4th's originals were compiled early against the 4.3.6b placeholders (CASE early-binding, §27.6.5). Three-arch acceptance boot clean, Stadium conservation unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
4427986c96
commit
5d2e1c2184
@@ -287,3 +287,33 @@ Block 4924
|
||||
: DRAW-GLYPH ( codepoint x y size color -- adv )
|
||||
GCOLOR ! GSIZE ! GOY ! GOX !
|
||||
DISPATCH-GLYPH ;
|
||||
|
||||
Block 5000
|
||||
( EM-R/G-CIRCLE: route CIRCLE (4.3.3b) through the em-square )
|
||||
( convention (4.3.6), same as G-LINE. EM-R scales a magnitude )
|
||||
( (radius) with no GOX/GOY translation. Added for item 4.3.6c.)
|
||||
: EM-R ( em-r -- cart-r ) GSIZE @ EM-UNITS */ ;
|
||||
VARIABLE GCX VARIABLE GCY VARIABLE GR
|
||||
: G-CIRCLE ( gcx gcy gr -- )
|
||||
GR ! GCY ! GCX !
|
||||
GCX @ EM-X GCY @ EM-Y 0 GR @ EM-R GCOLOR @
|
||||
CIRCLE ;
|
||||
|
||||
Block 5001
|
||||
( G-ELLIPSE: route ELLIPSE (4.3.3b) through em-square coords.)
|
||||
VARIABLE GRX VARIABLE GRY
|
||||
: G-ELLIPSE ( gcx gcy grx gry -- )
|
||||
GRY ! GRX ! GCY ! GCX !
|
||||
GCX @ EM-X GCY @ EM-Y 0
|
||||
GRX @ EM-R GRY @ EM-R GCOLOR @
|
||||
ELLIPSE ;
|
||||
|
||||
Block 5002
|
||||
( G-ARC: route ARC (4.3.3b) through em-square coords. Angles )
|
||||
( (ga0 ga1) are Q48.16 radians, passed through unscaled. )
|
||||
VARIABLE GA0 VARIABLE GA1
|
||||
: G-ARC ( gcx gcy gr ga0 ga1 -- )
|
||||
GA1 ! GA0 ! GR ! GCY ! GCX !
|
||||
GCX @ EM-X GCY @ EM-Y 0 GR @ EM-R
|
||||
GA0 @ GA1 @ GCOLOR @
|
||||
ARC ;
|
||||
|
||||
Reference in New Issue
Block a user