I recently came to know of the ICC profile format. As part of a broader project I am working on, I need some source code of a few .icc files and their corresponding parse trees (or alternatively a .icc file parser).
I have searched the internet looking for the same and now I am thoroughly confused about the following concepts:
(1) Does a .icc file have source code? It's hard to enough to find a sample .icc file on the net, and the ones I found on github cannot open without the "Microsoft Color Control Panel" and that doesn't mention the source code.
(2) Once I have the source code, is their an existing parser to generate a parse tree for such a file?
By 'source code' I mean: Following link displays an html file: https://en.wikipedia.org/wiki/Pythagorean_theorem
And it's source code looks sth like:
<!DOCTYPE html>
<html class="client-nojs" lang="en" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>Pythagorean theorem - Wikipedia</title>
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"YA8lRQpAICgAADmJhZgAAABI","wgCSPNonce":!1,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"Pythagorean_theorem","wgTitle":"Pythagorean theorem","wgCurRevisionId":1000327432,"wgRevisionId":1000327432,"wgArticleId":26513034,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","Articles with short description","Short description is different from Wikidata","Wikipedia indefinitely move-protected pages","Wikipedia indefinitely semi-protected pages","CS1: long volume value","Commons category link from Wikidata",
"Wikipedia articles with BNE identifiers","Wikipedia articles with BNF identifiers","Wikipedia articles with GND identifiers","Wikipedia articles with LCCN identifiers","Wikipedia articles with NDL identifiers","Good articles","Articles containing proofs","Pythagorean theorem","Area","Angle","Equations","Pythagoras","Euclidean plane geometry","History of geometry","Proof without words"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Pythagorean_theorem","wgRelevantArticleId":26513034,"wgIsProbablyEditable":!1,"wgRelevantPageIsProbablyEditable":!1,"wgRestrictionEdit":["autoconfirmed"],"wgRestrictionMove":["sysop"],"wgMediaViewerOnClick":!0,"wgMediaViewerEnabledByDefault":!0,"wgPopupsReferencePreviews":!1,"wgPopupsConflictsWithNavPopupGadget":!1,"wgPopupsConflictsWithRefTooltipsGadget":!0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":!0,
"nearby
....
.icc files do not have a "source code" in the sense in which people normally use the term "source code". You might say, the .icc file is the source code, and it is interpreted by software that does something about images.
So if you have the .icc file, then you have the source code.
You probably have some .icc files on your computer, e.g. (from www.colourmanagement.net):
/usr/share/color/icc
\system32\spool\drivers\color
/Library/ColorSync/Profiles
or/Users/<username>/Library/ColorSync/Profiles
The ICC file format is ... well, a file format, like JPG or WAV. It's a sequence of bytes. I found the ICC Specification here on the page ICC Specifications.
To load and inspect a .icc file from an own program, I assume there are libraries for some programming languages. It seems that the ICC provides some themselves.