Skip to content

Remove the Core Foundation dependency in Morphuntion #36

@grhoten

Description

@grhoten

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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions