It seems that gamma correction is not applied here, as it is in colorramp_fill() in colorramp.c. Is that on purpose?