serenity/Userland/Applications
Nico Weber 21917e7b1e LibPDF+PDFViewer+MacPDF: Don't draw hidden text by default
Text can be rendered in various ways in PDFs: Filled, stroked,
both filled and stroked, set as clipping path, hidden, or
some combinations thereof.

We don't implement any of this at the moment except "filled".

Hidden text is used in scanned documents: The image of the scan is
drawn in the background, and then OCRd text is "drawn" as hidden
on top of the scanned bitmap. That way, the (hidden) text can be
selected and copied, and it looks like you're selecting text from
the scanned bitmap. Find-in-page also works similarly. (We currently
have neither text selection nor find-in-page, but one day we will.)

Now that we have pretty good support for CCITT and are growing some
support for JBIG2, we now draw both the scanned background image
as well as the foreground text. They're not always perfectly aligned.

This change makes it so that we don't render text that's marked as
hidden. (We still do most of the coordinate math, which will probably
come in handy at some point when we implement text selection.)

This makes these scanned documents appear as they're supposed to
appear (at least in documents where we manage to decode the background
bitmap).

This also adds a debug option to force rendering of hidden text.
2024-03-16 13:10:48 -04:00
..
3DFileViewer 3DFileViewer: Use ByteString for file paths 2024-01-29 23:14:39 +00:00
About About: Display Application's Icon in File Manager 2023-09-02 16:27:08 +01:00
AnalogClock Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Assistant Assistant: Check for access before showing file results 2024-02-23 09:48:28 +01:00
Browser Browser: Implement <input type=file> file type filtering 2024-03-16 08:42:33 +01:00
BrowserSettings Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
Calculator Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
Calendar Userland: Propagate errors with TRY() where possible 2024-02-14 17:46:06 -05:00
CalendarSettings Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
CertificateSettings LibCrypto: Store ASN1 certificate timestamps as UnixDateTime 2024-03-08 00:41:23 +01:00
CharacterMap Applications: Add fullscreen option to Utilities 2024-01-14 15:18:43 -07:00
ClockSettings Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
CrashReporter CrashReporter: Port CrashReporter to GML Compiler 2023-12-27 15:29:50 +01:00
Debugger Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
DisplaySettings LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
Escalator Escalator: Allow failed password attempts to be retried 2024-03-04 13:25:22 -05:00
FileManager LibGfx+Fallout: Make ImageDecoder return ErrorOr 2024-03-07 11:20:06 -05:00
FontEditor LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
GamesSettings Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
Help Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
HexEditor HexEditor: Avoid painting white rectangle on a white background 2024-03-15 08:37:21 +00:00
ImageViewer Base+ImageViewer: Add new icons for ImageViewer 2024-03-12 08:08:19 +00:00
KeyboardMapper KeyboardMapper: Convert Utf-8 char in String to Utf-32 code point 2024-02-08 07:07:25 -07:00
KeyboardSettings KeyboardSettings: Port to GML compiler 2024-01-19 17:03:30 +01:00
Magnifier LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
Mail Userland: Use MUST() to unwrap String values 2024-02-14 17:46:06 -05:00
MailSettings Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Maps Maps: Add FavoritesModel and remove hacky misusage of JSONArrayModel 2024-03-11 10:40:23 +00:00
MapsSettings Maps: Move TileProviders.json to user independent folder 2024-03-11 10:40:23 +00:00
MouseSettings Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NetworkSettings Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
PartitionEditor PartitionEditor: Show better error when can't find partition table 2024-01-11 20:57:40 +00:00
PDFViewer LibPDF+PDFViewer+MacPDF: Don't draw hidden text by default 2024-03-16 13:10:48 -04:00
Piano Userland: Port to automatic GML initializer where possible 2024-01-29 05:21:48 -07:00
PixelPaint PixelPaint: Don't crash when cancel is pressed when saving a file 2024-02-21 22:37:34 +01:00
Presenter Presenter: Add Manual link in help menu 2024-02-06 20:43:31 +00:00
Run Run: Fix bug where it would crash because uninitialized main widget 2024-02-06 08:41:01 +01:00
Settings Settings: Add fullscreen option 2024-01-14 15:18:43 -07:00
SoundPlayer LibFileSystem+Userland: Rename size() to size_from_stat() 2024-02-24 15:54:52 -07:00
SpaceAnalyzer Applications: Add fullscreen option to Utilities 2024-01-14 15:18:43 -07:00
Spreadsheet AK: Replace the boolean parameter of StringView::lines with a named enum 2024-03-08 14:43:33 -05:00
SystemMonitor Applications: Add fullscreen option to Utilities 2024-01-14 15:18:43 -07:00
Terminal Terminal: Propagate changes in automark settings to the terminal 2024-02-07 13:35:49 +01:00
TerminalSettings Userland: Propagate errors with TRY() where possible 2024-02-14 17:46:06 -05:00
TextEditor LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
ThemeEditor LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
VideoPlayer LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
Welcome Welcome: Move tips.txt to /usr/share/Welcome because it's system wide 2024-02-05 16:30:52 +01:00
CMakeLists.txt Maps: Add MapsSettings with multiple tile providers options 2023-09-18 12:46:41 -06:00