% Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % basic colorspace mechanism % % There have been some major changes to the PostScript colour handling. % In particular, the vast majority of the colour space code has been % converted from PostScript to C. This file has been extensively % modified, as has gs_icc.ps. The remaining PostScript files which % previously implemented colour space handling; gs_ciecs2.ps, gs_ciecs3.ps % gs_devcs.ps, gs_devn.ps, gs_devpxl.ps, gs_indxd.ps, gs_patrn.ps and % gs_sepr.ps have been superceded by the C code and removed. % % gs_lev2.ps and gs_ll3.ps have also been modified so that they no longer % attempt to execute these PostScript files. % .currentglobal //true .setglobal systemdict begin % % gs_res.ps, and possibly other files, use this dictionary. Formerly % in cspace_util, moved to systemdict. % 20 dict dup /colorspacedict exch def begin % colorspacedict % % gs_res.ps uses these entries in colorspacedict % to populate the ColorSpaceFamily resource, so we need % to add the supported spaces. % /DeviceGray [] def /DeviceRGB [] def /DeviceCMYK [] def end % colorspacedict % % Global, read-only, unpacked, array-form device color spaces % We need to return an array argument in response to currentcolorspace % even if the argument presented to setcolorspace was a simple device % space name. Not only that, but in order to satisfy some Adobe % applications, it must be the *same* array every time. The only way % to do that is to define an appropriate set initial arrays and always return % one of those. These arrays are defined here. % /DeviceGray_array /DeviceGray 1 array astore readonly def /DeviceRGB_array /DeviceRGB 1 array astore readonly def /DeviceCMYK_array /DeviceCMYK 1 array astore readonly def % % These routines used for the NOSUBSTDEVICECOLORS switch. This prevents % substitution of DeviceGray, DeviceRGB and DeviceCMYK with a Default* % colour space when /UseCIEColors is true. If the job includes a % definition of /DefaltGray, DefaultRGB or DefaultCMYK then it also executes % .includecolorspace to allow the device to record the substitute space. % /..page_default_spaces 3 dict def % % Used internally to retrieve any relevant default colour space. % % <Default space name> ..nosubstdevicetest false % <Default space name> [space] true % % If the boolean is true then the C code must set the additional colour space % and execute .includecolorspace before finally setting a DeviceGray space. % % called from C code, can't undef. Use this to trigger the code: % -sDEVICE=pkmraw -dMaxBitmap=4000m -r72 -dNOSUBSTDEVICECOLORS ./tests/Ghent_V3.0/110_defaultcolourspace_x3.pdf /..nosubstdevicetest { //false mark 3 -1 roll % If we have already recorded this space, don't repeat it. systemdict /..page_default_spaces get 1 index known { cleartomark } { { % Check to see if this space was defined by defineresource, if so then % the job defined it, otherwise its the usual default, so ignore it. dup /ColorSpace resourcestatus { pop 0 eq { % Default* defined by defineresource systemdict /..page_default_spaces get 1 index //true put dup /ColorSpace findresource 4 2 roll pop pop //true }{ cleartomark } ifelse }{ cleartomark } ifelse } stopped {cleartomark}if } ifelse }bind def end % % Set the initial device space % systemdict /DeviceGray_array get setcolorspace .setglobal
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
FAPIcidfmap | File | 1.45 KB | 0644 |
|
FAPIconfig | File | 815 B | 0644 |
|
FAPIfontmap | File | 1.43 KB | 0644 |
|
FCOfontmap-PCLPS2 | File | 2.79 KB | 0644 |
|
Fontmap | File | 109 B | 0644 |
|
Fontmap.GS | File | 12.63 KB | 0644 |
|
cidfmap | File | 2.11 KB | 0644 |
|
gs_agl.ps | File | 212.91 KB | 0644 |
|
gs_btokn.ps | File | 12.17 KB | 0644 |
|
gs_cet.ps | File | 4.85 KB | 0644 |
|
gs_cff.ps | File | 6.8 KB | 0644 |
|
gs_cidcm.ps | File | 16.43 KB | 0644 |
|
gs_ciddc.ps | File | 8.31 KB | 0644 |
|
gs_cidfm.ps | File | 7.15 KB | 0644 |
|
gs_cidfn.ps | File | 14.21 KB | 0644 |
|
gs_cidtt.ps | File | 5.71 KB | 0644 |
|
gs_cmap.ps | File | 18.01 KB | 0644 |
|
gs_cspace.ps | File | 3.96 KB | 0644 |
|
gs_dbt_e.ps | File | 2.08 KB | 0644 |
|
gs_diskn.ps | File | 6.71 KB | 0644 |
|
gs_dps1.ps | File | 4.64 KB | 0644 |
|
gs_dps2.ps | File | 8.56 KB | 0644 |
|
gs_dscp.ps | File | 3.85 KB | 0644 |
|
gs_epsf.ps | File | 9.2 KB | 0644 |
|
gs_fapi.ps | File | 15.26 KB | 0644 |
|
gs_fntem.ps | File | 11.04 KB | 0644 |
|
gs_fonts.ps | File | 45.73 KB | 0644 |
|
gs_frsd.ps | File | 3.08 KB | 0644 |
|
gs_icc.ps | File | 3.03 KB | 0644 |
|
gs_il1_e.ps | File | 2.66 KB | 0644 |
|
gs_img.ps | File | 23.44 KB | 0644 |
|
gs_init.ps | File | 89.44 KB | 0644 |
|
gs_lev2.ps | File | 42.79 KB | 0644 |
|
gs_ll3.ps | File | 19.13 KB | 0644 |
|
gs_mex_e.ps | File | 3.75 KB | 0644 |
|
gs_mgl_e.ps | File | 2.13 KB | 0644 |
|
gs_mro_e.ps | File | 2.45 KB | 0644 |
|
gs_pdf_e.ps | File | 1.52 KB | 0644 |
|
gs_pdfwr.ps | File | 31.69 KB | 0644 |
|
gs_res.ps | File | 41.42 KB | 0644 |
|
gs_resmp.ps | File | 21.95 KB | 0644 |
|
gs_setpd.ps | File | 37.54 KB | 0644 |
|
gs_statd.ps | File | 17.43 KB | 0644 |
|
gs_std_e.ps | File | 3.07 KB | 0644 |
|
gs_sym_e.ps | File | 3.03 KB | 0644 |
|
gs_trap.ps | File | 2.88 KB | 0644 |
|
gs_ttf.ps | File | 63.24 KB | 0644 |
|
gs_typ32.ps | File | 4.45 KB | 0644 |
|
gs_typ42.ps | File | 2.05 KB | 0644 |
|
gs_type1.ps | File | 12.25 KB | 0644 |
|
gs_wan_e.ps | File | 1.53 KB | 0644 |
|
pdf_base.ps | File | 51.31 KB | 0644 |
|
pdf_draw.ps | File | 169.33 KB | 0644 |
|
pdf_font.ps | File | 89.57 KB | 0644 |
|
pdf_main.ps | File | 124.35 KB | 0644 |
|
pdf_ops.ps | File | 72 KB | 0644 |
|
pdf_rbld.ps | File | 18.97 KB | 0644 |
|
pdf_sec.ps | File | 24.22 KB | 0644 |
|
xlatmap | File | 1.73 KB | 0644 |
|