2 * Add bitmap run combining/compositing
3 This changes the text rendering model and increases compatibility with
4 VSFilter. It may make rendering faster or slower in certain cases.
5 * Add AVX/SSE2 implementations for \be and compositing
6 This adds yasm as (optional) build dependency.
7 * Add ass_library_version() API funcion (GC #113)
8 * Add 'profile' program for benchmarks
9 * Improve gaussian blur
10 * Fix compilation with MSVC 2013
11 * Speed up HarfBuzz shaper
13 * Notable compatibility bugfixes
14 * Reset origin on \fay changes (GC #88)
15 * Tons of parser fixes
16 * Fix ascender/descender metrics (GH #8)
17 * Fix \pbo sign and scaling
18 * Don't reset wrap style on \r (GC #116, GH #45)
20 * Correctly handle @font advance (GC #94)
21 * Disable ligatures for non-zero \fsp
22 * Make sure to release vector clip (GH #22)
25 * API additions and some ABI changes, bumped SONAME
26 * Expose header field for VSFilter color mangling (GC #87)
27 * Add functions for explicit scaling hints (GC #6)
28 * Add 'type' field to ASS_Image (GC #31)
29 * Workaround Freetype's font size grid-fitting where appropriate
30 * Apply blur to both glyph and border when using opaque box
32 * Parse angles in style as number
33 * Fix fallback event formats
34 * Make closing ')' optional for some tags
35 * Fix crazy VSFilter behaviour for \move (GC #90)
36 * Make \r fall back to line style (GC #104)
37 * Parse style name like VSFilter
38 * Ignore junk in nested \t tags
39 * Make \clip tag arguments mandatory
40 * Properly handle script and language in the HarfBuzz shaper
41 * Allow ASS_Track and ASS_Renderer to have different ASS_Library
42 * Fix stroking in some rare cases
43 * Correctly handle @font advance (GC #94)
44 * Fix ascent/descent for some fonts (GC #106)
45 * Fix ass_step_sub to not require sorted events
47 * Don't mutate input strings (GC #88)
48 * Remove/change some error messages
49 * Fix various small memory leaks
53 * Add \rSTYLENAME syntax support (GC #43)
54 * Fix border generation and border style reset (GC #56)
55 * Fix various issues with bug-for-bug compatibility of
56 transformations (\fax, \fay, etc.) to VSFilter (GC #46, GC #42)
57 * Fix drawing parsing (GC #47)
58 * Various fixes to shaper (GC #54, GC #55, GC#59)
59 * Fix change detection
60 * Add ass_set_line_position API to set a vertical subtitle offset
61 * Fix scaling of drawing baseline offset (\pbo) values
62 * Fix skipping of zero-width characters for FriBiDi shaper
63 * Use LTR text base direction by default, similar to VSFilter
66 * Bidirectional layout and Arabic shaping via FriBidi (GC #13)
67 * OpenType shaping via HarfBuzz-ng (GC #13)
68 * Add API for shaper configuration
69 * Add support for `Language' Script Info property, this can be used for
70 hinting the text language
71 * Vertical layout improvements
72 * Use `vert' and `vkna' OpenType features for vertical glyph variants
73 * Position rotated glyphs onto baseline
74 * Parse font encoding property for base text direction hinting
75 * Refactor cache system
76 * Use generic outlines in place of FreeType glyphs
77 * Direct outline bitmap rendering
78 * Fix whitespace trimming (GC #35)
79 * Do not render border if there's no shadow or glyph (GC #29)
80 * Adjust spacing after a italic to non-italic style change (GC #37)
82 * Fix x positioning with borders (GC #27)
86 * Switch to permissive (ISC) license
87 * Support \fs+ and \fs- syntax for modifying font size
89 * Improved charmap fallback matching
90 * Handle a few more VSFilter quirks correctly
91 * Add a sensible default style
92 * Fix compilation against libpng 1.5
95 * Fix serious memory leaks
96 * Reduce frame/drawing initialization overhead
99 * Basic (incorrect, but working) support for @font vertical text layout
100 * Fix multiple faces per font attachment
101 * charmap selection fixes
102 * Add ass_flush_events API function
103 * Improve fullname font matching
104 * Better PAR correction if text transforms are used
105 * Calculate drawing bounding box like VSFilter
106 * Performance improvements
107 * Cache vector clip masks
108 * Avoid unnecessary glyph copies
109 * Various rendering fixes
112 * Parse numbers in a locale-independent way
113 * Remove support for freetype < 2.2.1, fontconfig < 2.4.1; this especially
114 means libass will not extract fonts into the file system anymore
115 * Disable script file size limit
116 * Match fonts against the full name ("name for humans")
117 * Reset clip mode after \iclip
118 * Improve VSFilter compatibility
119 * Update API documentation
120 * A couple of smaller fixes and cleanups
123 * Support \q override tag
124 * Support wrap style 1 (i.e. wrap, but do not equalize line lengths)
125 * Support border style 3 (opaque box)
126 * Use the event bounding box (instead of vertical position and height) for
128 * Embold glyphs if no bold variant is available, but was requested
129 * Modify \fax to be similar to VSFilter
130 * Trim spaces after line wrapping
131 * Fix border/shadow overlap combining in some cases
132 * Disable kerning by default. Use "Kerning=yes" style override or
133 "Kerning: yes" in [Script Info] to enable it
134 * Slight bitmap handling optimizations
139 * Fixed cache lookup and overload problems
140 * All globals have been eliminated, libass is reentrant
141 * Dynamically allocate glyph and line buffers
142 * Fix up stroking of big borders
143 * Support empty lines (\N\N)
144 * Support for the following override tags:
145 \fax, \fay, \xshad, \yshad, \ybord, \xbord, \iclip, \u, \s, \p, \pbo
146 * Full subpixel accuracy for positioning
147 * PAR and rotation correction for EOSD rendering
148 * Drawing mode (including vector \clip and \iclip)
149 * Fixed a few memory leaks
150 * Removed MPlayer compatibility code
151 * Introduced message handling callback
152 * Various fixes to match VSFilter quirks and Windows font metrics
156 * Various fixes and updates to match VSFilter renderer.
157 * Support \blur tag and ScaledBordersAndShadow property.
158 * Fractional arguments and subpixel accuracy.
159 * Keep positions when pan-and-scan is used.
160 * Lots of bugfixes and other changes.
163 * Support '=' and '.' in style name in arguments to ass_set_style_overrides().
164 * Allow overriding [Script Info] parameters with ass_set_style_overrides().
165 * Add workarounds for some buggy fonts.
166 * Remove buggy workarounds for some other fonts.
167 * Fixed ass_set_line_spacing() (was broken before).
168 * Negative margin sizes are now used for image cropping.
169 * Better handling of behind-the-camera objects.
170 * Case insensitive parsing of SSA/ASS section headers.
171 * Improved font matching.
172 * When 2 styles have the same name, the later one is used.
173 * Fixed several other bugs.