Commit Graph

1522 Commits

Author SHA1 Message Date
Jason Nelson
fba5b60718 [Fonts] Add Stream.Write(Span<byte>) polyfill 2024-04-12 07:42:19 +01:00
Jason Nelson
e01bf5e849 Spanify IInputBytes 2024-04-12 07:42:19 +01:00
Jason Nelson
775d1343ae Spanify PngBuilder 2024-04-12 07:42:19 +01:00
Jason Nelson
435da86a25 Make QuadPointsQuadrilateral a readonly struct 2024-04-12 07:42:19 +01:00
Jason Nelson
8babdfdda5 Reduce ColorSpaceDetails virtual calls 2024-04-12 07:42:19 +01:00
Jason Nelson
4fcc5c6c57 Eliminate a few allocations in ColorSpace transformers 2024-04-12 07:42:19 +01:00
Jason Nelson
6d54355754 Spanify filters 2024-04-12 07:42:19 +01:00
BobLd
2d6cb1aa0c Properly implement Quadtratic and Cubic bezier-curves and use Quadtratic in CalculatePath to fix #625 2024-04-05 11:33:59 +01:00
Jason Nelson
f62929eb7c
Spanify work 1 (#812)
* Add GetString(ReadOnlySpan<byte>) polyfill

* Add ArrayPoolBufferWriter

* Use Utf8.IsValid & char.IsAsciiHexDigit on NET8.0+

* Optimize HexTokenizer

* Eliminate various Tuple allocations

* Eliminate List allocation in CrossReferenceTable

* Eliminate various allocations in Ascii85Filter

* Spanify HexToken

* Spanify Palette

* Spanify various Cmap & font methods

* Spanify Type1Charstring classes

* Spanify PdfDocEncoding.TryConvertBytesToString

* Spanify OctalHelpers.FromOctalDigits

* Add missing braces

* React to HexToken.Byte type changes

* Cleanup

* [Tests] React to span changes

* Add ArgumentNullException check back to Type1CharstringDecryptedBytes

* Remove unsafe code

* Seal HexToken

* Avoid allocation when passing an empty span
2024-04-01 09:18:01 +01:00
BobLd
e789691100
Fix #807 (#808) 2024-03-23 19:25:40 +00:00
Jason Nelson
69e2b7bb08
Improve Code Quality 3 (#805)
* Throw when trying to inverse a matrix with a determinant of 0

* Optimize Hex.GetString on .NET

* Updates tests for Matrix3x3.Inverse() change

* Eliminate allocation in InternalStringExtensions

* Use vectorized Span.Fill method

* Eliminate various string allocations when parsing numbers

* Remove unused using statements

* Fix Matrix3x3 Equals nullability
2024-03-17 21:13:32 +00:00
Jason Nelson
a412a239be
Enable nullable annotations (#803)
* Enable nullable annotations

* Remove unused Jetbrain annotations

* Ensure system using statements are first

* Improve nullability annotations

* Annotate encryptionDictionary is non-null when IsEncrypted is true

* Disable nullable for PdfTokenScanner.Get

* Improve nullability annotations for ObjectLocationProvider.TryGetCached

* Revert changes to RGBWorkingSpace

* Update UglyToad.PdfPig.Package with new framework targets (fixes nightly builds)
2024-03-17 18:51:40 +00:00
BobLd
bf6c519483 Make AnnotationProvider public 2024-03-16 12:50:26 +00:00
BobLd
8163d9ff89 Update run_integration_tests.yml 2024-03-16 12:44:03 +00:00
Jason Nelson
95f0459900 Prefer is null to == null
ensures that an equals overload isn't use, and we don't compare structs
2024-03-16 12:37:51 +00:00
Jason Nelson
d19e6ad510 Use collection expressions 2024-03-16 12:37:51 +00:00
Jason Nelson
524b235502 Enable nullable annotations 2024-03-16 12:37:51 +00:00
Jason Nelson
9859c2672b Use switch expressions 2024-03-16 12:37:51 +00:00
Jason Nelson
dca11253a0 Spanify Crc32 2024-03-16 12:37:51 +00:00
Jason Nelson
77705bbd67 Spanify Adler32Checksum 2024-03-16 12:37:51 +00:00
Ian McCubbin
9056d2bdff Removed mistaken bracket in text replace operation 2024-03-16 07:58:32 +00:00
Jason Nelson
321f321e53 Replace obsolete netcoreapp test target with net471 2024-03-16 07:40:17 +00:00
Jason Nelson
1d2777d59a [Tests] Enable implict usings 2024-03-16 07:40:17 +00:00
Jason Nelson
4e1c7930b7 Update xunit 2024-03-16 07:40:17 +00:00
Jason Nelson
d413d24d96 Drop net6.0 from tests 2024-03-15 13:10:25 +00:00
Jason Nelson
f1ebaab26d [CI] Update windows to 2022, and install net8.0 (part 2) 2024-03-15 13:10:25 +00:00
Jason Nelson
247303983a Use BinaryPrimitives 2024-03-15 13:10:25 +00:00
Jason Nelson
03fd2832ac [CI] Install net8.0 2024-03-15 13:10:25 +00:00
Jason Nelson
a97ee27030 Use vectorized SequenceEqual method 2024-03-15 13:10:25 +00:00
Jason Nelson
907181d5ce Bump .net4.7 target to .net4.7.1 and eliminate System.ValueTuple depedency 2024-03-15 13:10:25 +00:00
Jason Nelson
0f01f7b8ca Add net8.0 to test project 2024-03-15 13:10:25 +00:00
Jason Nelson
f88611ca4a Replace concat with collection expressions 2024-03-15 13:10:25 +00:00
Jason Nelson
c2541b815a Use HashCode.Combine 2024-03-15 13:10:25 +00:00
Jason Nelson
3eb01a1e0c Add missing braces 2024-03-15 13:10:25 +00:00
Jason Nelson
834fb350a3 Use Array.Empty 2024-03-15 13:10:25 +00:00
Jason Nelson
87e36165ce Use utf-8 literals 2024-03-15 13:10:25 +00:00
Jason Nelson
a40476c0ff Spanify Hex 2024-03-15 13:10:25 +00:00
Jason Nelson
e508d6714e Use statically initialized data 2024-03-15 13:10:25 +00:00
Jason Nelson
4653671b2d Set LangVersion to 12 2024-03-15 13:10:25 +00:00
Jason Nelson
6da9c90042 Add .NET 8.0 target 2024-03-15 13:10:25 +00:00
Jason Nelson
8e0500e833 Drop unsupported .NET frameworks 2024-03-15 13:10:25 +00:00
BobLd
845e3b4a7f Handle indirect references in document information factory and fix #706 2024-03-11 21:12:56 +00:00
BobLd
acfe8b5fdd Allow lenient parsing in DictionaryTokenizer and fix #791 2024-03-11 20:01:07 +00:00
BobLd
250362e015 Ensure string characters are escaped when encoding is Utf16BE and fix #789 2024-03-11 20:00:49 +00:00
BobLd
ac0276f1bf Use double in fonts instead of decimals and tidy up remaining decimals 2024-03-06 20:53:11 +00:00
BobLd
c25368e5ab Fix XML comment has badly formed XML 2024-02-18 14:53:38 +00:00
BobLd
189c0efbba Update src/UglyToad.PdfPig/Graphics/Colors/ColorSpaceDetails.cs
Co-authored-by: Eliot Jones <elioty@hotmail.co.uk>
2024-02-18 14:53:38 +00:00
BobLd
9f3d2745f6 Change NumericToken from IDataToken<decimal> to IDataToken<double> and fix #765 2024-02-18 14:53:38 +00:00
Richard Webb
f4e754da50 Set the RuntimeFrameworkVersion for the .NET Core 2.1 unit tests to 2.1.30 2024-02-16 18:20:04 +00:00
BobLd
f78b15a614 Improve UnpackComponents() method performance 2024-02-15 06:52:48 +00:00