diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-11-23 11:02:58 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-12-06 17:52:16 +0000 |
commit | 61f466533fee60ef1cdb862ad955aa671e3f1025 (patch) | |
tree | 6fe60544e51b2607b42383af15d094e5fb60daef /source | |
parent | 2be51ed491ede636c71ee0e0ae0ee2576d9e9561 (diff) | |
download | mupdf-61f466533fee60ef1cdb862ad955aa671e3f1025.tar.xz |
Ensure that our ICC base spaces have colorant names.
Diffstat (limited to 'source')
-rw-r--r-- | source/fitz/colorspace.c | 19 |
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) |