12e5b6d6dSopenharmony_ci---
22e5b6d6dSopenharmony_cilayout: default
32e5b6d6dSopenharmony_cititle: Transforms
42e5b6d6dSopenharmony_cinav_order: 1100
52e5b6d6dSopenharmony_cihas_children: true
62e5b6d6dSopenharmony_ci---
72e5b6d6dSopenharmony_ci<!--
82e5b6d6dSopenharmony_ci© 2020 and later: Unicode, Inc. and others.
92e5b6d6dSopenharmony_ciLicense & terms of use: http://www.unicode.org/copyright.html
102e5b6d6dSopenharmony_ci-->
112e5b6d6dSopenharmony_ci
122e5b6d6dSopenharmony_ci# Transforms
132e5b6d6dSopenharmony_ci{: .no_toc }
142e5b6d6dSopenharmony_ci
152e5b6d6dSopenharmony_ci## Contents
162e5b6d6dSopenharmony_ci{: .no_toc .text-delta }
172e5b6d6dSopenharmony_ci
182e5b6d6dSopenharmony_ci1. TOC
192e5b6d6dSopenharmony_ci{:toc}
202e5b6d6dSopenharmony_ci
212e5b6d6dSopenharmony_ci---
222e5b6d6dSopenharmony_ci
232e5b6d6dSopenharmony_ci## Overview
242e5b6d6dSopenharmony_ci
252e5b6d6dSopenharmony_ciTransforms are used to process Unicode text in many different ways. Some include
262e5b6d6dSopenharmony_cicase mapping, normalization, transliteration and bidirectional text handling.
272e5b6d6dSopenharmony_ci
282e5b6d6dSopenharmony_ci### Case Mappings
292e5b6d6dSopenharmony_ci
302e5b6d6dSopenharmony_ci[Case mapping](casemappings.md) is used to handle mappings of upper- and lower-case characters from
312e5b6d6dSopenharmony_cione language to another language, and writing systems that use letters of the
322e5b6d6dSopenharmony_cisame alphabet to handle titlecase mappings that are particular to some class.
332e5b6d6dSopenharmony_ciThey provide for certain language-specific mappings as well.
342e5b6d6dSopenharmony_ci
352e5b6d6dSopenharmony_ci### Normalization
362e5b6d6dSopenharmony_ci
372e5b6d6dSopenharmony_ci[Normalization](normalization/index.md) is used to convert text to a unique, equivalent form. Systems can
382e5b6d6dSopenharmony_cinormalize Unicode-encoded text to one particular sequence, such as a normalizing
392e5b6d6dSopenharmony_cicomposite character sequences into precomposed characters. While Normalization
402e5b6d6dSopenharmony_ciForms are specified for Unicode text, they can also be extended to non-Unicode
412e5b6d6dSopenharmony_ci(legacy) character encodings. This is based on mapping the legacy character set
422e5b6d6dSopenharmony_cistrings to and from Unicode.
432e5b6d6dSopenharmony_ci
442e5b6d6dSopenharmony_ci### Transforms
452e5b6d6dSopenharmony_ci
462e5b6d6dSopenharmony_ci[Transforms](general/index.md) provide a general-purpose package for processing Unicode text. They
472e5b6d6dSopenharmony_ciare a powerful and flexible mechanism for handling a variety of different tasks,
482e5b6d6dSopenharmony_ciincluding:
492e5b6d6dSopenharmony_ci
502e5b6d6dSopenharmony_ci*   Uppercase, Lowercase, Titlecase, Full/Halfwidth conversions
512e5b6d6dSopenharmony_ci
522e5b6d6dSopenharmony_ci*   Normalization
532e5b6d6dSopenharmony_ci
542e5b6d6dSopenharmony_ci*   Hex and Character Name conversions
552e5b6d6dSopenharmony_ci
562e5b6d6dSopenharmony_ci*   Script to Script conversion
572e5b6d6dSopenharmony_ci
582e5b6d6dSopenharmony_ci### Bidirectional Algorithm
592e5b6d6dSopenharmony_ci
602e5b6d6dSopenharmony_ciThe [Bidirectional Algorithm](bidi.md) was developed to specify the direction of text in a
612e5b6d6dSopenharmony_citext flow.
62