summaryrefslogtreecommitdiffstats
path: root/libass/ass_library.c
Commit message (Collapse)AuthorAgeFilesLines
* Add WRAP_UNICODE featureOneric2022-08-191-0/+7
| | | | | | | | | | | | | Setting this feature allows breaking lines according to the Unicode Line Breaking Algorithm and is incompatible with VSFilter. This is useful for non-ASS renderers utilising libass, especially for languages typically not using ASCII-spaces to separate words, but also to correctly break on punctuation even in languages that do. It does not allow breaking words apart, so line overflow might still occur. For this to work a new optional dependency on libunibrak is added. We assume FriBidi's and libunibreak's utf32/glyph type match. This is based on an earlier patch by GitHub user siikamiika.
* library: replace grow_array with ASS_REALLOC_ARRAYOneric2021-04-221-16/+4
| | | | | | The latter has overflow protections for size_t indexation and element size > 1, the former none whatsoever. Change all related vars to size_t. Additionally, switch to exponential buffer growth.
* ass_library: Constify ass_add_fontHugo Beauzée-Luyssen2020-11-011-1/+1
| | | | | Both parameters are copied and are immutable. Make it clear through the function prototype
* Fully fix compilation with MSVC/ICLOleg Oshmyan2015-09-171-0/+1
| | | | | | | | | As before, this does not add any build system support: a config.h file and a project must still be manually created (or the compiler can be run manually instead of using a project). Signed-off-by: Grigori Goronzy <greg@kinoho.net> Signed-off-by: Oleg Oshmyan <chortos@inbox.lv>
* NIH: add locale-independent string functionsGrigori Goronzy2015-09-111-0/+1
| | | | | | | | OS or platform-specific locale independent functions are painful to use and/or not available, so roll our own. Not great but the least painful and least intrusive. v2: fix indexing, use static inline
* Check more mallocswm42014-11-091-10/+25
| | | | This is just a start and gets most easy ones.
* Fix crash in ass_set_style_overridesGrigori Goronzy2011-07-281-0/+1
| | | | | Set pointer to the style overrides to NULL to make sure a freed buffer will not be accessed anymore later. Reported by uau.
* Relicense to ISCGrigori Goronzy2010-09-281-12/+10
| | | | | | In hope to make libass as useful as possible, relicense libass to ISC, a simplified 2-clause BSD license. All contributors who provided non-trivial changes have granted their permission for this.
* Get rid of NULL checks for freeGrigori Goronzy2010-08-091-3/+2
| | | | | The useless "if (foo) free(foo)" idiom is all over the place, just get rid of it finally...
* Add missing config.h includeGrigori Goronzy2010-08-071-0/+2
|
* Rename typedefs (breaks API)Grigori Goronzy2009-08-061-9/+9
| | | | | | Rename all typedefs from the convention foo_bar_t, which can possibly conflict with POSIX types, to FooBar (and ASS_FooBar for public API typedefs). Fix formatting and stray comments while at it.
* Improve message callback APIGrigori Goronzy2009-07-261-4/+3
| | | | | | Instead of passing a pointer to a va_list, pass the va_list itself. Additionally, use const char for the format string and use names in the prototype that describe the arguments' meaning.
* Output messages to stderr by defaultGrigori Goronzy2009-07-121-3/+3
| | | | | Modify the default message handler to output to stderr instead of stdout.
* Allow passing user data to callbackGrigori Goronzy2009-07-121-3/+9
| | | | | | It is often useful or necessary to pass custom data to a callback. Add an argument to the callback registering function to pass a void pointer object to the callback each time it is called.
* Message callback funtionalityGrigori Goronzy2009-07-111-1/+27
| | | | | | | | | | | Introduce functionality for providing a message callback that is used for passing messages to the controlling application instead of simply printing them to standard output. The function pointer to the callback is stored in the ass_library_t instance. ass_msg needs access to it, so in many places the library instance needs to be passed around now. The default behavior is the old one: messages of MSGL_INFO or lower are printed to the standard output, prefixed with "[ass]".
* Reindent all source code.greg2009-06-201-57/+58
| | | | | | | | | | | | | | | Reindent complete source code (*.c, *.h) with indent, the exact command line being: indent -kr -i4 -bap -nut -l76 *.c *.h From now on, new code should use (more or less) K&R style, only spaces and no tabs, 4 spaces indent width. Avoid long lines. Fix function declaration pointer spacing. Remove spaces that were added to many function declarations by indent, like some_func(foo_t * bar). Fix indenting of macros in ass.c
* whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-6/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* Speak of libass instead of MPlayer in the libass license headers.diego2008-05-141-4/+4
| | | | | | | | We already use LIBASS_ prefixes for the multiple inclusion guards. Thus libass can be considered separate enough to warrant this. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26770 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix one more license header wording detail for consistency.diego2008-05-131-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26756 b3059339-0415-0410-9bf9-f77b7e298cf2
* Use standard license header.diego2008-05-131-16/+18
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26755 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix ass_clear_fonts not deallocating fontdata.eugeni2008-01-081-0/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25649 b3059339-0415-0410-9bf9-f77b7e298cf2
* No need to reinvent strdup...eugeni2008-01-071-2/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25644 b3059339-0415-0410-9bf9-f77b7e298cf2
* Copy font data to ass_library instead of referencing demuxer-owned memory.eugeni2008-01-071-3/+21
| | | | | | | This fixes segfault when fonts are accessed after demuxer has been closed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25641 b3059339-0415-0410-9bf9-f77b7e298cf2
* Also free ass_library_t members in ass_library_donereimar2006-12-061-1/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21513 b3059339-0415-0410-9bf9-f77b7e298cf2
* Keep embedded fonts in ass_library_t and perform actual disk writeeugeni2006-12-031-0/+16
| | | | | | | | in fontconfig initialization. This is required for some fontconfig-related improvements. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21474 b3059339-0415-0410-9bf9-f77b7e298cf2
* Bugfix: when copying ass_force_style_list, ending 0 was left out.eugeni2006-11-061-1/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20738 b3059339-0415-0410-9bf9-f77b7e298cf2
* Libass interface reworked:eugeni2006-10-281-0/+72
- ass_instance_t renamed to ass_renderer_t - ass_library_t introduced - use of mplayer-specific global variables limited to ass_mp.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20493 b3059339-0415-0410-9bf9-f77b7e298cf2