# chrisjenx/calligraphy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/chrisjenx-calligraphy).**

8,529 stars · 1,075 forks · Java · Apache-2.0 · archived

## Links

- GitHub: https://github.com/chrisjenx/Calligraphy
- awesome-repositories: https://awesome-repositories.com/repository/chrisjenx-calligraphy.md

## Description

Calligraphy is an Android typography framework and custom font manager used to map custom font files to text views through hierarchical style resolution and global default configurations. It provides a system for defining global default fonts and fallback priorities across an entire Android application.

The project manages font assignments by evaluating a priority chain of view attributes, styles, text appearances, and themes. This allows for the injection of custom typefaces into Android text components and the mapping of font assets to theme attributes to maintain a uniform visual identity.

The framework covers the broader areas of Android UI styling, custom font management, and theme implementation, enabling configuration-driven styling via XML attributes.

## Tags

### Mobile Development

- [Android Typography Systems](https://awesome-repositories.com/f/mobile-development/android-typography-systems.md) — Provides a flexible typography framework for Android that handles global defaults and specific view overrides.
- [Android Custom Font Managers](https://awesome-repositories.com/f/mobile-development/android-custom-font-managers.md) — Acts as a specialized manager for applying custom font files to Android text views through style hierarchies.
- [Attribute-Based Style Resolution](https://awesome-repositories.com/f/mobile-development/attribute-based-style-resolution.md) — Implements a priority-based resolution system to determine the active typeface using Android view attributes and styles.

### Part of an Awesome List

- [Font Hierarchy Resolution](https://awesome-repositories.com/f/awesome-lists/devtools/font-management/font-fallback-chains/font-hierarchy-resolution.md) — Determines the active font by evaluating a priority chain of view attributes, styles, text appearances, and themes. ([source](https://github.com/chrisjenx/calligraphy#readme))
- [Developer Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/developer-utilities.md) — Utility for using custom fonts in Android.

### DevOps & Infrastructure

- [Custom Font Management](https://awesome-repositories.com/f/devops-infrastructure/android-configuration-management/custom-font-management.md) — Implements centralized configuration and priority hierarchies for applying custom typefaces to Android apps.

### User Interface & Experience

- [Android Typography Frameworks](https://awesome-repositories.com/f/user-interface-experience/android-typography-frameworks.md) — Provides a comprehensive framework for defining global default fonts and fallback priorities across an entire Android application.
- [Font Configurations](https://awesome-repositories.com/f/user-interface-experience/font-configurations.md) — Allows the definition of a global fallback font in the product configuration that applies to all text views. ([source](https://github.com/chrisjenx/calligraphy#readme))
- [Custom Font Assignment](https://awesome-repositories.com/f/user-interface-experience/font-configurations/font-configurators/custom-font-assignment.md) — Enables the assignment of custom font files to text elements via configuration attributes to reduce manual styling. ([source](https://github.com/chrisjenx/calligraphy#readme))
- [Font Overrides](https://awesome-repositories.com/f/user-interface-experience/font-configurations/font-overrides.md) — Provides a mechanism for replacing standard system typefaces with a global custom font fallback via configuration.
- [View-Layer Injection](https://awesome-repositories.com/f/user-interface-experience/font-configurations/font-overrides/view-layer-injection.md) — Injects custom typefaces into Android text components by overriding default font resolution during view instantiation.
- [Font Mapping](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/dynamic-styling-systems/data-driven-styling/font-mapping.md) — Allows mapping custom font files to specific UI elements using XML attributes instead of manual code.
- [View Style Extenders](https://awesome-repositories.com/f/user-interface-experience/view-style-extenders.md) — Resolves font assignments by evaluating a priority chain of themes and text appearances during view styling.
- [Aesthetic Theme Implementations](https://awesome-repositories.com/f/user-interface-experience/aesthetic-theme-implementations.md) — Manages font fallbacks and overrides within Android themes to maintain a uniform visual identity.
- [Themed Typography](https://awesome-repositories.com/f/user-interface-experience/themed-typography.md) — Links specific font assets to Android theme attributes to ensure consistent typographic styling across the app.
- [UI Styling](https://awesome-repositories.com/f/user-interface-experience/ui-styling.md) — Defines a consistent typographic look and feel across an Android app without manual per-view styling.
