8

When using Mac OS X, is there a way to have white text on black background without inverting the other colors?

  • For all applications? – Graham Miln Feb 14 '11 at 8:58
  • Yes, for all applications. – user3619 Feb 14 '11 at 10:11
13

Create a Custom ICC Profile

Theoretically this is possible by creating a custom ICC profile for your monitor. However, creating an ICC profile is not trivial.

You can see this ability by looking at some of the specialised profiles in /Library/ColorSync/Profiles/. The Gray Tone profile for example compresses all the colours into a single black to white strip. Gray Tone ICC profile

The Lightness Increase profile's 3D representation demonstrates how any colour can be mapped to any other colour. Lightness Increase ICC profile

There are a number of problems to this approach. Mac OS X's text is anti-aliased. Inverting just black with white will likely result in outlined text; the gray pixels surrounding each letter will not be inverted.

An Alterative Approach: Editing System.clr

An alternative approach is to alter the colours returned by Apple's NSColor class. This class provides the colours and patterns used across Mac OS X. The file that stores the Developer colours is located at /System/Library/Colors/System.clr.

Looking at Apple's Color Programming Topics guide, I suspect a developer may be able to load the file into a NSColorList instance, alter the colour, and write back the file.

This goes against Apple's advice not to alter files in /System, but it is probably your best solution. The modification task requires someone with Objective-C knowledge and available consulting time.

  • Good answer @Graham-Miln, could you elaborate on it? – conorgriffin Feb 14 '11 at 22:45
  • @Griffo what would like to know more about? – Graham Miln Feb 16 '11 at 1:18
  • Hey @GrahamMiln thank you so much for the answer. I am figuring out how to create an ICC profile, but I don't know how to apply it. Any ideas here? – Devin G Rhode Jul 19 '19 at 16:52
  • turning off "font smoothing" (anti aliasing) is pretty easy. Just search "font" in system preferences or go to general, it should be at the bottom in general. When I have time I am going to try editing .icc profiles in the ColorSync folders. In system preferences> display>colors, you can "Calibrate..." to create a sort of default icc profile in ~/Library/ColorSync/Profiles/what-you-named-it.icc. What I cannot figure out is how to directly edit the color profile (.icc) in photoshop.. – Devin G Rhode Jul 19 '19 at 17:26
  • 1
    @DevinGRhode consider asking a new question about how to easily edit ICC profiles on macOS. – Graham Miln Jul 19 '19 at 18:57
1

You could turn on both color inverting and grayscale mode in Accessibility preferences - that would give you white-on-black without weird inverted colors, but everything would be grayscale.

You must log in to answer this question.