Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

I would like to change the font size throughout the entire operating system, not just in one app or on one screen. Is there a way to do this?

Searching the internet brought up someone saying the Spare Parts app on the Market can do this, but that was incorrect. Its font size preference only affects the app itself.

The developer documentation does seem to imply there is a user font size preference. From http://developer.android.com/intl/fr/guide/topics/resources/more-resources.html :

sp Scale-independent Pixels - this is like the dp unit, but it is also scaled by the user's font size preference.

But it does not say anything about how a user is supposed to set this. I don't see it in the settings on the phones I have.

share|improve this question
add comment

4 Answers

up vote 1 down vote accepted

There is now a setting for this, though I'm not sure if it is in stock Android and since which version it is available. It was definitely there in Sony's Gingerbread and ICS ROMs (Xperia Neo V) and Cyanogenmod 9/10.

In Cyanogenmod 9+, it's in the "System" submenu below the "Interface" caption.

share|improve this answer
    
I know HTC's ICS has an option for Font Size as well, in Settings then Display. Yay for progress. –  Lance Nanek Sep 13 '12 at 3:38
add comment

Take a look at "Font Size (for root users)" in the market. It costs $1.36 and only works with rooted phones but it claims to:

"globally enlarges/decreases text size in all apps (Email, SMS, Maps, Home, Weather, Calendar, Widgets, ...)"

The reviews aren't so good but it's worth a try.

share|improve this answer
add comment

Another option ( very restricted, because involves changes in the platform ) is to change the

./frameworks/base/core/java/android/content/res/Configuration.java

file.

There you must:

-Create a setter/getter pair to obtain the font value

-Change the point where the file obtain the value. I changed the method

public void setToDefaults(){
  //I set the class member to the desired value trough my getter ( getFontScale )
  fontScale= this.getFontScale();
  ...
  ...
}

-Initialize the class member to the stored value:

   //This is the class member ( previouslly not initialized. Now i set it´s value trough my getter )
   public float fontScale= this.getFontScale();

This way every app will initially have it´s font setted to the stored value.

ps: You should create an interface in the Android Settings apk too, otherwise your font would only start with a fixed value.

I can give more details if needed.

share|improve this answer
add comment

The Spare Parts Plus app (free) does work on my Honeycomb tablet (Asus Transformer) across all apps.

However, as is noted in your question, it only works if the developer has used a specific technique of specifying font-sizes in their application. The sizes need to be specified in "sp" units for this technique to be effective.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.