mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 02:08:12 +03:00
LibGfx: Add another profile ID to ICC quirk list
This commit is contained in:
parent
21cc0c0cb2
commit
a434b89521
Notes:
sideshowbarker
2024-07-17 10:31:19 +09:00
Author: https://github.com/nico Commit: https://github.com/SerenityOS/serenity/commit/a434b89521 Pull-request: https://github.com/SerenityOS/serenity/pull/17368
@ -869,6 +869,10 @@ ErrorOr<void> Profile::check_tag_types()
|
|||||||
// Profile ID of /System/Library/ColorSync/Profiles/ITU-2020.icc on macOS 13.1.
|
// Profile ID of /System/Library/ColorSync/Profiles/ITU-2020.icc on macOS 13.1.
|
||||||
static constexpr Crypto::Hash::MD5::DigestType apple_itu_2020_id = { 0x57, 0x0b, 0x1b, 0x76, 0xc6, 0xa0, 0x50, 0xaa, 0x9f, 0x6c, 0x53, 0x8d, 0xbe, 0x2d, 0x3e, 0xf0 };
|
static constexpr Crypto::Hash::MD5::DigestType apple_itu_2020_id = { 0x57, 0x0b, 0x1b, 0x76, 0xc6, 0xa0, 0x50, 0xaa, 0x9f, 0x6c, 0x53, 0x8d, 0xbe, 0x2d, 0x3e, 0xf0 };
|
||||||
|
|
||||||
|
// Profile ID of the "Display P3" profiles embedded in the images on https://webkit.org/blog-files/color-gamut/comparison.html
|
||||||
|
// (The macOS 13.1 /System/Library/ColorSync/Profiles/Display\ P3.icc file no longer has this quirk.)
|
||||||
|
static constexpr Crypto::Hash::MD5::DigestType apple_p3_2015_id = { 0xe5, 0xbb, 0x0e, 0x98, 0x67, 0xbd, 0x46, 0xcd, 0x4b, 0xbe, 0x44, 0x6e, 0xbd, 0x1b, 0x75, 0x98 };
|
||||||
|
|
||||||
auto has_type = [&](auto tag, std::initializer_list<TagTypeSignature> types, std::initializer_list<TagTypeSignature> v4_types) {
|
auto has_type = [&](auto tag, std::initializer_list<TagTypeSignature> types, std::initializer_list<TagTypeSignature> v4_types) {
|
||||||
if (auto type = m_tag_table.get(tag); type.has_value()) {
|
if (auto type = m_tag_table.get(tag); type.has_value()) {
|
||||||
auto type_matches = [&](auto wanted_type) { return type.value()->type() == wanted_type; };
|
auto type_matches = [&](auto wanted_type) { return type.value()->type() == wanted_type; };
|
||||||
@ -1005,7 +1009,7 @@ ErrorOr<void> Profile::check_tag_types()
|
|||||||
// The v4 spec requires multiLocalizedUnicodeType for this, but I'm aware of a single file
|
// The v4 spec requires multiLocalizedUnicodeType for this, but I'm aware of a single file
|
||||||
// that still uses the v2 'text' type here: /System/Library/ColorSync/Profiles/ITU-2020.icc on macOS 13.1.
|
// that still uses the v2 'text' type here: /System/Library/ColorSync/Profiles/ITU-2020.icc on macOS 13.1.
|
||||||
// https://openradar.appspot.com/radar?id=5529765549178880
|
// https://openradar.appspot.com/radar?id=5529765549178880
|
||||||
bool has_v2_cprt_type_in_v4_file_quirk = id() == apple_itu_2020_id;
|
bool has_v2_cprt_type_in_v4_file_quirk = id() == apple_itu_2020_id || id() == apple_p3_2015_id;
|
||||||
if (is_v4() && type.value()->type() != MultiLocalizedUnicodeTagData::Type && (!has_v2_cprt_type_in_v4_file_quirk || type.value()->type() != TextTagData::Type))
|
if (is_v4() && type.value()->type() != MultiLocalizedUnicodeTagData::Type && (!has_v2_cprt_type_in_v4_file_quirk || type.value()->type() != TextTagData::Type))
|
||||||
return Error::from_string_literal("ICC::Profile: copyrightTag has unexpected v4 type");
|
return Error::from_string_literal("ICC::Profile: copyrightTag has unexpected v4 type");
|
||||||
if (is_v2() && type.value()->type() != TextTagData::Type)
|
if (is_v2() && type.value()->type() != TextTagData::Type)
|
||||||
@ -1189,7 +1193,7 @@ ErrorOr<void> Profile::check_tag_types()
|
|||||||
// The v4 spec requires multiLocalizedUnicodeType for this, but I'm aware of a single file
|
// The v4 spec requires multiLocalizedUnicodeType for this, but I'm aware of a single file
|
||||||
// that still uses the v2 'desc' type here: /System/Library/ColorSync/Profiles/ITU-2020.icc on macOS 13.1.
|
// that still uses the v2 'desc' type here: /System/Library/ColorSync/Profiles/ITU-2020.icc on macOS 13.1.
|
||||||
// https://openradar.appspot.com/radar?id=5529765549178880
|
// https://openradar.appspot.com/radar?id=5529765549178880
|
||||||
bool has_v2_desc_type_in_v4_file_quirk = id() == apple_itu_2020_id;
|
bool has_v2_desc_type_in_v4_file_quirk = id() == apple_itu_2020_id || id() == apple_p3_2015_id;
|
||||||
if (is_v4() && type.value()->type() != MultiLocalizedUnicodeTagData::Type && (!has_v2_desc_type_in_v4_file_quirk || type.value()->type() != TextDescriptionTagData::Type))
|
if (is_v4() && type.value()->type() != MultiLocalizedUnicodeTagData::Type && (!has_v2_desc_type_in_v4_file_quirk || type.value()->type() != TextDescriptionTagData::Type))
|
||||||
return Error::from_string_literal("ICC::Profile: profileDescriptionTag has unexpected v4 type");
|
return Error::from_string_literal("ICC::Profile: profileDescriptionTag has unexpected v4 type");
|
||||||
if (is_v2() && type.value()->type() != TextDescriptionTagData::Type)
|
if (is_v2() && type.value()->type() != TextDescriptionTagData::Type)
|
||||||
|
Loading…
Reference in New Issue
Block a user