# ibireme/yytext

**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/ibireme-yytext).**

8,872 stars · 1,834 forks · Objective-C · MIT

## Links

- GitHub: https://github.com/ibireme/YYText
- awesome-repositories: https://awesome-repositories.com/repository/ibireme-yytext.md

## Description

YYText is an iOS rich text framework used for rendering and editing complex attributed text. It features an asynchronous text rendering engine that calculates layout on background threads to maintain interface performance, alongside an attributed text serializer for converting rich text structures into storable formats.

The framework provides specialized tools for non-rectangular text layout, allowing text to wrap around custom container paths and exclusion shapes. It also supports advanced typography requirements, including vertical text formatting for East Asian languages and the application of visual effects such as borders and inner shadows.

The system covers a broad range of capabilities including a rich text editor component with undo history, markdown and emoji parsing, and the integration of interactive mixed-media elements such as images and views within text flows.

## Tags

### User Interface & Experience

- [Rich Text Editors](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors.md) — Provides a full framework for building a rich text editing environment with custom document models. ([source](https://github.com/ibireme/yytext#readme))
- [Dynamic Text Wrapping Engines](https://awesome-repositories.com/f/user-interface-experience/layout-containers/dynamic-text-wrapping-engines.md) — Calculates text line breaks that wrap around custom geometric vector shapes and exclusion paths.
- [Obstacle-Aware Text Flow](https://awesome-repositories.com/f/user-interface-experience/layout-containers/dynamic-text-wrapping-engines/obstacle-aware-text-flow.md) — Provides obstacle-aware text flow using custom container paths and internal padding. ([source](https://github.com/ibireme/yytext#readme))
- [Rich Text State Management](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors/rich-text-state-management.md) — Manages copying, pasting, and undo history for formatted content using specialized placeholders. ([source](https://github.com/ibireme/yytext#readme))
- [Rich Text Renderers](https://awesome-repositories.com/f/user-interface-experience/rich-text-renderers.md) — Renders complex attributed text using an asynchronous layout system to prevent interface lag. ([source](https://github.com/ibireme/yytext#readme))
- [Rich Text State Persistence](https://awesome-repositories.com/f/user-interface-experience/rich-text-renderers/rich-text-state-persistence.md) — Converts complex attributed text structures into storable formats for archiving and transmission.
- [Vertical Typesetting](https://awesome-repositories.com/f/user-interface-experience/character-encoding-support/east-asian-character-support/vertical-typesetting.md) — Supports vertical text formatting to meet native typesetting requirements for East Asian languages.
- [Interactive Text Attachments](https://awesome-repositories.com/f/user-interface-experience/interactive-text-attachments.md) — Supports inserting interactive images and views as text attachments with custom highlight ranges. ([source](https://github.com/ibireme/yytext#readme))
- [Markdown and Emoji Parsers](https://awesome-repositories.com/f/user-interface-experience/markdown-and-emoji-parsers.md) — Converts raw strings, markdown, and emojis into structured, formatted rich text for display.
- [Mixed-Media Text Layouts](https://awesome-repositories.com/f/user-interface-experience/mixed-media-text-layouts.md) — Integrates images, views, and layers directly within text flows to create mixed-media layouts. ([source](https://github.com/ibireme/yytext#readme))
- [Media Attachments](https://awesome-repositories.com/f/user-interface-experience/multimedia-embeds/media-attachments.md) — Supports integrating images and external views into text flows by treating them as non-textual attachments.
- [Structured Rich Text Converters](https://awesome-repositories.com/f/user-interface-experience/rich-text-editors/structured-rich-text-converters.md) — Converts markdown or emoticons into formatted rich text using built-in text parsers. ([source](https://github.com/ibireme/yytext#readme))
- [Text Attribute Styling Systems](https://awesome-repositories.com/f/user-interface-experience/text-attribute-styling-systems.md) — Implements a styling system that maps custom metadata to native attributes for effects like borders and shadows.
- [Text Editing Components](https://awesome-repositories.com/f/user-interface-experience/text-editing-components.md) — Ships editing utilities including undo/redo operations and custom keyboard view integrations. ([source](https://github.com/ibireme/yytext#readme))
- [Text Highlighting](https://awesome-repositories.com/f/user-interface-experience/text-highlighting.md) — Allows defining custom-styled, clickable regions within text blocks to trigger specific actions. ([source](https://github.com/ibireme/yytext#readme))
- [Advanced Visual Attributes](https://awesome-repositories.com/f/user-interface-experience/text-styling/advanced-visual-attributes.md) — Provides advanced visual attributes such as borders and shadows for standard text elements. ([source](https://github.com/ibireme/yytext#readme))
- [Advanced Visual Effects](https://awesome-repositories.com/f/user-interface-experience/text-styling/advanced-visual-effects.md) — Implements advanced visual effects like inner shadows and glyph transformations to enhance text appearance. ([source](https://github.com/ibireme/yytext#readme))
- [Vertical Text Layout Engines](https://awesome-repositories.com/f/user-interface-experience/vertical-text-layout-engines.md) — Supports vertical text orientation and typesetting requirements for East Asian languages. ([source](https://github.com/ibireme/yytext#readme))

### Data & Databases

- [Rich Text Serialization](https://awesome-repositories.com/f/data-databases/serialization-libraries/rich-text-serialization.md) — Provides a serializer to convert complex rich text structures into storable formats and restore them. ([source](https://github.com/ibireme/yytext#readme))

### Development Tools & Productivity

- [Rich Text Serializers](https://awesome-repositories.com/f/development-tools-productivity/structured-text-converters/rich-text-serializers.md) — Provides a utility for converting complex rich text structures into storable formats and restoring them.

### Graphics & Multimedia

- [Asynchronous Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/text-rendering/asynchronous-rendering-engines.md) — Calculates text layout on background threads to prevent main thread blocking during complex renders.
- [Text Shaping and Layout](https://awesome-repositories.com/f/graphics-multimedia/text-shaping-and-layout.md) — Calculates precise glyph positioning and layout on background threads to maintain performance. ([source](https://github.com/ibireme/yytext#readme))

### Mobile Development

- [iOS Rich Text Frameworks](https://awesome-repositories.com/f/mobile-development/ios-rich-text-frameworks.md) — Provides a complete framework for rendering and editing complex attributed text with custom layouts on iOS.

### Software Engineering & Architecture

- [Background Thread Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/background-thread-dispatchers.md) — Provides an asynchronous engine that offloads complex text layout calculations to background threads to keep the UI responsive.
- [State Serialization](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/persistence-and-serialization/state-serialization.md) — Serializes complex attributed text hierarchies into storable formats for archiving and restoration.

### Content Management & Publishing

- [Markdown to Rich Text Parsers](https://awesome-repositories.com/f/content-management-publishing/markdown-to-rich-text-parsers.md) — Converts raw markdown input into formatted rich text objects by scanning for syntax patterns.
- [Rich Text Format Parsers](https://awesome-repositories.com/f/content-management-publishing/rich-text-format-parsers.md) — Converts raw strings into rich text using parsing logic that supports markdown and emojis. ([source](https://github.com/ibireme/yytext#readme))

### Part of an Awesome List

- [Text and Typography](https://awesome-repositories.com/f/awesome-lists/devtools/text-and-typography.md) — Powerful rich text framework for iOS.
- [Text Processing](https://awesome-repositories.com/f/awesome-lists/devtools/text-processing.md) — Powerful framework for displaying and editing rich text.
