-
Notifications
You must be signed in to change notification settings - Fork 475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lets Make a List of ToDos and RoadMap file #374
Comments
Fix test failures? |
that goes into implementing remaining tables, currently 17 tables are supported, we need to add the remaining tables :: Remaining Tables : Important Opentype Tables |
we need to sort the remaining tables by priority , i mean the tables that need to be supported earlier and implemented immediately . |
I'm in no position to define a roadmap, but personally I'd recommend starting with the missing parts of cmap; then fixing shaping (GSUB/GPOS). The latter will need GDEF (easy), various barely-documented script-specific shaping engines (painful) plus the Universal Shaping Engine USE. The fontkit project has ported HarfBuzz to JavaScript, so have a look at the fontkit sources. Once all that is done, OpenType.js will be able to correctly render Unicode text. Personally, I would recommend looking at variable fonts (gvar, hvar, avar, HVAR), color fonts, AAT tables, etc. only after the basics of text rendering are working without bugs. Just my personal two cents of course; others might have different opinions. |
Having a list sorted by priority would be great indeed! Thanks @brawer for your input. @bawarkamalqader are you interested in something specific? Adding (and first finding) good fonts with the associated tables to the list would be great as well to make sure everything works well. About cmap adding the missing parts will probably need some refactoring but not for GSUB. So starting there will be easier. Also I recommend to start on the implementing reading first and then writing, both with tests. |
I was able to compose an overview of the current library status, what's been done and what needs to be done. each item has a severity value to indicate the importance of this item. I slightly adjusted Jakob's Nielsen Severity Scale to match the context of this document. Severity Scale 0 = I don't agree that this is a usability problem at all Required Tables
Optional Tables
Outlines Tables
Font Variations Tables
Advanced Typographic Tables
GSUB table status
GPOS table status
Color Fonts & Bitmap Glyphs Tables
Tooling
Technical
I believe I didn't cover everything, please feel free to update existing items or add more items. |
Is there a plan to support Color Fonts? |
woff2 decompression would be great (to be on the list). |
I'm very new to this world, so forgive me if I'm off-base. But I think I'm experiencing a problem using opentype.js because my font contains some GSUB lookup tables of type 7, extension substitution, which seem to be something like wrappers around lookup tables of other types (in my case, type 4, ligatures, which are otherwise working fine). Is there any plan to support GSUB type 7? Perhaps @bawarkamalqader was referring to this in the first post here, but @solomancode 's table cut off at 6. |
Ah, apologies. I was looking at a version of opentype.js that was a couple years old. It looks like extension substitution lookup tables may already be supported now. Thank you. |
I added the Release 2.0.0 milestone, so we can re-evaluate the status quo.
|
Woff2 decompression is out of scope for the library, you can use other libraries to do the decompression and then pass the results to opentype.js see #183 (comment) |
I made a repository where I will store test reports from that tool for different versions and commits from the master branch. The reports are directly available to view on GitHub Pages here: https://connum.github.io/opentypejs-reports/ |
Just wanted to ask if it was possible to make a ToDo list , so that new contributors will be able to know where to start, and what to do , like a ROADMAP.
things like ::
The text was updated successfully, but these errors were encountered: