code wiki / _hdl_build / nx_vecphrase_proof.nx
nx_vecphrase_proof.nx source
↩ module page · 39 lines · 1907 B
1// nx_vecphrase_proof.nx -- render a real lowercase phrase through the SOVEREIGN VECTOR FONT (nx_font.nx
2// font_text -> aa_raster) to show its true s-class quality on words -- using ONLY the 8 currently-drawn
3// glyphs (n h i s t e o r). Proves the tech is s-class; the gap is the rest of the alphabet (DATA).
4import "nx_font.nx"
5import "nx_aa_raster.nx"
6import "nx_png_write.nx"
7const K_MAGIC_1600: i64 = 1600
8const K_MAGIC_8192: i64 = 8192
9const K_MAGIC_1024: i64 = 1024
10
11func slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
12
13func main() -> i64 {
14 let W: i64 = K_MAGIC_1600
15 let H: i64 = 140
16 let ss: i64 = 4
17 let cs: *i64 = sys_mmap(8*12) as *i64
18 let sn: *i64 = sys_mmap(8*12) as *i64
19 cs[0]=1000; cs[1]=866; cs[2]=500; cs[3]=0; cs[4]=0-500; cs[5]=0-866; cs[6]=0-1000; cs[7]=0-866; cs[8]=0-500; cs[9]=0; cs[10]=500; cs[11]=866
20 sn[0]=0; sn[1]=500; sn[2]=866; sn[3]=1000; sn[4]=866; sn[5]=500; sn[6]=0; sn[7]=0-500; sn[8]=0-866; sn[9]=0-1000; sn[10]=0-866; sn[11]=0-500
21 let xs: *i64 = sys_mmap(8*K_MAGIC_8192) as *i64
22 let ys: *i64 = sys_mmap(8*K_MAGIC_8192) as *i64
23 let cstart: *i64 = sys_mmap(8*K_MAGIC_1024) as *i64
24 let clen: *i64 = sys_mmap(8*K_MAGIC_1024) as *i64
25 let np: *i64 = sys_mmap(16) as *i64; np[0]=0
26 let nc: *i64 = sys_mmap(16) as *i64; nc[0]=0
27 let s: *u8 = "the quick brown fox jumps over lazy dog\x00" as *u8
28 let n: i64 = slen(s)
29 font_text(s, n, xs, ys, cstart, clen, np, nc, cs, sn, 30, 30, 300)
30 let cov: *u8 = sys_mmap(W*H)
31 aa_render(xs, ys, cstart, clen, nc[0], cov, W, H, ss)
32 let rgb: *u8 = sys_mmap(W*H*3)
33 var i: i64 = 0
34 while i < W*H*3 { rgb[i] = 255 as u8; i = i + 1 }
35 aa_blit(rgb, W, H, 0, 0, cov, W, H, 26, 30, 42)
36 nx_png_write_rgb("_offc/vecphrase.png\x00" as *u8, rgb, W, H)
37 sys_write(1, "wrote _offc/vecphrase.png\n\x00" as *u8, 26)
38 return 0
39}