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

Remove the Core Foundation dependency in Morphuntion #36

Open
grhoten opened this issue Dec 10, 2024 · 0 comments
Open

Remove the Core Foundation dependency in Morphuntion #36

grhoten opened this issue Dec 10, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@grhoten
Copy link
Member

grhoten commented Dec 10, 2024

It would be helpful to reduce the size of the dependencies and to be able to compile the API with the gcc compiler. This dependency has a Clang compiler dependency because the gcc compiler doesn't define the endianness that the Core Foundation headers will accept. This dependency is only needed for the C API. Perhaps we can consider mapping these types to something that ICU4C is more closely aligned with.

When mapping the data types, we should consider the following questions:

  • How should informative error message in exceptions be conveyed? Use UErrorCode instead and lose the diagnostic information?
  • How should a locale be specified? const char *?
  • How should a string be specified? const char16_t * with length parameter? The code currently requires C11 as a minimum.
  • How should an array or a map of objects be represented? This is a less trivial of a mapping, but it’s doable.

The only exception at this time is the UTF-16 data type. The current code depends on C11, which needs it to be char16_t instead of UChar, which is uint16_t in ICU4C.

@grhoten grhoten added the enhancement New feature or request label Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant