Browse Source

change JIS encoding, update test

pull/1935/head
Ildar Khayrutdinov 4 years ago
parent
commit
d01dfe8e26
  1. 4
      src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs
  2. 6
      tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs
  3. 4
      tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg

4
src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs

@ -25,7 +25,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif
private static ReadOnlySpan<byte> UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 };
private static Encoding JIS0208Encoding => CodePagesEncodingProvider.Instance.GetEncoding(932);
// 20932 EUC-JP Japanese (JIS 0208-1990 and 0212-1990)
// https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-6.0
private static Encoding JIS0208Encoding => CodePagesEncodingProvider.Instance.GetEncoding(20932);
public static bool IsEncodedString(ExifTagValue tag) => tag switch
{

6
tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs

@ -318,7 +318,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
exif.SetValue(ExifTag.XPKeywords, "Keyword1;Keyword2");
exif.SetValue(ExifTag.XPSubject, "This is a subject");
exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "本日は晴天なり(JIS)"));
// exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "ビッ"));
exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "eng comment text (JIS)"));
exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.ASCII, "GPS processing method (ASCII)"));
exif.SetValue(ExifTag.GPSAreaInformation, new EncodedString(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)"));
@ -357,7 +359,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
Assert.Equal("Keyword1;Keyword2", exif.GetValue(ExifTag.XPKeywords).Value);
Assert.Equal("This is a subject", exif.GetValue(ExifTag.XPSubject).Value);
Assert.Equal("本日は晴天なり(JIS)", exif.GetValue(ExifTag.UserComment).Value.Text);
Assert.Equal("eng comment text (JIS)", exif.GetValue(ExifTag.UserComment).Value.Text);
Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.UserComment).Value.Code);
Assert.Equal("GPS processing method (ASCII)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text);

4
tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9fd6fa56680f00e8834203c8094e79c582c9cc0146b36e7607a6f5453f058237
size 258078
oid sha256:59f76d2935a619d128a63d6bfcd5ce9feec492a7f5175327e47554c90b4ec242
size 258081

Loading…
Cancel
Save