Well, Unicode is a method by which many, many different characters may be represented. The english language does not have very many characters - 0-9 (10) plus a-z (26) plus A-Z (26) for a total of 62 characters.
In ASCII text, each character is represented by an 8bit character code - this allows for up to 256 distinct characters. So, english numbers and letters consume 62 of these characters and symbols/line drawing characters/control-codes make up the remaining characters in the set of 256.
Unfortunately, this encoding scheme does not represent all of the different characters that may be found in non-Latin based languages - e.g Chinese, Japanese, Arabic, Hindi characters.
To solve this problem, it was decided that each character should be represented by at least 16 bits - allowing for a minimum of at least 65536 characters.
These (at least) 2-byte long character codes are used to make up the Unicode character set. Well, at least roughly speaking, anyway.
In order to represent a bitmapped font on a screen, we must store 'pictures' of each character in an array - a font. We then use the character code for each letter as an index into that array(font).
To complete this task, I can see two general options.
1) Find and download a bitmapped Hindi font.
2) Create one yourself, using the fonts already installed on your machine.
To do number 2, you have a number of options. You may choose to make each character's bitmap the same width/height, or you may choose to make each character's bitmap just big enough to hold the required bits. Take for example the letters 'i' and 'w', or '.' & 'O' - each of these characters are a different width and height.
It is much simpler to make the character bitmaps all the same size. It looks better if each bitmap is just large enough to hold the character that it represents.
In the first case, you may decide that 16x16 is large enough to represent each character. You just need (num chars in font) * 16x16 bitmap
In the second case, you need for each character in your font to hold both (1) a bitmap and (2) some size information.
If you are programming on Windows, you can get the minimum width and height of each charater by using the
DrawText[
^] function, specifying the DT_CALCRECT flag. If you loop through all of the characters that you wish to represent, you can one-by-one get the required size, draw the character then make a copy of the char and save it to disk.
It's been over 15 years since I last dealt with bitmapped fonts explicitly, at which time I was plucking them out of the VGA bios in DOS. I hope that my memory is clear enough to give you some direction and a place to start. :)