Font files available on XDA II devices - Windows Mobile Development and Hacking General

In order to improve graphics performance for applications running on my XDA II device, I've written my own low-level rendering functions to use in place of the GDI calls. I'd like to use the default system fonts to render strings, and this works fine for rendering English characters. When I attempt to load Chinese dbcs characters, however, they seem to be missing from the cour.ttf, tahoma.ttf and tahomabd.ttf files.
I assume that there must be another font file used by the system to render Chinese characters, but I don't see any other ttf files in the /windows/ directory.
Anyone know how the platform is loading/rendering these characters? The normal GDI calls don't seem to have any trouble loading the necessary glyphs, so I'm hoping that they're available somehow.

Can you share how you did that? I'm looking for a way to render my font but i could not figure it out?
If you have some source code that you can share, could you email it to me at [email protected]
THanks

I think that you need to have the oriental version of the fonts because the caracters you're lookin are encoded in. May be you can have with the chinese version of wm2003se for xda2.

I did indeed need the oriental fonts. My problem is that I was looking for *.ttf files and the oriental fonts seem to be encoded as *.ac3 files on wm2003. So, the characters needed were available in fonts like msming.ac3, msgothic.ac3, etc (depending on the device).
bm_masri - I can't share my source, but if you want to render your own fonts, I'd suggest using Agfa's iType library if you want a commercial product or the TrueType library if you want an open source library. Both libraries will decode font files and give you bitmaps for the glyphs in the file.

Related

Open Source Today Screen Widgets app

There are a lot of clock area today screen apps out there, from the simple such as PDClock, through mid-level stuff like HTC home, up to the fully customizable rlToday.
Few of these seem to be a good all-round solution though, except maybe rlToday, but I am having issues with the rlToday / Sys-to-Reg / Mortscript combo, both in terms of features (ie no support for "on" or "off" images), stability, and ease-of install (S2R seems a bugger to set up right, especially for the less technically inclined user), and the whole rlToday / S2R / Mortscript combo is hardly a turnkey one-install solution.
So to that end, I decided to try my hand at crafting a solution more appropriate to my needs.
Now, until this point I have never coded for C++ or windows mobile. I am not even a professional coder, far from it, but I do have a knack for designing good solutions, so I thought I would start teaching myself native C++ and see what I could come up with. Ultimately, my goal is to release as open source, I am hoping to maybe start a sourceforge project at some point...
I am making this post because I am now starting to get past the proof-of-concept stage and am coming up with some working code. I am tackling the various hurdles one by one and learning as I go, but it is starting to look promising.
This thread is to serve two purposes:
1) Gather my thoughts on how things are going to work so potential users can chime in on possible tweaks or changes to the features and how they should work.
2) Serve as a rallying call for any (preferably more experienced) coders who wish to get involved. I will post up any problems that I am having surmounting various issues, please feel free to help out on those. If an experienced coder liked the project that much and wanted to take the lead, I have no issues with that, as long as it remained open source.
So, with that out the way, here is what I am thinking so far:
Overall idea is pretty similar to rlToday - a script (ie a .INI or .XML file) which lists Widgets is processed and the result is drawn on the screen.
For example, here is an example INI file for a background (say transparent) PNG with a clock overlaid in the middle of the PNG, that has different layouts / images for portrait and landscape mode on a qVGA device.
Code:
;ini profile for qVGA (240 width and 320 width)
;PORTRAIT
[PortBG]
width=240
widget=image
clickable=0;
image="bgport.png"
x=0
y=0
[PortClock]
width=240
widget=text
subwidget=clock
clickable=1
clicktype=exe
clickstring="<exe to launch calendar>"
dateformat = "dddd MMMM d"
x=120
y=25
origin="cc"
;LANDSCAPE
[LandBG]
width=320
widget=image
clickable=0
image="bgland.png"
x=0
y=0
[LandClock]
width=320
widget=text
subwidget=clock
clickable=1
clicktype=exe
clickstring="<exe to launch calendar>"
dateformat = "dddd MMMM d"
x=160
y=25
origin="cc"
The [Name] of each section actually does nothing, but it will be useful in debugging / error messages ("Image for [PortBG] not found!").
Widget = choses which kind of widget it is (eg Image, Text)
subwidget = choses the subtype of widget (eg clock is a subtype of text)
The Width= entry is an idea I came up with to handle multiple screen orientations and resolutions within one profile. Basically, as this is not intended to be a full-screen app, the only relevant dimension is the screen width. Each widget therefore has an associated width. When the screen is rendered, it will check what the current width is and only render widgets that match that width. Furthermore, if a script has entries for resolutions not supported by your device, these will be ignored. Profiles are likely to be a directory with one .INI file and assorted images. Images can be in subdirectories, say grouped by width (ie a "240" dir and a "320" dir for qVGA) - that way you could release a skin as one zipped dir that supported all devices and resolutions, and you would not need to upload the "480" and "640" dirs to a qVGA device, thus saving storage space.
Each widget also has x/y coords, which usually refer to the top left, but the origin entry can change that (eg cc would be centre horizontally and vertically)
Each widget will also be able to be specified as clickable, with options as to what to do when it is clicked.
With this system it should be possible to create most things, however, here is what I am currently NOT planning on doing:
I am not aiming at offering tabbed pages of widgets, or an easy way to change widgets without writing a new script. This is aimed at a companion to something like UltimateLaunch for handling the top of the screen - a Clock, SMS / Missed Calls / VM messages, BT / WiFi status and toggles etc.
I am currently using VS2005 and the WM5 SDK, but the app is still so simple that this could probably be changed. I would like to support as much as possible, but am not overly worried about providing backwards compatibility beyond WM5. I am using Native Win32 - I want to avoid as much bloat as I can.
Planned features:
Per-pixel Alpha PNGs - IMPLIMENTED
Widgets parsed from INI - IMPLIMENTED
Parse only items from INI that match screen caps - IMPLIMENTED
Display only items that match current screen width - IMPLIMENTED (Effectively switch profile on screen orientation change)
Options screen to set current profile
Widgets
======
Text Type: - IMPLIMENTED
Source: String in INI - IMPLIMENTED
Source: String in Registry
Source: Date from format string - IMPLIMENTED
Image type: - IMPLIMENTED
Plain image - IMPLIMENTED
Status Image - Registry value
Toggles - BlueTooth / WiFi / Phone etc
Other features
===========
Multiple screen resolutions supported per INI - IMPLIMENTED
Detect Power but no Activesync - Allow enabling of BlueTooth for automatic pairing with in-car BT handsfree.
Current questions and stumbling blocks:
Having issues finding a lightweight way of displaying per-pixel alpha PNGs. Current thinking is that AlphaBlend is perfectly capable of doing the blending, it is just SHLoadImageFile that is stripping the alpha info.
See threads here and here
Not sure how I am going to handle toggling of BT / WiFi. Could use VJ's tool, but I would rather do it in my code. Any pointers on how to do it and maintain maximum WM5 / WM6 compatibility would be appreciated - VJ's tool will not toggle WiFi on my Kaiser anyway...
Could do with decent chop and chomp routines (split by char and remove leading / trailing whitespace) - does anyone know an easy way to do this in native code?
Need to work out how to find the size of a text string in pixels *before* it gets drawn to the screen with ExtTextOut
Need to impliment a date format string to text string converter that can handle date and time objects in the same string
Currently I use a bit of code to look at the string and pass it to either GetDateFormat or GetTimeFormat, but not split the string and pass relevant bits to relevant routine, then reassemble.
Need to make whole thing a today item, but delaying doing this as it seems that debugging will be harder? I also guess this would be quite easy, so I am planning on leaving this until near the end. Any advice on this subject would be appreciated.
I am interested in this. I don't know C++, but I have experience coding with other computer languages. I'll definitely be following this thread and watching for updates.
iContact source contains some pretty lightweight INI library. It isn't written by me, and it's called SimpleIni. Everything is contained in one .h file and it's very easy to use.
good luck,
larna
larna said:
iContact source contains some pretty lightweight INI library. It isn't written by me, and it's called SimpleIni. Everything is contained in one .h file and it's very easy to use.
good luck,
larna
Click to expand...
Click to collapse
Nice one, thanks
I got simpleini in and working - you were right larna, it was really easy and pain-free. Thanks!
Update:
I have a working prototype.
All basic functionality coded - text and image widget types, orientation switching, ini parsing...
Currently still not a today item, and there is loads to do in terms of error checking and freeing up memory etc, but it parses INI files OK
Once I have done some tidying up, I will release some source and maybe a demo EXE.
Hey!!
I'm already developing an application which load and extends rlToday Themes!
sources will be released soon!
The app is XIAMultitheme:
Done:
- fully working rltoday themes on a HWND
- done today plugin
- loading external dll
- all widgets are external dll
To do:
- avoid image loading via ImageFactory due to memory leak on wm6x
- port to CxImage to load PNG
- use AAROT to free rotate images (analog clock)
- today plugin does not load the engine yet
http://www.xiaprojects.com/?section=All&project=XIAMultiTheme
what do you think? mail me on priv (stefano) on xiaprojects.com
stefanux said:
Hey!!
I'm already developing an application which load and extends rlToday Themes!
sources will be released soon!
The app is XIAMultitheme:
Done:
- fully working rltoday themes on a HWND
- done today plugin
- loading external dll
- all widgets are external dll
To do:
- avoid image loading via ImageFactory due to memory leak on wm6x
- port to CxImage to load PNG
- use AAROT to free rotate images (analog clock)
- today plugin does not load the engine yet
http://www.xiaprojects.com/?section=All&project=XIAMultiTheme
what do you think? mail me on priv (stefano) on xiaprojects.com
Click to expand...
Click to collapse
hi stefano
i see nothing on your web site , nor screenshots nothing in download binaries
Why ???
evilc said:
Update:
I have a working prototype.
All basic functionality coded - text and image widget types, orientation switching, ini parsing...
Currently still not a today item, and there is loads to do in terms of error checking and freeing up memory etc, but it parses INI files OK
Once I have done some tidying up, I will release some source and maybe a demo EXE.
Click to expand...
Click to collapse
can you upload here the demo program ?
Sounds pretty neat!
I don't understand some of the terminology you use, but I think you may be talking about a feature I had an idea for:
profiles (XML files) can be associated with a today plugin such that you can make a profile appear in the today plugins list for each skin (XML file) you have installed - thus making each XML profile behave like it was a today plugin in it's own right.
Is that what you are talking about?
brunoisa10 said:
can you upload here the demo program ?
Click to expand...
Click to collapse
Demo uploaded to first post. Unzip it to \Storage Card\shared on your device and run.
BE AWARE, there is very little error checking when parsing the INI.
If you omit a horizres line for any widget, for example, the program will crash.
Well I checked out XIAMultiTheme and it looks promising.
I was not aware that there was a memory leak bug in IImagefactory, I wasn't planning on using it in the final version anyway, so no biggie.
If XIAMultiTheme is capable of doing what I had envisaged for openClock, I will probably stop development, as you obviously know what you are doing much more than I do
However, a couple of points:
1) Size.
XIAMultiTheme seems to be a lot bigger and requires .NET - This seems to mainly be to do with the CxImage library - just PNG support seems to add more size than my entire app is! I am flabberghasted that supporting per-pixel Alpha PNGs takes this much, an alphablend routine can be done in a K or two, hundreds seems overkill. Apart from the requirement for rotation (for analogue clocks) I do not see why a full image lib is needed. Just a load and alpha blit.
2) Orientation awareness.
As in I don't see any in XIAMultiTheme. I am really happy with the way I have handled this in openClock - each item in the INI (XML in your case) has a "horizres" value associated with it. At render time, current screen width is compared to each item's horizres and if it matches, the item is drawn, if it doesn't then it isn't shown.
This provides a nice way to combine portrait, landscape and multi-res capabilities into one theme. And as long as you allow relative paths in the theme(eg 320\320bg.png, 240\240bg.png, common\common.png) then you can have a theme which supports all resolutions and orientations, and allow the user to store what they want on their PPC (eg if their device is qVGA, they know they do not need to put the 640 and 480 dirs on their PPC for a given theme, as they won't be used)
3) Stateful buttons.
Items like a voicemail button / wifi button etc should probably have two images associated with them - one for "no messages", one for "have messages". I was planning on putting something in openClock along the lines of specifying a reg key, an operator and an image.
eg:
regkey=HKEY_LOCAL_MACHINE\...
on=thisimage.png, gt, 0
off=thatimage.png
To set to thisimage if the key is of value greater than (gt) 0 or thatimage.png if not.
Good luck!
evilc said:
just PNG support seems to add more size than my entire app is!
Click to expand...
Click to collapse
Yep. Same goes for MortButtons... (and MortPlayer, but there, the player itself is bigger in relation...)
I am flabberghasted that supporting per-pixel Alpha PNGs takes this much, an alphablend routine can be done in a K or two, hundreds seems overkill.
Click to expand...
Click to collapse
The alphablend routine is in the Draw method, and even in source code not much more than 1kB.
The trouble is to load the PNG without losing the alpha information. With Windows' API, you can't do it - there's only the crippled SHLoadImage. So you need the entire code to decode PNGs, i.e. libpng, which in return requires zlib - over 200kB only to load PNG! The remaining kBs are spend to load/decode JPEG (quite some kBs, too), GIF (if enabled), BMP, ... and some basic image processing (resample, rotate, ...).
btw, you might want to check MortImg.dll and MortImage.lib, which is a (quite) simple wrapper. If only one image library is used, at least some memory on the device is saved (and if MortButtons or MortPlayer since b72 is used, also main memory).
Check out http://mort.svnrepository.com/svn/mort/MortTools/trunk with any SVN client (e.g. Tortoise), use "guest" for login and password.
evilc said:
Well I checked out XIAMultiTheme and it looks promising.
I was not aware that there was a memory leak bug in IImagefactory, I wasn't planning on using it in the final version anyway, so no biggie.
If XIAMultiTheme is capable of doing what I had envisaged for openClock, I will probably stop development, as you obviously know what you are doing much more than I do
However, a couple of points:
1) Size.
XIAMultiTheme seems to be a lot bigger and requires .NET - This seems to mainly be to do with the CxImage library - just PNG support seems to add more size than my entire app is! I am flabberghasted that supporting per-pixel Alpha PNGs takes this much, an alphablend routine can be done in a K or two, hundreds seems overkill. Apart from the requirement for rotation (for analogue clocks) I do not see why a full image lib is needed. Just a load and alpha blit.
2) Orientation awareness.
As in I don't see any in XIAMultiTheme. I am really happy with the way I have handled this in openClock - each item in the INI (XML in your case) has a "horizres" value associated with it. At render time, current screen width is compared to each item's horizres and if it matches, the item is drawn, if it doesn't then it isn't shown.
This provides a nice way to combine portrait, landscape and multi-res capabilities into one theme. And as long as you allow relative paths in the theme(eg 320\320bg.png, 240\240bg.png, common\common.png) then you can have a theme which supports all resolutions and orientations, and allow the user to store what they want on their PPC (eg if their device is qVGA, they know they do not need to put the 640 and 480 dirs on their PPC for a given theme, as they won't be used)
3) Stateful buttons.
Items like a voicemail button / wifi button etc should probably have two images associated with them - one for "no messages", one for "have messages". I was planning on putting something in openClock along the lines of specifying a reg key, an operator and an image.
eg:
regkey=HKEY_LOCAL_MACHINE\...
on=thisimage.png, gt, 0
off=thatimage.png
To set to thisimage if the key is of value greater than (gt) 0 or thatimage.png if not.
Good luck!
Click to expand...
Click to collapse
thanks you for your good words
1) beta version will be lighter ... (need to known what image loader use)
2) will be done on Page component (tab themes are already working)
3) will be done on sensor dll with "regex" (maybe)
XIAMultiTheme is in alpha development...
I would like to "merge" code with you or may be DLL collaboration.
XIAMultiTheme does NOT need .NET it's low level GDI "C" source
When XIAMultiTheme go on Beta status the dll will be around 10kb
Configurator is .net
Thanks you
Thanks for that mort!
However, if my entire app is (currently) 61K and it supports per-pixel alpha PNGs (Via the apparently bugged IImagefactory), then surely it is more than possible in less than 100K.
It seems like libpng must be grotesquely bloated for our needs. In an ideal world, someone would re-code SHLoadImage to not lose the alpha channel for PNGs. Maybe a workaround would be to convert the PNG into a 32bit per-pixel BMP with alpha before it is passed to SHLoadImage, as SHLoadImage deals with alpha BMPs just fine and AlphaBlend works just fine with AC_SRC_ALPHA data.
stefanux said:
thanks you for your good words
1) beta version will be lighter ... (need to known what image loader use)
2) will be done on Page component (tab themes are already working)
3) will be done on sensor dll with "regex" (maybe)
XIAMultiTheme is in alpha development...
I would like to "merge" code with you or may be DLL collaboration.
XIAMultiTheme does NOT need .NET it's low level GDI "C" source
When XIAMultiTheme go on Beta status the dll will be around 10kb
Configurator is .net
Thanks you
Click to expand...
Click to collapse
Hi stef,
I am more than happy to help out on your project with design ideas, testing and proofreading of english translations.
I have plenty of ideas on what the ultimate today screen widget app should feature, I just had to set my sights lower due to my (lack of) coding abilities.
Do you have a forum or something on your site? I don't see one.
I am slightly concerned about point (3) and your regex example. I would maybe try and keep it simpler, XML is already a little complicated for non-technical users to understand, throwing regexs into the mix may be the straw that broke the camel's back. That's why I went with INI files - simpler to use for lusers
evilc said:
Thanks for that mort!
... it supports per-pixel alpha PNGs (Via the apparently bugged IImagefactory), ....
Click to expand...
Click to collapse
Please try to do this test:
load 20 png's with imgfact. and start drawing all of them like a simple animation for 10 fps... image[]->Draw() after 5 minutes my application will blow up my pda (wm61) I thinks it's a "COM" bug because it happend only calling "Draw"
stefanux said:
Please try to do this test:
load 20 png's with imgfact. and start drawing all of them like a simple animation for 10 fps...
Click to expand...
Click to collapse
Are you kidding??? 10FPS? I have a kaiser!
Seriously though, if we can get a code snippet that proves this, surely we can get MS to issue a patch?

MyQuotes 2.5 Released! - Powerful Today Plugin Reader

Overview
MyQuotes is a desktop application which you can read eBook or study vocabulary or display personalized picture. In addition, MyQuotes is very customizable, you can configure MyQuotes to change the quotes and/or background image every several seconds/minutes/hours, you can also change it by clicking or key-press for prev/Next/Random. MyQuotes support many modes that be suit for different scenes(like as reading/learning...), you can append new mode and delete old mode, and these modes can be convenient switched by desktop context menu.
MyQuotes has appended three modes by default:
1. Reading: for reading eBook;
2. Learning: for learning vocabulary words
3. Exciting: for dislpay picture/quotes/affirmations/saying
MyQuotes fetchs the content from TEXT files (specified at mode settings) that can be created and edited for convenience.
Features
Blow is a general list of features for MyQuotes Today Screen Plugin:
Desktop eBook reader
Can display quotes/affirmations/saying
Can display BMP/JPG/PNG/GIF image files
Support fixed display lines
Support fixed file lines( Word Wrap/Scrolling text)
Conveniently switch mode and file by context menu
Full customizable text files and image files
Support TEXT file format(ANSI/UTF16/UTF8)
Manual actions, such as clicking/draging/scrolling/pressing
Automatic actions, such as every several seconds/minutes/hours
Multiple change style, such as Next/Prev/Lock/Unlock/Random/Direction by region
Multifarious appearance, such as Background/Margin/Alignmeng/ProgressBar/Font
MyQuotes lights your heart.
You can access the MyQuotes's BBS : www.addintimer.com
or download at : http://classic.pocketgear.com/software_detail.asp?id=26723
or direct download the attachment following
Nice, but is it freeware or what..?
Has anyone tried...??
cheerz
it sounds so great idea
good work
but which format does it support for reading ?
pdf ? txt ?
thanks for the hard work
This costs $9.95 at Pocketgear.
haam1978 said:
it sounds so great idea
good work
but which format does it support for reading ?
pdf ? txt ?
thanks for the hard work
Click to expand...
Click to collapse
MyQuotes fetchs the content from TEXT files (specified at mode settings) that can be created and edited for convenience.
Support TEXT file format(ANSI/UTF16/UTF8)
Thanks
Unfortunly it says is trial version...
Registration
By default, MyQuotes will be installed as a trial version, which will expire after 14-days from the original installation date. To permanently activate MyQuotes on your device, you¡¯ll need to purchase the software to obtain a valid 5-digit reg key code number. Entering this code number in the ¡°About¡*¡± form will convert the trial version to the full version.
Click to expand...
Click to collapse
Needs instructions or help file
Guoyd
MyQuotes looks pretty flexable and seems to have capabilities that I'm looking for. So I bought it. However, I'm having trouble in configuring the program. Can you provide some instructions on what each of the configuration setting do? This would make things so much easier!
To help me learn Japanese, my goal is to use it to randomly post different Japanese words and phrases with their meaning on the today screen every few hours.

Chinese display support

Wanna know which software can provide support to Chinese display and input on a Pharos..
I'd like to try the English version ROM here but still, need Chinese..
WM can display by itself
All you need to do is add the fonts. You can look at this solution to explain how to add the fonts to the registry.
For an IME/SIP, I suggest A4 or TouchPal.
There is also Hanwang for handwriting recognition. I haven't used it since I can't write.
One other small thing - make sure that your documents in My Documents have ascii names. In my case, Activesync choked on the Unicode filenames.
Display solution is for WM5.0. Is there any for WM6?
Thanks
cestar can meet your request
yeah i have installed the CESTAR but i can see blind screen when i open the sms ...any idea??

[HELP]Japanese support in Traditional Chinese ROM

I checked the methods in the forum, and almost are for English ROM. When I applied that, the Chinese display couldn't work well. So anybody has any idea on Japanese dislay and input for Traditional Chinese ROM?
Please HELP~~, Thanks.
try to install CE-STAR, I think the built-in font has the japanese support
Thank you, I tried, and it worked. But the font was really terrible. I tried other several fonts like MS Yahei, however, no one is as good as the default one. Do you have any recommandation?
You can install your own font, such as MSGothic (XP) or Meiryo (Vista). Just put it in your \Windows folder, then edit the following registry (eg: for Meiryo):
[HKLM\Software\Microsoft\FontLink\SystemLink]
Tahoma = "\Windows\meiryo.ttf,Meiryo"
Courier New = "\Windows\meiryo.ttf,Meiryo"
Notes: There is a compressed version of MSGothic (msgothic.ac3 instead of .ttf) in case you need to save extra space. Also, MSGothic and Meiryo are Japanese fonts and probably do not contain all the Chinese glyphs (at least for Traditional Chinese). So if you're switching to Japanese fontlink you may have some problems with Chinese display.
You can find out about more CJK fonts here:
http://en.wikipedia.org/wiki/East_Asian_gothic_typeface
Thanks for the information. I still have a question: doesn't it mean when I install this meiryo font, Chinese character may not be displayed correctly? I got a little confused about CJK. People here always talk about GBK, which seems include Schinese, Tchinese, Korean and Japanese. Is CJK the same, including both Schinese and Tchinese?
Thank you so much for you help. Best regards!
No, you can link multiple fonts to the same keys, that way you will be able to add Japanese display support while preserving Chinese character display. You will need to change the keys to Multi-Line String types, then enter one font link per line, like so:
[HKLM\Software\Microsoft\FontLink\SystemLink]
Tahoma =
\Windows\meiryo.ttf,Meiryo
\Windows\msyh.ttf,MS Yahei
GBK refers to a specific set of chinese characters that are most commonly used across east asia (China et al, Japan, Korea). In practical terms, it means you can find fonts that have the full GBK character set within one font file.
CJK is just a general term for Chinese-Japanese-Korean language sets. There is no single "set" of characters -- you can pick and choose which fonts you'd like to use, and this often means one font for each language. The reason to use multiple fonts is because, for example, Japanese kanji often have modifications of their originating (traditional) chinese character (eg: 樂→楽), and a dedicated Japanese font may render it more clearly than a single GBK font. The same goes for language-specific characters, such as Japanese hiragana/katakana and Korean hangul. You can additionally choose which Chinese support you want (traditional or simplified).
Thank you so much!! I finally did it! This really helps a lot, I appreciate that.

[Q] How to add new language fonts to the web browser

Hi,
Android (e.g. the browser, gmail app) in it's current form does not support viewing of Indic (Devnagari) fonts.
Wherever such fonts appear, they are replaced with small square blocks.
I notice that people have managed to add Arabic support to custom ROMs and if I could do a similar thing for Indic/Devnagari support, that would be fantastic.
Hence, is there a way to add support for viewing Indic fonts to my rooted android phone?
As a note: I neither intend to replace fonts in the Android UI system nor add Indic/Devnagari input keyboards.
Your help is greatly appreciated!
dextroz said:
Hi,
Android (e.g. the browser, gmail app) in it's current form does not support viewing of Indic (Devnagari) fonts.
Wherever such fonts appear, they are replaced with small square blocks.
I notice that people have managed to add Arabic support to custom ROMs and if I could do a similar thing for Indic/Devnagari support, that would be fantastic.
Hence, is there a way to add support for viewing Indic fonts to my rooted android phone?
As a note: I neither intend to replace fonts in the Android UI system nor add Indic/Devnagari input keyboards.
Your help is greatly appreciated!
Click to expand...
Click to collapse
Unfortunately first you gonna have to replace the system font (at least fallback) with a hindi (devanagiri font). This will show you Hindi in screen but it'll not be rendered properly..
to make render work properly, you need to dive inside the rendering engine used by Android. Halfbuzz is the rendering engine used by the Android. You need to figure out how to make it render Hindi. You are on your own now.
Btw check out latest firmware update on Samsung Galaxy series. They support Indic.

Categories

Resources