The current implementation is entirely incorrect and the same letter spacing value produces totally different results on iOS and Android. That is because Android expects the value to be in EM units and we currently supply it as pixels. Thus the huge letter spacing stretch on Android. The attributed string in iOS expects the kerning to be supplied in points, which is also directly related to the font size.
Currently we cannot support letter spacing in pixels. That is until we find a way to find out how wide is the capital letter M in pixels, so we can do the math. We can only support letter spacing in EM units. Negative values tighten text. So a value of 0 is just normal text. A value of 1 will space letters one letter (capital M) apart and so on. A value of -1 should render all letters on the same spot.
The current implementation is entirely incorrect and the same letter spacing value produces totally different results on iOS and Android. That is because Android expects the value to be in EM units and we currently supply it as pixels. Thus the huge letter spacing stretch on Android. The attributed string in iOS expects the kerning to be supplied in points, which is also directly related to the font size.
Currently we cannot support letter spacing in pixels. That is until we find a way to find out how wide is the capital letter M in pixels, so we can do the math. We can only support letter spacing in EM units. Negative values tighten text. So a value of 0 is just normal text. A value of 1 will space letters one letter (capital M) apart and so on. A value of -1 should render all letters on the same spot.