Okular has a few nice accesibility options to let the user change the background color for the documents if these are really text documents, not just scanned images. This is almost a must if one uses to read for long times in dark environments and loves his retinas: you set the document's background in a comfortable semidark color and you are almost dome. But I say "almost" because the ideal would be to have an almost black background, but you can't because Okular doesn't permit to change the text color, so you would end with a very dark background and black text, which is illegible. So, finally you use the "minor evil", not the optimal solution. Theres an option to invert the colors for all the document, but this includes the images, something rather annoying; the read is nice but then you see the images in negative and something creaks in your brain. So, my suggestions are to add the option to change the text color, my favorite, since this would give the option of configuring the look very granularly and make happy evry user out there; or add the possibility of excluding the images in the «Invert colors» option.
Okular 20.12 Under Configuration>Configuration Okular>Accessability they are may colours changes possible, in particular to modify the paper colour or work in inverted colours. However, it lacks one simple feature, to change the font color. This is convenient to work in dark mode, where you only want the paper colour to be dark and the text to be visible on a dark paper, everything else (annotations, images, etc.) you do you to keep them as such, which the inverted colours does NOT. Thanks for additing this simple feature.
Explicitely setting a font color is an interesting approach, which I didn’t think of yet. The Change Paper Color option just sets the background color of the view area, and the rendering backend (Poppler) just has to return transparent pixmaps. Changing the text color would require to tell Poppler about this color. Is there an easy way to implement that? Atril already can do that, so it’s not impossible. The bigger challenge is probably inside Okular, because we will handle pixmaps of different “quality” then.
https://bugs.kde.org/show_bug.cgi?id=461012 now covers preserving images.