i found the cause in api 28
setFallbackLineSpacing is Enabled by default (on many devices, thats why the non-latin text looks correct on some device and some devices not)
View attachment 95301
this code fixed the measurement problem
Dim P As Phone
If P.SdkVersion >= 28 Then
Dim Ref As Reflector
Ref.Target = label1
Ref.RunMethod2("setFallbackLineSpacing","False","java.lang.boolean")
End If
the only problem with this code that it makes the Arabic lines bit close to each others but it's pretty acceptable for me
i'm not sure if MeasureMultilineTextHeight can be called with custom line spacing parameter using reflection or inline java code, it will be an extra option to make the measured string looks bit better.