Is "Arial Unicode" present in your system/device? Your code is correct, but there are some points you must take into account. When you pass "Arial Unicode" the SDK will try to use this font (it can be embedded or not). If this is not the case (ie, Arial Unicode is not embedded nor available in the system), the SDK will *try* to find a font in the system that matches the set of characters you passed in the function. This does not always return a font that covers all characters, since you may use different characters in the text that were not passed in the function, or the fonts available have partial coverage. Finally, if the SDK does not find any fonts, it will fallback to one of the internal fonts of the SDK.
In my tests I don't get all the characters when using "Arial Unicode", but if I use "DroidSansFallback" it works fine.