Mitchell Hashimoto
a1dda2c37f
font: faceFromIndex returns a pointer to the face
2022-12-12 21:34:34 -08:00
Mitchell Hashimoto
c06ca04a1a
font: web canvas tracks glyph indexes for grapheme clusters
2022-12-12 11:31:30 -08:00
Mitchell Hashimoto
2b3478ce3d
font: start web canvas shaping, we perform grapheme clustering
2022-12-11 22:12:12 -08:00
Mitchell Hashimoto
35000bced1
font: shaper test should decode unicode codepoints
2022-12-08 12:42:09 -08:00
Mitchell Hashimoto
0c9a9b1f91
font: web canvas face has to render to check presentation for cp
...
Since we have no way to detect our presentation (text/emoji), we need to
actually render the glyph that is being requested to double-check that
the glyph matches our supported presentation.
We do this because the browser will render fallback fonts for a glyph if
it can't find one in the named font.
2022-12-07 19:20:04 -08:00
Mitchell Hashimoto
2c5b5429e3
wasm: build.zig uses addDeps for wasm
2022-12-07 18:39:46 -08:00
Mitchell Hashimoto
f53d9fb704
font: web canvas shaper yields runs
2022-12-07 18:29:49 -08:00
Mitchell Hashimoto
dd71456f35
font: shapers init with allocator since web canvas needs to init buffer
2022-12-06 13:44:55 -08:00
Mitchell Hashimoto
760f0c057c
renderer: use new shaper structs
2022-12-06 13:25:52 -08:00
Mitchell Hashimoto
f0b7fbecee
font: extract common shaper elements out
2022-12-06 13:23:53 -08:00
Mitchell Hashimoto
e3c18f3f51
font: move shaper into comptime interface
2022-12-06 11:20:37 -08:00
Mitchell Hashimoto
b043748794
Merge pull request #62 from mitchellh/web-emoji
...
wasm: web canvas font rasterizer can render emoji (no ZWJ yet)
2022-12-06 11:01:27 -08:00
Mitchell Hashimoto
6aa212707e
font: web canvas can render emoji
2022-12-06 10:55:42 -08:00
Mitchell Hashimoto
41cbc1a323
wasm: show color atlas in example web app
2022-12-05 21:33:54 -08:00
Mitchell Hashimoto
10f708ee65
wasm: export terminal core API
2022-12-05 21:27:20 -08:00
Mitchell Hashimoto
95b89149aa
Merge pull request #61 from mitchellh/font-group
...
wasm: Discovery, DeferredFace, Group, GroupCache
2022-12-05 21:18:55 -08:00
Mitchell Hashimoto
5993528f33
font: GroupCache is wasm compatible
2022-12-05 21:01:56 -08:00
Mitchell Hashimoto
62990bb33e
font: Group is now wasm-compatible
2022-12-05 20:52:03 -08:00
Mitchell Hashimoto
aaa0d46b5d
font: web canvas doesn't support discovery
2022-12-05 20:37:17 -08:00
Mitchell Hashimoto
5291501251
font: DeferredFace is wasm-compatible
2022-12-05 20:28:50 -08:00
Mitchell Hashimoto
e71dc470fd
Merge pull request #60 from mitchellh/font-canvas
...
wasm: Canvas-based Rasterizer
2022-12-05 17:02:37 -08:00
Mitchell Hashimoto
2a74330911
font: begin making Group work with wasm
2022-12-05 16:08:20 -08:00
Mitchell Hashimoto
d2afddb7e2
font: fix some JS memory leaks
2022-12-05 15:45:31 -08:00
Mitchell Hashimoto
ed4e8c36b0
font: add 1 to the canvas glyph to avoid clipping
2022-12-05 15:37:55 -08:00
Mitchell Hashimoto
25f2f1a652
font: fix glyph offset calculations for render
2022-12-05 15:25:09 -08:00
Mitchell Hashimoto
5e9dd02eab
font: add method for drawing atlas to canvas
2022-12-05 15:01:34 -08:00
Mitchell Hashimoto
84f6f37450
face: web canvas glyph rendering appears to work!
2022-12-05 14:28:10 -08:00
Mitchell Hashimoto
19e326dab6
font: working on rendering glyphs in canvas
2022-12-05 10:54:40 -08:00
Mitchell Hashimoto
d3b46eeeaf
fix zig-js so wasm-test works
2022-12-04 22:07:50 -08:00
Mitchell Hashimoto
df302fc2b6
calculate font metrics via canvas
2022-12-04 22:01:58 -08:00
Mitchell Hashimoto
37f00ac725
don't export coretext/freetype
2022-12-04 13:19:29 -08:00
Mitchell Hashimoto
c48d8cd151
hook up logging to wasm, example uses new zig-js package
2022-12-04 13:16:54 -08:00
Mitchell Hashimoto
437f1772f1
logging works for wasm
2022-12-04 12:29:11 -08:00
Mitchell Hashimoto
940828ed97
font: web canvas creates a canvas element
2022-12-03 22:11:01 -08:00
Mitchell Hashimoto
21faf0b6fb
add zig-js
2022-12-03 21:46:00 -08:00
Mitchell Hashimoto
fc618d37b2
Merge branch 'wasm'
2022-12-03 21:36:21 -08:00
Mitchell Hashimoto
f82593bcae
update zig
2022-12-03 21:36:11 -08:00
Mitchell Hashimoto
1840829e9e
add node for web stuff
2022-12-03 21:34:14 -08:00
Mitchell Hashimoto
c32219554a
blank out web canvas impl
2022-12-01 13:02:17 -08:00
Mitchell Hashimoto
b858aea124
Start scaffolding web_canvas backend
2022-12-01 13:02:17 -08:00
Mitchell Hashimoto
6b101c2293
support unit testing wasm via wasmtime
2022-12-01 13:02:17 -08:00
Mitchell Hashimoto
3a4d881444
wasm allocator, consider "host-owned" pointers
2022-12-01 13:02:17 -08:00
Mitchell Hashimoto
24cc01e055
move wasm main to src/, export an Atlas API
...
We don't need the Atlas API for wasm at all, but its a good way to test
things work incrementally and its a pretty cool thing to have as a wasm
library really.
2022-12-01 13:02:17 -08:00
Mitchell Hashimoto
fe805f1031
update zig
2022-12-01 12:59:40 -08:00
Mitchell Hashimoto
6ad45f0237
update zig
2022-11-30 16:54:04 -08:00
Mitchell Hashimoto
67f8c231f8
update nixpkgs to 22.11
2022-11-29 14:44:56 -08:00
Mitchell Hashimoto
8ac759fa52
update zig again
2022-11-29 13:00:57 -08:00
Mitchell Hashimoto
88c37fb617
update zig version
2022-11-29 12:57:42 -08:00
Mitchell Hashimoto
7c4d024aba
update mach for macOS Ventura
2022-11-29 10:13:21 -08:00
Mitchell Hashimoto
f871630fa4
move Atlas to font
2022-11-28 10:35:46 -08:00