ladybird/Userland/Libraries
Nico Weber e39a790c82 LibPDF: Stop converting encodings in object parser
Per 1.7 spec 3.8.1, there are multiple logical text string types:
* text strings
* ASCII strings
* byte strings

Text strings can be in UTF-16BE, PDFDocEncoding, or (since PDF 2.0)
UTF-8.

But byte strings shouldn't be converted but treated as binary
data.

This makes us no longer convert strings used for drawing page text.
TABLE 5.6 "Text-showing operators" lists the operands for text-showing
operators as just "string", not "text string" (even though these strings
confusingly are called "text strings" in the body text), so not doing
this there is correct (and matches other viewers).

We also no longer incorrectly convert strings used for cypto data
(such as passwords), if they start with an UTF-16BE or UTF-8 marker.

No behavior change for outlines and info dict entries.

https://pdfa.org/understanding-utf-8-in-pdf-2-0/ has a good overview of
this.

(ASCII strings only contain ASCII characters and behave the same
anyways.)
2023-11-22 09:08:06 -07:00
..
LibAccelGfx LibAccelGfx: Skip glyphs with missing bitmaps 2023-11-21 17:00:56 +01:00
LibArchive
LibAudio
LibC
LibCards
LibChess
LibCMake
LibCodeComprehension
LibCompress
LibConfig
LibCore
LibCoredump
LibCpp
LibCrypt
LibCrypto
LibDebug
LibDesktop
LibDeviceTree
LibDiff
LibDNS
LibDSP
LibEDID
LibELF
LibFileSystem
LibFileSystemAccessClient
LibGemini
LibGfx LibGfx: Add String variants of Color::to_string*() 2023-11-20 15:00:19 +01:00
LibGL
LibGLSL
LibGPU
LibGUI
LibHTTP
LibIDL
LibImageDecoderClient
LibIMAP
LibIPC
LibJIT
LibJS
LibKeyboard
LibLine
LibLocale
LibMain
LibManual
LibMarkdown
LibPartition
LibPCIDB
LibPDF LibPDF: Stop converting encodings in object parser 2023-11-22 09:08:06 -07:00
LibProtocol
LibRegex
LibSanitizer
LibSoftGPU
LibSQL
LibSymbolication
LibSyntax
LibSystem
LibTest
LibTextCodec LibTextCodec: Support validating encoded inputs 2023-11-17 16:02:36 +01:00
LibThreading
LibTimeZone
LibTLS
LibUnicode
LibUSBDB
LibVideo
LibVirtGPU
LibVT
LibWasm
LibWeb LibWeb: Use ComponentValue::is_ident("..."sv) helper 2023-11-22 09:45:51 +01:00
LibWebSocket
LibWebView LibWeb: Port Cookie from DeprecatedString to String 2023-11-20 15:00:19 +01:00
LibX86
LibXML
CMakeLists.txt