Add commentary on the compatibility decomposition in the normalizer
This commit is contained in:
parent
0834d95201
commit
84186a6400
|
@ -63,10 +63,22 @@
|
|||
*
|
||||
* - When a font does not support a character but supports its decomposition,
|
||||
* well, use the decomposition (preferring the canonical decomposition, but
|
||||
* falling back to the compatibility decomposition if necessary).
|
||||
* falling back to the compatibility decomposition if necessary). The
|
||||
* compatibility decomposition is really nice to have, for characters like
|
||||
* ellipsis, or various-sized space characters.
|
||||
*
|
||||
* - The Indic shaper requests decomposed output. This will handle splitting
|
||||
* matra for the Indic shaper.
|
||||
* - The complex shapers can customize the compose and decompose functions to
|
||||
* offload some of their requirements to the normalizer. For example, the
|
||||
* Indic shaper may want to disallow recomposing of two matras.
|
||||
*
|
||||
* - We try compatibility decomposition if decomposing through canonical
|
||||
* decomposition alone failed to find a sequence that the font supports.
|
||||
* We don't try compatibility decomposition recursively during the canonical
|
||||
* decomposition phase. This has minimal impact. There are only a handful
|
||||
* of Greek letter that have canonical decompositions that include characters
|
||||
* with compatibility decomposition. Those can be found using this command:
|
||||
*
|
||||
* egrep "`echo -n ';('; grep ';<' UnicodeData.txt | cut -d';' -f1 | tr '\n' '|'; echo ') '`" UnicodeData.txt
|
||||
*/
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue