Greetings,
For context, I will explain the full extent of our intentions with ICU4C, since there might be a better approach to our objective than the one we are taking.
Context
We use Unity to build digital products for the Middle East. Our UI system of choice is Unity UI, however the TextMeshPro text component doesn’t feature support for RTL languages. That’s why we have built a custom component on top of it to support it.
For arranging the text flow accounting for the Unicode Bidirectional Algorithm, we have built a native-plugin that acts as a wrapper for the ICU4C binaries that are distributed with each release. Through Mono’s interop we are able to run the algorithm from our text component. This works well in Windows, however it is not compatible with Android since our compiled binaries are “dll”.
Unity provides support for following a similar approach in Android. We could compile the binaries compatible with Andoid (.so) for the wrapper either through the Visual Studio 2022 template “Dynamic Shared Library (Android)”, by reading the Android NDK documentation and probably in more ways. However, and this is the part I need help with, we don’t know how to get the Android binaries for ICU4C.
We can’t find the Android binaries among the distributed ones, so we tried compiling the source code. We have managed to generate the DLLs for Windows from the “allinone” solution following the documentation, but haven’t been able to change the configuration to generate Android binaries.
Call to action
How can I get Android compatible binaries for ICU4C? Is there a way to generate them from the source code without heavily modifying it?
I can see some “.so” files in the “Fedora Linux” and “Ubuntu22” releases, are those compatible with Android? If not, why aren’t the Android binaries distributed? (just curious, not trying to push anyone here)
At some point we will probably need to support IOs as well, so if it is a simple matter I would appreciate some help in that regard as well
Thanks!
How can I get Android compatible binaries for ICU4C? Is there a way to generate them from the source code without heavily modifying it?
I can see some “.so” files in the “Fedora Linux” and “Ubuntu22” releases, are those compatible with Android? If not, why aren’t the Android binaries distributed? (just curious, not trying to push anyone here)
At some point we will probably need to support IOs as well, so if it is a simple matter I would appreciate some help in that regard as well