2 * VSFilter blur compatibility changes
3 * VSFilter color/alpha parsing compatibility changes
5 * Fix some potential memory leaks and crashes
6 * Fix large timestamps (larger than about 600 hours)
7 * Fix a potential crash with the new rasterizer and complex fonts
8 * Do not apply user-configured line position to non-dialog events
9 * Strictly clip non-dialog events to the video rectangle
12 * Add extern "C" guards to the public headers for C++ compatibility
13 * Improvements to style override API and implementation
15 * Fix some rasterizer bugs of unknown severity
16 * Fix a broken memset() of unknown severity
17 * Make timestamp parsing more lenient, which makes libass accept invalid
18 files accepted by most other ASS parsers
19 * Increase compatibility with broken ASS drawings accepted by VSFilter
22 * Make ASS drawings with an extremely high number of control points work
23 This change increases compatibility with VSFilter.
25 * Fix a crash when using newer harfbuzz versions (GH #155)
26 * Load embedded memory fonts correctly
27 * Large shadow offsets rendered incorrectly (GH #142)
28 * Fix incorrect closing of last drawing contour
29 * Fix issues with undefined behavior in shifts
30 * Lots of of malloc() error checking
33 * Implement fast quad-tree rasterizer in C and SSE2/AVX2 assembly
35 * Add BorderStyle=4 (GH #105)
36 * Add selective style override functionality
37 * ass_set_selective_style_override()
38 * ass_set_selective_style_override_enabled()
39 * Support for assembly on DragonFly BSD
41 * Various parser fixes
42 * Fix premature parser exit on }{ in drawing mode (GH #75)
43 * Reset clipping mode on every rectangle clip
44 * Improved error handling for FriBidi and FreeType (GH #131)
45 * Fix bitmap combining cache
48 * Improve yasm version check
50 * Actually export ass_library_version
51 * Fix change detection with vector clips
52 * SIMD assembly bugfixes
53 * Parse drawing numbers as floats (GH #63)
54 * Fix shaper sign bug (GH #68)
55 * Initialize \pbo correctly (GH #74)
58 * Fix distfile generation
59 * No functional changes
62 * Add bitmap run combining/compositing
63 This changes the text rendering model and increases compatibility with
64 VSFilter. It may make rendering faster or slower in certain cases.
65 * Add AVX/SSE2 implementations for \be and compositing
66 This adds yasm as (optional) build dependency.
67 * Add ass_library_version() API funcion (GC #113)
68 * Add 'profile' program for benchmarks
69 * Improve gaussian blur
70 * Fix compilation with MSVC 2013
71 * Speed up HarfBuzz shaper
73 * Notable compatibility bugfixes
74 * Reset origin on \fay changes (GC #88)
75 * Tons of parser fixes
76 * Fix ascender/descender metrics (GH #8)
77 * Fix \pbo sign and scaling
78 * Don't reset wrap style on \r (GC #116, GH #45)
80 * Correctly handle @font advance (GC #94)
81 * Disable ligatures for non-zero \fsp
82 * Make sure to release vector clip (GH #22)
85 * API additions and some ABI changes, bumped SONAME
86 * Expose header field for VSFilter color mangling (GC #87)
87 * Add functions for explicit scaling hints (GC #6)
88 * Add 'type' field to ASS_Image (GC #31)
89 * Workaround Freetype's font size grid-fitting where appropriate
90 * Apply blur to both glyph and border when using opaque box
92 * Parse angles in style as number
93 * Fix fallback event formats
94 * Make closing ')' optional for some tags
95 * Fix crazy VSFilter behaviour for \move (GC #90)
96 * Make \r fall back to line style (GC #104)
97 * Parse style name like VSFilter
98 * Ignore junk in nested \t tags
99 * Make \clip tag arguments mandatory
100 * Properly handle script and language in the HarfBuzz shaper
101 * Allow ASS_Track and ASS_Renderer to have different ASS_Library
102 * Fix stroking in some rare cases
103 * Correctly handle @font advance (GC #94)
104 * Fix ascent/descent for some fonts (GC #106)
105 * Fix ass_step_sub to not require sorted events
107 * Don't mutate input strings (GC #88)
108 * Remove/change some error messages
109 * Fix various small memory leaks
113 * Add \rSTYLENAME syntax support (GC #43)
114 * Fix border generation and border style reset (GC #56)
115 * Fix various issues with bug-for-bug compatibility of
116 transformations (\fax, \fay, etc.) to VSFilter (GC #46, GC #42)
117 * Fix drawing parsing (GC #47)
118 * Various fixes to shaper (GC #54, GC #55, GC#59)
119 * Fix change detection
120 * Add ass_set_line_position API to set a vertical subtitle offset
121 * Fix scaling of drawing baseline offset (\pbo) values
122 * Fix skipping of zero-width characters for FriBiDi shaper
123 * Use LTR text base direction by default, similar to VSFilter
126 * Bidirectional layout and Arabic shaping via FriBidi (GC #13)
127 * OpenType shaping via HarfBuzz-ng (GC #13)
128 * Add API for shaper configuration
129 * Add support for `Language' Script Info property, this can be used for
130 hinting the text language
131 * Vertical layout improvements
132 * Use `vert' and `vkna' OpenType features for vertical glyph variants
133 * Position rotated glyphs onto baseline
134 * Parse font encoding property for base text direction hinting
135 * Refactor cache system
136 * Use generic outlines in place of FreeType glyphs
137 * Direct outline bitmap rendering
138 * Fix whitespace trimming (GC #35)
139 * Do not render border if there's no shadow or glyph (GC #29)
140 * Adjust spacing after a italic to non-italic style change (GC #37)
142 * Fix x positioning with borders (GC #27)
143 * Build system tweaks
146 * Switch to permissive (ISC) license
147 * Support \fs+ and \fs- syntax for modifying font size
149 * Improved charmap fallback matching
150 * Handle a few more VSFilter quirks correctly
151 * Add a sensible default style
152 * Fix compilation against libpng 1.5
155 * Fix serious memory leaks
156 * Reduce frame/drawing initialization overhead
159 * Basic (incorrect, but working) support for @font vertical text layout
160 * Fix multiple faces per font attachment
161 * charmap selection fixes
162 * Add ass_flush_events API function
163 * Improve fullname font matching
164 * Better PAR correction if text transforms are used
165 * Calculate drawing bounding box like VSFilter
166 * Performance improvements
167 * Cache vector clip masks
168 * Avoid unnecessary glyph copies
169 * Various rendering fixes
172 * Parse numbers in a locale-independent way
173 * Remove support for freetype < 2.2.1, fontconfig < 2.4.1; this especially
174 means libass will not extract fonts into the file system anymore
175 * Disable script file size limit
176 * Match fonts against the full name ("name for humans")
177 * Reset clip mode after \iclip
178 * Improve VSFilter compatibility
179 * Update API documentation
180 * A couple of smaller fixes and cleanups
183 * Support \q override tag
184 * Support wrap style 1 (i.e. wrap, but do not equalize line lengths)
185 * Support border style 3 (opaque box)
186 * Use the event bounding box (instead of vertical position and height) for
188 * Embold glyphs if no bold variant is available, but was requested
189 * Modify \fax to be similar to VSFilter
190 * Trim spaces after line wrapping
191 * Fix border/shadow overlap combining in some cases
192 * Disable kerning by default. Use "Kerning=yes" style override or
193 "Kerning: yes" in [Script Info] to enable it
194 * Slight bitmap handling optimizations
199 * Fixed cache lookup and overload problems
200 * All globals have been eliminated, libass is reentrant
201 * Dynamically allocate glyph and line buffers
202 * Fix up stroking of big borders
203 * Support empty lines (\N\N)
204 * Support for the following override tags:
205 \fax, \fay, \xshad, \yshad, \ybord, \xbord, \iclip, \u, \s, \p, \pbo
206 * Full subpixel accuracy for positioning
207 * PAR and rotation correction for EOSD rendering
208 * Drawing mode (including vector \clip and \iclip)
209 * Fixed a few memory leaks
210 * Removed MPlayer compatibility code
211 * Introduced message handling callback
212 * Various fixes to match VSFilter quirks and Windows font metrics
216 * Various fixes and updates to match VSFilter renderer.
217 * Support \blur tag and ScaledBordersAndShadow property.
218 * Fractional arguments and subpixel accuracy.
219 * Keep positions when pan-and-scan is used.
220 * Lots of bugfixes and other changes.
223 * Support '=' and '.' in style name in arguments to ass_set_style_overrides().
224 * Allow overriding [Script Info] parameters with ass_set_style_overrides().
225 * Add workarounds for some buggy fonts.
226 * Remove buggy workarounds for some other fonts.
227 * Fixed ass_set_line_spacing() (was broken before).
228 * Negative margin sizes are now used for image cropping.
229 * Better handling of behind-the-camera objects.
230 * Case insensitive parsing of SSA/ASS section headers.
231 * Improved font matching.
232 * When 2 styles have the same name, the later one is used.
233 * Fixed several other bugs.