The more that I see of Apple’s implementation of Appearances in Mojave, the more byzantine it gets. It’s as if several different engineering groups were all given similar tasks, arrived at different solutions, and Apple has just thrown it all together.
Styled text, as seen in RTF, has a means of specifying that text should be displayed in a colour determined by the current Appearance – bi-modal text. This is used by my free RTF editor DelightEd, and in a great many apps which support Dark Mode, but not in Apple’s own Rich Text editor TextEdit, which addresses the problem quite differently, making it incompatible with anything else, apart from QuickLook, which doesn’t work with anything else, only with TextEdit.
As I wrote here some time ago, this doesn’t apply to the Dictionary app, which is based on HTML with CSS rather than Rich Text, and uses a media-query in CSS to set the correct colour for text. This has caught out those who use custom dictionaries, who have had to modify their stylesheets to incorporate that media-query and work properly in Dark Mode.
That seems to work well until you access dictionary content via Spotlight. To test this out, bring up the Spotlight search window using Command-space, then type in a word which you should find in one of your active dictionaries. In the lefthand column, select the dictionary entry and in some cases the entry will display correctly.
But in others, and this seems most commonly to affect non-English languages, what’s displayed is the dreaded black text on a dark grey background.
Open the Dictionary app and look there, and you shouldn’t see any problem, though.
Unfortunately, system dictionaries aren’t supplied in discrete dictionary files any more, it appears, so you can’t go into them and try to tweak their stylesheets in the way that you can with a custom dictionary. In any case, the evidence from the Dictionary app is that they are correctly styled in bi-modal text. It’s just that when Spotlight displays them, it often – but not always – fails to render their text correctly.
The workaround if Spotlight does display unreadable text is to double-click on the entry, which opens it in the Dictionary app. But what a byzantine mess this has become.
Many thanks to Michele for reporting this thoroughly confusing bug. I think I’ll go and lie down now in a Dark Mode room.