summaryrefslogtreecommitdiff
path: root/source/fitz/colorspace.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2017-11-23 11:02:58 +0000
committerRobin Watts <robin.watts@artifex.com>2017-12-06 17:52:16 +0000
commit61f466533fee60ef1cdb862ad955aa671e3f1025 (patch)
tree6fe60544e51b2607b42383af15d094e5fb60daef /source/fitz/colorspace.c
parent2be51ed491ede636c71ee0e0ae0ee2576d9e9561 (diff)
downloadmupdf-61f466533fee60ef1cdb862ad955aa671e3f1025.tar.xz
Ensure that our ICC base spaces have colorant names.
Diffstat (limited to 'source/fitz/colorspace.c')
-rw-r--r--source/fitz/colorspace.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c
index 045db574..515f50fb 100644
--- a/source/fitz/colorspace.c
+++ b/source/fitz/colorspace.c
@@ -3708,12 +3708,29 @@ fz_new_icc_colorspace(fz_context *ctx, const char *name, int num, fz_buffer *buf
flags |= FZ_CS_SUBTRACTIVE;
cs = fz_new_colorspace(ctx, name, profile->num_devcomp, flags, NULL, NULL, NULL, is_lab ? clamp_lab_icc : clamp_default_icc, free_icc, profile, sizeof(profile));
- if (profile->num_devcomp == 4)
+ switch (profile->num_devcomp)
{
+ case 1:
+ fz_colorspace_name_colorant(ctx, cs, 0, "Gray");
+ break;
+ case 3:
+ if (is_lab)
+ {
+ fz_colorspace_name_colorant(ctx, cs, 0, "L*");
+ fz_colorspace_name_colorant(ctx, cs, 1, "a*");
+ fz_colorspace_name_colorant(ctx, cs, 2, "b*");
+ } else {
+ fz_colorspace_name_colorant(ctx, cs, profile->bgr ? 2 : 0, "Red");
+ fz_colorspace_name_colorant(ctx, cs, 1, "Green");
+ fz_colorspace_name_colorant(ctx, cs, profile->bgr ? 0 : 2, "Blue");
+ }
+ break;
+ case 4:
fz_colorspace_name_colorant(ctx, cs, 0, "Cyan");
fz_colorspace_name_colorant(ctx, cs, 1, "Magenta");
fz_colorspace_name_colorant(ctx, cs, 2, "Yellow");
fz_colorspace_name_colorant(ctx, cs, 3, "Black");
+ break;
}
}
fz_catch(ctx)