Qwerasd
540fcc0b69
refactor(font): move Metrics
out of face
...
in preparation to move ownership of metrics from faces to collections
2025-01-06 20:13:45 -05:00
Mitchell Hashimoto
be3ae56bc8
font: add stylistic variants for built-in font, fix naming convention
...
Fixes #2364
This adds the bold, italic, and bold italic variants of JB Mono so it is
built-in. This also fixes up the naming convention for the embedded font
files across tests and removes redundant embedded font files.
2024-10-02 15:17:18 -07:00
Mitchell Hashimoto
ba29bf759b
lots more yeeting
2024-08-16 14:35:10 -07:00
Mitchell Hashimoto
14e3f43db2
font: yeet usingns
2024-08-16 10:47:15 -07:00
Mitchell Hashimoto
dc6b1b0b7a
font/coretext: hasColor/isColored
2024-05-28 13:20:37 -07:00
Mitchell Hashimoto
9f885ff64f
font/opentype: add SVG table parser, membership check
2024-05-27 21:35:33 -07:00
Mitchell Hashimoto
851b1fe2ac
font: noop shaper
2024-05-01 20:31:50 -07:00
Mitchell Hashimoto
d7de26ef58
renderer/metal: integrate shaping cache
2024-05-01 19:01:08 -07:00
Mitchell Hashimoto
1072354747
build: add -Dfont-backend=coretext_harfbuzz to force Harfbuzz w/ CT
2024-04-30 14:03:38 -07:00
Mitchell Hashimoto
06df9b7867
font: remove old files
2024-04-06 20:10:57 -07:00
Mitchell Hashimoto
c45747bf1f
font: implement many rendering, caching functions for SharedGrid
2024-04-05 20:50:35 -07:00
Mitchell Hashimoto
d6c048f1e3
renderer/metal: picking away at font group => grid changes
2024-04-05 15:35:16 -07:00
Mitchell Hashimoto
719c5d7c25
font: SharedGridSet starts
2024-04-05 15:03:22 -07:00
Mitchell Hashimoto
9fb883666a
font: start SharedGrid
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
4eccd42f6b
font: CodepointResolver beginnings
2024-04-05 09:29:41 -07:00
Mitchell Hashimoto
72d59956d5
font: [broken] working on extracting Collection from Group
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
bfcd5f380a
font: introduce GroupCacheSet, use it for descriptors to start
2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
fd4d2313d0
build: do not build/link harfbuzz on macOS
2024-04-04 12:22:35 -07:00
Krzysztof Wolicki
1913243c35
WIP: Update to new build module API after Zig PR #18160
...
Temporarily change dependency sources to forks until they update
2024-01-03 21:50:32 +01:00
Mitchell Hashimoto
3915d9ee3a
font: add CodepointMap with tests
2023-09-24 11:22:57 -07:00
Kevin Hovsäter
22b8173164
Fix typos
2023-08-08 14:27:34 +02:00
Mitchell Hashimoto
51e42a62ed
font: default rasterizer on macOS is now coretext
2023-07-01 10:04:49 -07:00
Mitchell Hashimoto
bb48ebc9cb
fix wasm build
2023-03-04 14:26:56 -08:00
Mitchell Hashimoto
06035e2f95
can now use -Dfont-backend to choose the font backend to use
2023-03-04 10:50:13 -08:00
Mitchell Hashimoto
e8a1fe4d87
move wasm target struct around to avoid analyzing wasm file on non-wasm
2022-12-31 09:04:11 -08:00
Mitchell Hashimoto
8b6128ddfc
start making the src more wasm target aware
2022-12-31 08:57:12 -08:00
Mitchell Hashimoto
a87b21dbee
font: mac should use freetype rasterizer by default
2022-12-12 22:12:11 -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
5993528f33
font: GroupCache is wasm compatible
2022-12-05 21:01:56 -08:00
Mitchell Hashimoto
5291501251
font: DeferredFace is wasm-compatible
2022-12-05 20:28:50 -08:00
Mitchell Hashimoto
2a74330911
font: begin making Group work with wasm
2022-12-05 16:08:20 -08:00
Mitchell Hashimoto
940828ed97
font: web canvas creates a canvas element
2022-12-03 22:11:01 -08:00
Mitchell Hashimoto
b858aea124
Start scaffolding web_canvas backend
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
f871630fa4
move Atlas to font
2022-11-28 10:35:46 -08:00
Mitchell Hashimoto
278668c953
font: draw single and double underlines as sprites
2022-11-27 15:14:49 -08:00
Mitchell Hashimoto
b34e336c5c
rearrange box rendering to prepare for more sprite drawing
2022-11-27 10:17:12 -08:00
Mitchell Hashimoto
4b8b5c5fc1
font: skeleton for box drawing and hook up to Group
2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
90f3b9391c
font: begin coretext Face
2022-10-08 09:43:54 -07:00
Mitchell Hashimoto
71ec509930
Make font face a compile time interface, stub for coretext
2022-10-08 09:19:21 -07:00
Mitchell Hashimoto
a4e8b5ae8c
calculate font metrics per face
2022-10-03 12:31:07 -07:00
Mitchell Hashimoto
f41cbf228b
font: set "backend" enum vs booleans
2022-10-02 09:41:37 -07:00
Mitchell Hashimoto
12c9482d48
Mac Font Discovery with CoreText ( #17 )
...
This implements font discovery so the `--font-family` flag works for macOS. Fonts are looked up using the Core Text API so any installed font on the Mac system can be used.
We still use FreeType for rendering, and CoreText doesn't _quite_ give us all the information we need to build the exact face in FreeType. So a TODO after this is to now implement glyph _rendering_ using Core Text and Core Graphics. Until then, a couple fonts don't quite work (i.e. Monaco, a big one!) but many do!
2022-10-01 22:21:30 -07:00
Mitchell Hashimoto
b11ed06fc2
font: test loading deferred face for fontconfig
2022-09-24 13:34:56 -07:00
Mitchell Hashimoto
141182aa13
start adding fontconfig conditional compilation
2022-09-23 14:12:38 -07:00
Mitchell Hashimoto
e326bc4921
fonts are presentation format aware (text vs emoji)
2022-09-06 13:30:29 -07:00
Mitchell Hashimoto
302889bfb3
font don't include convert
2022-09-05 22:53:29 -07:00
Mitchell Hashimoto
0d2c03c21c
Font face handles zero-width glyphs (weird but happens)
2022-09-05 22:53:00 -07:00
Mitchell Hashimoto
0505018186
Line segmentation into text runs
2022-08-29 16:39:48 -07:00