summaryrefslogtreecommitdiffstats
path: root/libass/ass_shaper.h
Commit message (Collapse)AuthorAgeFilesLines
* Introduce ASS_Shaper objectGrigori Goronzy2011-07-131-7/+13
| | | | | | Encapsulate all data related to shaping into this new object and migrate all shaping-related code to it. The object is long-living; arrays are allocated only once and then grown as needed.
* Support glyph clusters of multiple glyphsGrigori Goronzy2011-07-111-0/+1
| | | | | | | | | Sometimes a glyph cluster resolves to multiple glyphs, for example when diacritics are used with Arabic script. This doesn't map well to the list of glyphs expected by libass. Extend the glyph list to a list of singly-linked glyph clusters of glyphs and adapt the renderer to support this.
* shaper: print version info stringGrigori Goronzy2011-07-061-0/+1
|
* Provisional bidi and shaping supportGrigori Goronzy2011-07-061-0/+28
Adds fully working bidirectional text and simple shaping support. The following works: - bidirectional text according to the Unicode Bidirectional Algorithm - simple shaper for mirrored forms (brackets, etc.) according to rule L4 of the Unicode Bidirectional Algorithm - reordering into visual order with correct line wrapping However, the implementation certainly needs efficiency improvements (caching, less malloc'ing), a proper shaper (HarfBuzz) needs to be hooked up and various bugs with karaoke and positioning need to be fixed.