Remove the "last gid" hack from encoder implementation
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
Research direction
Start at ift/encoder/encoder.cc#L219 and trace how mixed encodings build each level of invalidating extension and reachable glyph patches. Replace the initial last-gid inclusion with per-level maximum reachable glyph-id handling, ensuring the loca/gvar/CFF/CFF2 offset arrays can accommodate those glyphs and no longer depend on the hack.
Written by the indexing model from the issue text.
Description
Context: https://github.com/w3c/ift-encoder/blob/main/ift/encoder/encoder.cc#L219
When producing mixed encodings we need to ensure at each level of invalidating extension the loca/gvar/CFF/CFF2 offset arrays are large enough to accomadate any glyphs that may be added by any reachable glyph patches. This is currently handled using a crude hack of including the last gid of the original font in the initial subset (so that loca/gvar/CFF/CFF2 offset arrays are always at their maximum size).
As currently implemented this is sub optimal and will also conflict with producing a true desiccated font (#104). Instead at each level of invalidating extension we should determine what the maximum reachable glyph id is and ensure the loca/gvar/CFF/CFF2 offsets arrays are large enough to accomadate.
- Dominant language
- C++
- Stars
- 13
- Forks
- 9
- Avg merge
- 14h 50m
- Merged PRs (30d)
- 6
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from w3c/ift-encoder
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
w3c/ift-encoder#271 ·
-
Consider adding a config setting that exempts high frequency codepoints from minimum group sizesOpen
Difficulty 5/5 Over a week Newbie friendliness 42/100
w3c/ift-encoder#269 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
w3c/ift-encoder#262 ·
-
latest bazel does not workMay be free again @garretrieger claimed this 204 days ago, and no pull request is open. Open
w3c/ift-encoder#202 · 1 comment · 1 assignee ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
w3c/ift-encoder#105 · 4 comments ·
Similar issues
-
launch-client --save-creds creates creds/<account>/ with mode 755, not 700Possibly taken @metis-sprock claimed this today. Openbacklog bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
EchoTools/nevr-runtime#1471 ·
Maintainers usually reply within 1 day
-
.NET ep:WebGPU platform:web
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
microsoft/onnxruntime#33755 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
grumpycoders/pcsx-redux#2530 ·
-
A-tools P-medium S-ready-to-start studio task
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Status: Needs confirmation Status: Needs triage Type: Code Quality
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day