shaping: emoji-presentation characters resolve to a monochrome symbol face #14

Closed
opened 2026-10-01 12:50:21 +09:00 by natsukium · 0 comments
Owner

FontStack::resolve (crates/felis-shaping/src/lib.rs ~594–606) takes the first face covering the char, and the symbol faces precede the emoji faces. Characters with Emoji_Presentation=Yes (width 2) such as ⭐ ⚡ ☕ ⌚ ⛔ ☔ ♿ 🀄 therefore render small, monochrome and left-aligned in a two-cell footprint. kitty and WezTerm draw them in colour; Alacritty matches felis. The cluster path already prefers the colour face for VS16.

Repro: printf '⭐⚡☕⌚|'.

Decide: route Emoji_Presentation scalars to the emoji face first (as the VS16 cluster path does), or keep first-coverage and centre the glyph in its block.

`FontStack::resolve` (`crates/felis-shaping/src/lib.rs` ~594–606) takes the first face covering the char, and the symbol faces precede the emoji faces. Characters with `Emoji_Presentation=Yes` (width 2) such as ⭐ ⚡ ☕ ⌚ ⛔ ☔ ♿ 🀄 therefore render small, monochrome and left-aligned in a two-cell footprint. kitty and WezTerm draw them in colour; Alacritty matches felis. The cluster path already prefers the colour face for VS16. **Repro:** `printf '⭐⚡☕⌚|'`. **Decide:** route `Emoji_Presentation` scalars to the emoji face first (as the VS16 cluster path does), or keep first-coverage and centre the glyph in its block.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
felis-terminal/felis#14
No description provided.