nx_glyph_stroke.nx
buildroot/runtime/nx_glyph_stroke.nx
about
nx_glyph_stroke.nx -- RUNG 1 of the sovereign FONT BUILDER: the STROKE PEN. A glyph stroke is a centerline
polyline + a width; this renders it as a filled thick outline (perpendicular-offset segment quads + round
joins/caps as discs), all wound the SAME way so the AA rasterizer's nonzero fill UNIONS them into one smooth
shape. Curves are just a curved centerline -> the hard letters (s, arches) become easy, and it's the natural
unit for CJK strokes/radicals (the path to kanji). No floats: integer isqrt for the perpendicular. ORIGINAL.
dependencies 1 imports · 4 importers
imports: nx_syscalls.nx
imported by: nx_font.nxnx_font_test.nxnx_glyph_compose.nxnx_glyph_word.nx
structs
| none |
consts
| 7 | const K_MAGIC_250000: i64 = 250000 |
functions
| 10 | func gs_isqrt(n: i64) -> i64 |
| 19 | func gs_seg(xs: *i64, ys: *i64, cstart: *i64, clen: *i64, np: *i64, nc: *i64, x0: i64, y0: i64, x1: i64, y1: i64, w: i64) -> i64 |
| 38 | func gs_disc(xs: *i64, ys: *i64, cstart: *i64, clen: *i64, np: *i64, nc: *i64, cs: *i64, sn: *i64, cx: i64, cy: i64, r: i64, rev: i64) -> i64 |
| 58 | func gs_stroke(xs: *i64, ys: *i64, cstart: *i64, clen: *i64, np: *i64, nc: *i64, cs: *i64, sn: *i64, ptsx: *i64, ptsy: *i64, n: i64, w: i64) -> i64 |
| 84 | func gs_stroke_mod2(xs: *i64, ys: *i64, cstart: *i64, clen: *i64, np: *i64, nc: *i64, cs: *i64, sn: *i64, |
| 125 | func gs_area2(px: *i64, py: *i64, n: i64) -> i64 |
| 133 | func gs_emit_oriented(xs: *i64, ys: *i64, cstart: *i64, clen: *i64, np: *i64, nc: *i64, |
| 158 | func gs_stroke_var(xs: *i64, ys: *i64, cstart: *i64, clen: *i64, np: *i64, nc: *i64, |
| 270 | func gs_init_trig(cs: *i64, sn: *i64) -> i64 |