/Calligraphy

Custom fonts in Android the easy way...

Primary LanguageJavaApache License 2.0Apache-2.0

Calligraphy

Custom fonts in Android the easy way.

Are you fed up of Custom views to set fonts? Or traversing the ViewTree to find TextViews? Yeah me too.

alt text

##Getting started

Download from Maven (.jar)

OR

Include the dependency: (Waiting to be synced with MavenCentral.)

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/groups/staging" }
}
dependencies {
    compile 'uk.co.chrisjenx.calligraphy:calligraphy:0.5.+'
}

Add your custom fonts to assets/ all font definition is relative to this path.

Define your default font using CalligraphyConfig.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    CalligraphyConfig.initDefault("fonts/Roboto-Regular.ttf");
    //....
}

###Important

Wrap the Activity Context:

@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(new CalligraphyContextWrapper(newBase));
}

You're good to go!


Custom font per TextView

Of course:

<TextView
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="fonts/Roboto-Bold.ttf"/>

Custom font in styles

No problem:

<style name="TextViewCustomFont">
    <item name="android:fontFamily">fonts/RobotoCondensed-Regular.ttf</item>
</style>

#FAQ

Why piggyback off of fontFamily attribute?

Means the the library can compile down to a jar instead of an aar, as it is not dependant on any resources. (This may of course change in the future if we run into issues)

CustomText/Button View support

Coming soon!