[Samsung Galaxy Nexus] gibosi:
I checked the suggested similar threads, but didn't see anything that seemed to pertain to my question......

Anywa, it seems that I might be in way over my head, but still, it seems that this should be simple to do? In system/etc there is an xml file, fallback_fonts.xml which determines the order in which fonts will be searched to handle glyphs that are not system level fonts. I wish to modify that file.

The problem I wish to address is the proper display of Japanese fonts. In this xml file, DroidSansFallback.ttf comes before MTLmr3m.ttf. As a result, simplified Chinese fonts are always selected rather than the Japanese font (MTLmr3m.ttf). While many of the characters are the same as the Japanese versions, a significant number are not. I found a couple of xml editors on the web (XML Notepad 2007 and FirstObject XML editor) and used each of them to move MTLmr3m.ttf before DroidSansFallback.ttf. However, after saving, renaming and rebooting, the entire file appeared to have been corrupted, no matter which editor I used. For example, not only do I not have any Asian fonts, but One More Clock is unable to display time and temperature. So it appears that this is not as simple as I assumed.

In the Android 4.1 distribution for the GNex, there was also a fallback_fonts-ja.xml which placed MTLmr3m.ttf before DroidSansFallback.ttf. Therefore, it was a simple matter to rename and substitute that file and all was good. However, the 4.2 distribution does not include a fallback_fonts-ja.xml file. But I thought, I will make my own fallback_fonts-ja.xml! How hard can it be? Well... :(

So, I am hoping that this is in fact a simple process for more experienced and capable folks and that someone will be kind enough to show me how to do this.

Thanks much! :)

<?xml version="1.0" encoding="utf-8"?>

<!--

Fallback Fonts

This file specifies the fonts, and the priority order, that will be searched for any

glyphs not handled by the default fonts specified in /system/etc/system_fonts.xml.

Each entry consists of a family tag and a list of files (file names) which support that

family. The fonts for each family are listed in the order of the styles that they

handle (the order is: regular, bold, italic, and bold-italic). The order in which the

families are listed in this file represents the order in which these fallback fonts

will be searched for glyphs that are not supported by the default system fonts (which are

found in /system/etc/system_fonts.xml).

Note that there is not nameset for fallback fonts, unlike the fonts specified in

system_fonts.xml. The ability to support specific names in fallback fonts may be supported

in the future. For now, the lack of files entries here is an indicator to the system that

these are fallback fonts, instead of default named system fonts.

There is another optional file in /vendor/etc/fallback_fonts.xml. That file can be used to

provide references to other font families that should be used in addition to the default

fallback fonts. That file can also specify the order in which the fallback fonts should be

searched, to ensure that a vendor-provided font will be used before another fallback font

which happens to handle the same glyph.

Han languages (Chinese, Japanese, and Korean) share a common range of unicode characters;

their ordering in the fallback or vendor files gives priority to the first in the list.

Language-specific ordering can be configured by adding a BCP 47-style "lang" attribute to

a "file" element; fonts matching the language of text being drawn will be prioritised over

all others.

-->

<familyset>

<family>

<fileset>

<file variant="elegant">DroidNaskh-Regular.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file variant="compact">DroidNaskh-Regular-SystemUI.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansEthiopic-Regular.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansHebrew-Regular.ttf</file>

<file>DroidSansHebrew-Bold.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansThai.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansArmenian.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansGeorgian.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansDevanagari-Regular.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansTamil-Regular.ttf</file>

<file>DroidSansTamil-Bold.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>AnjaliNewLipi-light.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>Lohit-Bengali.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>Lohit-Kannada.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>NanumGothic.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>AndroidEmoji.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file>DroidSansFallback.ttf</file>

</fileset>

</family>

<family>

<fileset>

<file lang="ja">MTLmr3m.ttf</file>

</fileset>

</family>

<!--

Fonts below this point have problematic glyphs and should not be moved

higher in the fallback list until those glyphs have been fixed.

-->

<family>

<fileset>

<file>Lohit-Telugu.ttf</file> <!-- masks U+FFBC-10007 -->

</fileset>

</family>

</familyset>