We are working in web application and it has to support all the language. The purpose of this application is to generate a PDF document of the data submitted by the end user.
The end user can enter data in the following format. (This description is just to make reader understand the situation)

1. He/ she has to enter some data in English and some in local language. And application is not going to validate those and also do not have any constraint which data which language(strongly depends on UTF-8 for web UI). But in PDF we need to show both.
2. User can enter mix of two three languages in single field also. In that case we need to print it as it is.
3. Numeric in all language along with English and special characters also allowed..

I tried one approach to print the data in Hindi + English language. But the following observations was seen
I used the mangal font for hindi..

bFont = BaseFont.createFont("mangal.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

1. I got all the hindi characters, but not in proper format… eq. It print "hindi" as "hinadi".
2. It ignored all the English characters out of that. but English numeric it printed.

Note: We are storing data in Unicode(utf8) format in oracle database. We are able to get all the data in correct format in web UI.

Please suggest some feasible way to deal with this requirement.