wangqr
ef99ce14fd
Detect iconv type at compile time instead of project generation
2020-03-20 08:03:44 -04:00
Charlie Jiang
a2fc4bf479
🐛 Fix: lagi: Don't close iconv_t if it is iconv_invalid
...
When certain iconv_t is invalid, iconv_invalid(0xfffffffffffffffffffffff) will be returned. Passing it to iconv_close will cause a SIGSEGV.
2019-11-02 21:23:27 -04:00
wangqr
309996aeb2
Remove the usage of __FILE__
...
Prepare for reproducible build
2019-11-02 00:23:44 -04:00
wangqr
f92abc863e
Remove exception in destructor of agi::io::Save
...
Provide Close() for error handling
Correctly parse boost error code
Handle failure in TextFileWriter
Fix wangqr/Aegisub#25
2019-10-17 03:29:59 -04:00
wangqr
3eff75d56e
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-11 11:29:20 -04:00
wangqr
fbca222295
Add back original travis tests
2019-09-02 22:06:41 -04:00
wangqr
d6ddea0f65
Detect EBML magic number to skip encoding detection for MKV
...
MKV loads slow after f733297499
2019-06-16 19:16:31 -04:00
wangqr
f733297499
Rewrite encoding detection
...
Now feeds all data to uchardet, when uchardet is available. The file
size limit is removed.
When uchardet is not available, we look for UTF-8 BOM.
This should make loading UTF-8-BOM files faster.
Because Aegisub always save file in UTF-8-BOM, this should also
guarentee Aegisub will load large (>100MB) file saved by itself.
See Aegisub/Aegisub#110
2019-05-18 22:13:26 -04:00
wangqr
1819fc8d8b
Fix iconv ConversionFailure on long path
2019-05-16 11:04:53 -04:00
Ryan Lucia
bb2cfb1fcd
Properly ignore ASS whitespace characters in character counter
2019-05-11 20:00:49 -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
Thomas Goyne
8d26c66d0f
Remove a bunch of unused functionalty from agi::Exception
2014-05-30 11:53:14 -07:00