Wczoraj wieczorem w celach testowych zainstalowałem Firefoxa 4. Tak, chodzi o tę przeglądarkę WWW, pozornie nie mającą wiele wspólnego z fotografią. Ale tylko pozornie – jest to bowiem jeden z nielicznych tego typu programów, wyposażonych w mechanizmy zarządzania barwą. Funkcja ta ma w założeniu odpowiadać za poprawne odwzorowanie kolorów na zdjęciach umieszczonych na stronach internetowych, jednak – jak pokazało życie – może ona sprawić poważny kłopot.
Uproszczona zasada działania tego mechanizmu jest następująca: z internetu pobierana jest strona ze zdjęciami, sprawdzane są profile ICC przypisane (lub pominięte) do plików graficznych i następuje konwersja informacji o barwach do uniwersalnej przestrzeni kolorów. Dalej mechanizm zarządzania barwą wykonuje jeszcze jedną konwersję barw – tym razem z przestrzeni uniwersalnej. Używany do tego jest profil ICC, przypisany w systemie operacyjnym do monitora, na którym wyświetlane jest okno przeglądarki. Tak przetworzone dane trafiają do pamięci karty graficznej i stąd – prosto na ekran. Dzięki całemu cyklowi możemy cieszyć oko fotografiami „trzymającymi” kolorystykę zgodną z intencjami ich autora. Pod dwoma wszakże warunkami – zdjęcia na serwerze muszą mieć dołączone prawidłowe profile źródłowej przestrzeni kolorów (np. sRGB, Adobe RGB, etc.) oraz używany przez nas monitor musi być poprawnie skalibrowany i oprofilowany.

Do włączenia trybu zarządzania kolorem w Firefoxie 4 niezbędna jest zmiana wartości parametru gfx.color_management.mode w zaawansowanych opcjach przeglądarki.
Firefox, począwszy od wersji 3.5, może operować w trzech trybach. W trybie 0 mechanizm zarządzania barwą jest wyłączony. W trybie 1 przeglądarka wykonuje konwersję wszystkich informacji o kolorze na stronie internetowej: zdjęć oraz graficznych elementów kodu HTML, zawierających znaczniki definiujące barwę poszczególnych elementów strony. W ostatnim dostępnym trybie o numerze 2 przetwarzaniu przez mechanizm zarządzania barwą podlegają wyłącznie zdjęcia z przypisanym profilem źródłowym. Domyślne ustawienie w obecnych wersjach Firefoxa to 2. Aby sprawdzić lub zmienić tryb pracy programu, należy w pasku adresu wpisać about:config, odnaleźć klucz gfx.color_management.mode, zmienić jego wartość i ponownie uruchomić aplikację.

Szturchaniec Ewy i Piotra http://www.ewaipiotr.pl/ w swoich naturalnych kolorach.
Mimo, iż włączenie mechanizmu zarządzania kolorem w „lisku” ma w założeniu zapewnić właściwe odwzorowanie barw podczas przeglądania stron internetowych, to nie należy całkowicie polegać na tej funkcji. Najważniejszym ogniwem w opisanym powyżej cyklu jest profil ICC monitora. W zależności od sposobu jego wygenerowania, zarządzanie barwą w Firefoxie działa prawidłowo lub przeciwnie – może zupełnie wyłożyć przeglądarkę w trakcie surfowania nie tylko po fotograficznych galeriach w internecie.

Firefox w trybie 2 zarządza wyłącznie kolorem zdjęć umieszczonych na stronie internetowej. Tutaj przykład błędnej interpretacji barw na skutek użycia nieobsługiwanego przez Firefoxa profilu monitora.
Pierwszą przyczyną kłopotów może być wersja profilu ICC. Obecnie w użyciu są profile w dwóch standardach: V2 i V4. Chociaż norma ICC V4 jest nowsza i bardziej rozbudowa wobec ICC V2, to do tej pory nie została należycie rozpowszechniona i z obsługą profili monitorów wykonanych w tym standardzie bywa różnie. Firefox współpracuje z profilami V2, ale nie zapewnia wsparcia dla profili V4. Jeżeli więc mamy w systemie monitor z profilem ICC V4, to zarządzanie kolorów w Firefoxie, ustawione w tryb 1 lub 2, nie będzie działać. Jest to swoista pułapka, ponieważ nie wiedząc o tej właściwości „liska” możemy mylnie wierzyć, że program prawidłowo zarządza barwą wyświetlanych zdjęć – a tymczasem nie robi nic. Jak zaradzić takiej sytuacji? Najprościej zapewnić sobie profil w wersji V2. Jeżeli samodzielnie kalibrujemy i profilujemy użytkowany monitor, to wystarczy zadbać o ustawienie odpowiedniej opcji w oprogramowaniu profilującym (np. i1Match, ColorMunki, etc.).

W trybie 1 interpretowane są wszystkie kolory na stronie oraz - jak widać na zrzucie - również elementy okna przeglądarki. Zazwyczaj pomarańczowy przycisk Firefox ma tutaj kolor zielony.
To jednak nie koniec potencjalnych źródeł kłopotów. Okazuje się bowiem, że nawet jeżeli korzystamy z profilu monitora typu ICC V2, to Firefox może w dalszym ciągu błędnie interpretować i wyświetlać kolory. Profile mogą bowiem zawierać różne sposoby konwersji kolorów z przestrzeni uniwersalnej do przestrzeni urządzenia. Generalnie możemy mówić o dwóch sposobach przekształceń: z użyciem macierzy/krzywych (jedno- lub wielokanałowych) lub z użyciem tablic cLUT. Pierwszy sposób zapewnia wprawdzie mniejszą precyzję podczas konwersji z przestrzeni źródłowej do docelowej, ale dobrze współgra z Firefoxem (i innymi aplikacjami potrafiącymi zarządzać barwą). Profile V2 typu cLUT oferują wyższą dokładność transformacji i oferują kilka dodatkowych właściwości (ich opis wykracza poza tę notatkę), ale nie są obsługiwane przez przeglądarkę Mozilli.

Jeszcze jeden przykład niewłaściwej interpretacji kolorów przez Firefoxa na stronie DFV http://www.dfv.pl/. Przyczyną problemu jest użycie nieobsługiwanego profilu monitora ICC V2 typu cLUT.
Firefox to chyba jedyna znana mi aplikacja, obsługująca zarządzanie barwą, która nie potrafi skorzystać z profilu ICC V2 typu cLUT, jakimi posługuję się w moim komputerze. Lightroom, Photoshop czy przeglądarka FastStone – a więc programy typowo graficzne – nie mają żadnego problemu z użyciem takich profili i prawidłowym wyświetlaniem kolorów. Na „pomarańczowego liska” można łatwo zastawić pułapkę. Wystarczy wykonać profil typu cLUT w aplikacji Argyll CMS, służącej do kalibracji monitorów, drukarek czy skanerów. Domyślnie, Argyll tworzy profile cLUT w trybie swoistego bezpieczeństwa. W aplikacjach, prawidłowo korzystających z profili cLUT, obraz jest wyświetlany prawidłowo, natomiast w programach z funkcjami zarządzania barwą, nie obsługującymi cLUT, podczas wyświetlania obrazu zamieniany jest kanał czerwony z zielonym. Jeżeli Firefox ma ustawioną wartość 1 lub 2 dla parametru gfx.color_management.mode, wówczas ujrzymy nieznane wcielenie „liska” – zielone!

Dzięki parametrowi gfx.color_management.display_profile możemy użyć dodatkowego profilu monitora, innego od systemowego.
W gruncie rzeczy i ten problem można rozwiązać pewnym dodatkowym nakładem pracy. Jeżeli zależy nam, aby monitor był obsługiwany w systemie przez profil typu cLUT i jednocześnie chcemy zachować pełną funkcjonalność Firefoxa, możemy wygenerować dwa profile. Profil typu cLUT normalnie instalujemy w systemie operacyjnym. Drugi profil typu macierze/krzywe zgrywamy w bezpieczne miejsce na dysku twardym, otwieramy Firefoxa, w pasku adresu wpisujemy about:config, odnajdujemy klucz gfx.color_management.display_profile i wpisujemy tutaj nazwę pliku z tym dodatkowym profilem wraz z pełną ścieżką dostępu w strukturze folderów. Po ponownym uruchomieniu przeglądarki, będzie ona pracować w trybie zarządzania kolorów, korzystając z tego zdefiniowanego profilu ICC zamiast z profilu monitora ustawionego w systemie operacyjnym.