Commit Graph

99 Commits

Author SHA1 Message Date
Myaamori 84ac716972 meson: add uchardet port
Meson port instead of using CMake as I ran into issues with the
src directory (where uchardet.h is located) not being appended
to the include path, and on Windows I ran into a Meson issue
where a -D macro definition was being interpreted as a filename.
In the end a Meson port seemed simpler than working out the CMake
issues, as the CMakeLists.txt files were straightforward and easy
to port.

Note that because of the directory structure of the uchardet source
I had to change the include directive from uchardet/uchardet.h
to just uchardet.h. This is actually more in line with the uchardet
pkg-config file, which appends /usr/include/uchardet to the include path.
2021-05-21 21:09:36 -04:00
Ryan 1384123e2d iconv wrapper: allocate a smaller buffer on the stack 2021-01-16 05:31:08 -05:00
Ryan d583744b69 Merge in work from TypesettingTools fork 2021-01-16 02:12:31 -05:00
Thomas Goyne 6ca879938d Always feed the entire file into uchardet when detection is needed
uchardet will report that a file is "ascii" if the first page has no bytes
>127, so we need to actually look at the entire file in case the first higher
byte is later in the file.
2019-09-28 18:13:44 -07:00
Thomas Goyne 8d17a0e88a Assume that files which start with a unicode BOM are valid files of that type 2019-09-28 18:13:44 -07:00
wangqr 7a1756a26f In tagless_find_helper only tag before start should be ignored
The search result is irrelevant to which tag we should ignore

Fix wangqr/Aegisub#17
2019-09-22 17:41:02 -07:00
wangqr bb5090ac3a Detect EBML magic number to skip encoding detection for MKV
MKV loads slow after f733297499
2019-09-22 17:40:46 -07:00
wangqr 698c41afef Fix iconv ConversionFailure on long path 2019-09-22 17:39:43 -07:00
Ryan Lucia 2411617158 Properly ignore ASS whitespace characters in character counter 2019-09-22 17:39:43 -07:00
Ryan Lucia a621072e7d Add support for WWXD keyframes in qpfile format 2018-05-10 03:28:51 -04:00
Ryan Lucia 869cdcc7a1 Properly ignore ASS whitespace characters in character counter 2018-05-07 18:09:42 -04:00
sidneys d4461f65be fix(updated-macos-build): prefix icu method calls (icu::BreakIterator, icu::Locale, icu::UnicodeString) 2018-03-31 02:58:27 +02:00
Thomas Goyne 45315476bd Switch to a maintained fork of universalchardet 2016-02-09 20:29:29 -08:00
Thomas Goyne 4366e59353 Update to Visual Studio 2015 2015-07-30 19:20:10 -07:00
Thomas Goyne b0f4c9f1ad Remove agi::vfr::Framerate's explicit swap implementation 2015-07-28 14:30:03 -07:00
Thomas Goyne fefa31eb47 Improve code coverage of tests 2015-07-28 14:30:03 -07:00
Thomas Goyne 3c55d4fde4 Fix incorrect results for non-regex skip tags searches
Closes #1865.
2015-07-27 10:29:22 -07:00
Thomas Goyne 74ac2ab1fe Extract some more find/replace logic to libaegisub 2015-07-27 10:29:22 -07:00
Thomas Goyne 878fd4453b Fix whitespace 2015-02-15 08:19:22 -08:00
Thomas Goyne e72ab0eda8 Remove an incorrect error message 2015-02-15 08:19:17 -08:00
Thomas Goyne 879788fe83 Eliminate some gratuitous exceptions 2015-02-15 08:19:10 -08:00
Thomas Goyne 5d8aeb8b40 Replace most remaining uses of boost::split with agi::Split 2015-02-08 08:11:14 -08:00
Thomas Goyne 7300a1bf2d Remove some redundant .get()s 2015-01-26 19:22:59 -08:00
Thomas Goyne b29fcd4f89 Add some extern template declarations for stuff with vtables 2014-12-28 20:43:29 -08:00
Thomas Goyne e485c469e2 Pull some of OptionValue to a cpp file 2014-12-28 20:21:48 -08:00
Thomas Goyne a6b1639320 Extract some bits that don't need to be templated from templates
Cuts compile time by about 10% and shrinks the final binary a little.
2014-12-28 16:46:38 -08:00
Thomas Goyne 010f6c4f79 Debloatify some stuff 2014-12-28 12:30:01 -08:00
Thomas Goyne 8567d9a573 Use more make_unqiue 2014-08-31 08:11:12 -07:00
Thomas Goyne 9ebb8d7df1 Silence a warning 2014-08-31 08:11:12 -07:00
Thomas Goyne 584284aa79 Reject vfr timecodes which are all identical 2014-07-15 09:11:40 -07:00
Thomas Goyne 92b8b2851b Don't build the dialogue lexer on every use
Building the lexer takes much longer than actually lexing, and since the
lexer is stateless there's no reason not to just make it static.
2014-07-14 10:10:22 -07:00
Thomas Goyne 706a72d5c1 Eliminate several memory allocations per line when reading thesaurus files 2014-07-14 10:10:21 -07:00
Thomas Goyne e713f741a4 Make some functions static 2014-07-08 16:38:16 -07:00
Thomas Goyne a11da3350c Save a backup copy of the old hotkey file if migrating from the old format 2014-07-07 09:42:02 -07:00
Thomas Goyne 935c6bc3a7 Store hotkeys in a less dumb format 2014-07-06 19:25:49 -07:00
Thomas Goyne f0f836c47b Eliminate a pointless std::map in charset_conv 2014-07-06 19:25:48 -07:00
Thomas Goyne a22dd0f9ca Clean up the json parser a little 2014-07-06 19:25:48 -07:00
Thomas Goyne d9016cc8ea Debloat and slightly speed up the MRU code 2014-07-06 19:25:48 -07:00
Thomas Goyne 518342b919 Make the hotkey code a bit less bloated 2014-07-06 19:25:48 -07:00
Thomas Goyne df8ad34838 Eliminate pointless runtime datastructures for CalltipProvider
And add some tests and make it actually work correctly.
2014-07-04 20:37:36 -07:00
Thomas Goyne 93522e30a8 Use a static table of tokens for agi::Path
The set of possible tokens is fixed, so using std::map is a bunch of
pointless overhead (that turns out to not even really simplify the
code).
2014-07-04 20:37:36 -07:00
Thomas Goyne 6ce9ce1546 Remove unused helper function 2014-07-03 10:57:53 -07:00
Thomas Goyne 4c88449e4c Make UnknownElement moveable and not copyable
And remove the unused comparison functionality.
2014-06-29 10:45:26 -07:00
Thomas Goyne 4c0e578eda Rewrite the remaining bits of json::Writer 2014-06-29 10:45:26 -07:00
Thomas Goyne bc410a99f6 Change the in-memory storage of options to a sorted vector 2014-06-29 10:01:00 -07:00
Thomas Goyne c9608ab610 Remove an exception not used for anything useful 2014-06-28 19:49:39 -07:00
Thomas Goyne 789ff25f27 Remove some exceptions not used for much of anything 2014-06-11 12:52:30 -07:00
Thomas Goyne 47303007eb Remove the ?docs token
It's not actually used anywhere and not even set on Windows.
2014-06-04 14:15:26 -07:00
Thomas Goyne eebd1dba21 Use iconv rather than std::wstring_convert
libstdc++ 4.8 does not have <codecvt>.
2014-05-30 11:53:15 -07:00
Thomas Goyne 59489b8f8c Extract some of the string formatter implementation to format.cpp 2014-05-30 11:53:15 -07:00