mapbox / mapbox/node-fontnik

Multiface fonts supported in load but not range

Open
#125 3 comments 0 reactions 0 assignees View on GitHub
jira-sync-complete
Dominant language
C++
Stars
248
Forks
67
PR merge metrics
No merged PRs in 30d

Description

Fonts with multiple faces are supported by looping over each face and accessing the number of faces once a valid FT_Face object is available. Like we do here:

- looping: https://github.com/mapbox/node-fontnik/blob/35feb88c121abbc6393f5236d7591035a1eb82cb/src/glyphs.cpp#L197
- accessing `ft_face->num_faces`: https://github.com/mapbox/node-fontnik/blob/35feb88c121abbc6393f5236d7591035a1eb82cb/src/glyphs.cpp#L205-L206

But the `num_faces = ft_face->num_faces;` is only done in `LoadAsync` and not `RangeAsync`

/cc @mikemorris

Contributor guide

Open the contributing guide

Research direction

Start in src/glyphs.cpp by comparing LoadAsync, including its loop over faces and access to ft_face->num_faces, with RangeAsync. Update the range path so multiface fonts receive equivalent handling, then verify that range generation works across all faces.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.