Skip to content
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

Refactor implementation to load UCD at runtime #42

Open
1 of 3 tasks
christianparpart opened this issue Oct 6, 2022 · 0 comments
Open
1 of 3 tasks

Refactor implementation to load UCD at runtime #42

christianparpart opened this issue Oct 6, 2022 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@christianparpart
Copy link
Member

christianparpart commented Oct 6, 2022

Goals

  • reduce binary size
  • maintenance overhead for already installed systems

Drawbacks

This of course does not work for every UCD contents. All the tables can be easily loaded at runtime but if something's added that is currently translated into an enum class, that's still compile-time and cannot be runtime loaded, obviously.

Checklist

  • write C++ UCD codepoint_properties loader to populate UCD tables at runtime
  • install UCD data to /usr/share/libunicode/ucd (or similar)
  • change implementation to make use of the new tables. Also, ucd.h should then most likely remain static and version controlled. (Can it still be auto-generated or should it be hand-maintained?)

Implementation

I think the best would be to go with a double-layer principle, i.e. we still make use of mktables.py to create some .cpp & .h files, but have some of their table names flagged such that it's not populating them but use another API to access the runtime loaded ones instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant