mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:57:43 +00:00
LibPDF: Allow /Pattern to be used directly as a color space name
Per spec: "If the color space is one that can be specified by a name and no additional parameters (DeviceGray, DeviceRGB, DeviceCMYK, and certain cases of Pattern), the name may be specified directly." We still don't implement /Pattern color spaces, but now we no longer crash trying to look up the potentially-nonexistent /ColorSpace dictionary on the page object when /Pattern is used directly as color space name. On top of #21514, reduces number of crashes on 300 random PDFs from the web (the first 300 from 0000.zip from https://pdfa.org/new-large-scale-pdf-corpus-now-publicly-available/) from 42 (14%) to 34 (11%).
This commit is contained in:
parent
aea0e2f313
commit
e0268dcc87
2 changed files with 3 additions and 1 deletions
|
@ -39,6 +39,8 @@ PDFErrorOr<NonnullRefPtr<ColorSpace>> ColorSpace::create(DeprecatedFlyString con
|
|||
return DeviceRGBColorSpace::the();
|
||||
if (name == CommonNames::DeviceCMYK)
|
||||
return DeviceCMYKColorSpace::the();
|
||||
if (name == CommonNames::Pattern)
|
||||
return Error::rendering_unsupported_error("Pattern color spaces not yet implemented");
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue