Created
March 5, 2026 15:18
-
-
Save elmimmo/a5bc7193dc353b7f8bea4161c8f637dd to your computer and use it in GitHub Desktop.
Adobe InDesign startup script that alerts when spot inks are not set to export as process.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //DESCRIPTION:Alert when spot inks are not set to export as process on document open. | |
| // by Jorge Hernández Valiñani (@Estudio Fénix) + Codex (GPT-5) | |
| #target "InDesign" | |
| #targetengine "spotSeparationAlert" | |
| (function () { | |
| var LISTENER_NAME = "spotSeparationAlertListener"; | |
| var LABEL_IGNORED_INKS = "spotSeparationAlert.ignoredInks.v1"; | |
| var OPEN_PALETTES_BY_DOCID = {}; | |
| var STR_DIALOG_TITLE = "Alerta de separaciones"; | |
| var STR_DIALOG_TITLE_SEP = " - "; | |
| var STR_DIALOG_INTRO = "Estas tintas planas generan separaciones extra. Escoge:"; | |
| var STR_COL_A = "A"; | |
| var STR_COL_B = "B"; | |
| var STR_COL_C = "C"; | |
| var STR_COL_D = "D"; | |
| var STR_ACTION_A = "A. Dejar tal cual; que genere separaciones"; | |
| var STR_ACTION_B = "B. Salida como cuatricromía en Administrador de tintas"; | |
| var STR_ACTION_C = "C. Convertir muestra a cuatricromía (pero mantener su “Modo de color”)"; | |
| var STR_ACTION_D = "D. Convertir muestra a Modo de color: CMYK"; | |
| var STR_REMEMBER = "No volver a alertar sobre estas tintas"; | |
| var STR_CANCEL = "Cancelar"; | |
| var STR_OK = "OK"; | |
| var STR_R4_DISABLED_HINT = "No disponible: el “Modo de color” de la tinta ya es CMYK."; | |
| var STR_NO_OPEN_DOCS = "No hay documentos abiertos."; | |
| var STR_ERROR_PREFIX = "spotSeparationAlert error: "; | |
| var STR_ERROR_LINE_OPEN = " (line "; | |
| var STR_ERROR_LINE_CLOSE = ")"; | |
| var UI_DARK_THRESHOLD = 0.5; | |
| var ICON_NAMES = ["Separation", "Spot", "Process", "RGB", "CMYK", "Lab"]; | |
| var EMBEDDED_ICON_DATA = { | |
| Separation: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%6d%49%44%41%54%18%19%63%f8%ff%ff%3f%03%32%06%82%3a%18%c6%90%23%4b%31%10%68%20%2b%44%c2%1a%78%4d%46%a6%71%3a%03%08%a2%80%b8%08%ca%2e%02%f1%71%39%23%0a%aa%80%03%ca%e7%40%d7%80%55%21%92%01%28%1a%40%40%11%2a%c0%0b%d5%84%ec%b9%28%a8%78%11%54%1d%38%14%fc%f1%85%06%92%3c%dc%64%61%74%df%43%ad%16%86%9b%0c%15%70%c1%61%2a%0c%bb%80%d4%01%00%02%83%b6%68%cc%4d%5e%49%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| Spot: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%3c%49%44%41%54%18%19%63%60%60%60%a8%23%01%d3%49%71%11%10%4b%02%31%2f%10%2b%42%f9%38%15%2b%fe%ff%ff%9f%01%86%a1%1a%70%2a%e6%40%53%cc%8b%4f%b1%24%29%26%17%41%15%70%10%e3%e6%01%0a%67%00%48%4b%4d%10%46%28%df%9c%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| Process: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%24%49%44%41%54%18%19%63%60%60%60%a8%23%01%43%18%ff%ff%ff%67%c0%47%c3%15%13%52%88%a4%61%d4%64%0a%4c%26%16%03%00%26%09%9f%67%97%f5%d4%89%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| RGB: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%26%49%44%41%54%18%19%63%60%60%60%e8%21%01%33%f4%7c%b5%b1%f9%0f%c3%6e%ab%dc%e0%58%a4%f8%19%1c%8f%2a%a6%b3%62%62%31%00%db%2a%d4%40%b4%ef%ef%d2%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| CMYK: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%59%49%44%41%54%18%d3%95%cf%b1%11%c0%20%10%03%41%35%a6%c6%08%28%88%26%cf%01%c6%3c%0c%3f%b6%03%65%7b%3f%20%49%f5%c7%54%ed%d2%10%64%2b%76%7b%b0%80%2c%28%76%03%b1%e0%53%30%e0%11%c7%20%c2%14%0b%90%54%f7%f7%9c%71%ff%0c%b6%5e%2e%df%70%2c%06%2b%de%e0%1e%4c%9c%c0%18%4c%fc%71%17%d1%b2%c9%9f%a4%fd%fc%98%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| Lab: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%68%49%44%41%54%18%19%63%60%60%60%a8%23%01%33%d4%dd%7e%cb%f5%7f%f5%55%c9%ff%55%7b%35%ff%7b%2d%b3%fa%af%3e%a7%e1%3f%f7%ac%7b%ff%15%aa%df%ff%0f%f0%bd%f6%bf%51%7e%df%ff%c1%a6%98%24%0f%ce%64%38%f3%7f%39%c7%96%ff%87%c5%9a%ff%df%53%0d%fc%ff%d6%c5%e4%ff%c7%42%f5%ff%5f%e6%4b%fd%ff%71%96%ef%ff%d7%cf%2c%ff%07%9b%62%62%31%00%01%d4%cb%77%9e%eb%d8%0e%00%00%00%00%49%45%4e%44%ae%42%60%82" | |
| }; | |
| var EMBEDDED_ICON_DATA_DARK = { | |
| Separation: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%66%49%44%41%54%18%19%63%f8%ff%ff%3f%03%1a%ae%43%c2%28%72%0c%e4%2a%d6%40%53%08%c3%1a%84%4c%66%20%c6%19%51%40%5c%04%65%17%41%f9%58%15%c3%14%72%40%f9%1c%e8%1a%70%29%64%c0%a6%01%24%a0%08%15%e0%85%0a%22%7b%2e%0a%2a%0e%92%57%84%85%82%3f%81%d0%00%cb%23%9b%2c%8c%25%64%18%a0%e2%70%93%41%d8%05%87%a9%30%0c%92%67%00%00%07%2b%81%ab%0f%f9%c0%01%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| Spot: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%3a%49%44%41%54%18%19%63%f8%ff%ff%7f%1d%b1%98%81%6e%8a%8b%80%58%12%88%79%81%58%11%ca%c7%a9%18%a4%80%01%09%2b%e2%53%cc%81%a6%98%17%9f%62%49%52%4c%2e%82%2a%e0%20%c6%cd%03%14%ce%00%95%c7%9b%cf%18%32%d3%07%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| Process: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%21%49%44%41%54%18%95%63%f8%ff%ff%7f%1d%b1%98%01%89%c3%40%80%86%2b%26%8a%1e%35%f9%3f%a5%26%13%15%83%00%b0%57%91%83%77%5c%74%19%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| RGB: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%27%49%44%41%54%18%57%63%f8%ff%ff%7f%0f%b1%98%01%44%7c%b5%b1%f9%0f%c3%6e%ab%dc%e0%58%a4%f8%19%1c%8f%2a%a6%b3%62%62%31%00%ad%b6%4b%d7%9f%01%cd%03%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| CMYK: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%5a%49%44%41%54%18%d3%8d%d1%b1%0d%c0%20%10%04%c1%6b%ec%1a%23%a0%20%9a%5c%07%06%9b%37%bc%4c%70%d9%ec%0b%09%01%f5%74%02%aa%5d%1a%82%6c%c5%6e%0f%16%90%05%37%14%01%ef%82%17%6e%f0%1c%44%98%60%01%92%ea%fa%f8%1d%b6%9b%24%6c%fd%5c%ee%70%2c%06%33%fe%c0%35%18%38%81%31%e8%f8%f4%07%2f%a4%3e%41%36%b8%a4%04%74%00%00%00%00%49%45%4e%44%ae%42%60%82", | |
| Lab: "%89%50%4e%47%0d%0a%1a%0a%00%00%00%0d%49%48%44%52%00%00%00%0b%00%00%00%0b%08%06%00%00%00%a9%ac%77%26%00%00%00%6a%49%44%41%54%18%19%63%f8%ff%ff%7f%1d%b1%98%01%44%dc%7e%cb%f5%7f%f5%55%c9%ff%55%7b%35%ff%7b%2d%b3%fa%af%3e%a7%e1%3f%f7%ac%7b%ff%15%aa%df%ff%0f%f0%bd%f6%bf%51%7e%df%ff%c1%a6%98%24%0f%ce%64%38%f3%7f%39%c7%96%ff%87%c5%9a%ff%df%53%0d%fc%ff%d6%c5%e4%ff%c7%42%f5%ff%5f%e6%4b%fd%ff%71%96%ef%ff%d7%cf%2c%ff%07%9b%62%62%3d%08%00%e3%af%5d%f3%8c%d3%13%bb%00%00%00%00%49%45%4e%44%ae%42%60%82" | |
| }; | |
| function asArray(v) { | |
| return v && v.length ? v : []; | |
| } | |
| function trim(s) { | |
| return String(s).replace(/^\s+|\s+$/g, ""); | |
| } | |
| function parseIgnoredNames(doc) { | |
| var raw = ""; | |
| try { | |
| raw = doc.extractLabel(LABEL_IGNORED_INKS) || ""; | |
| } catch (_) {} | |
| if (!raw) return {}; | |
| var out = {}; | |
| var parts = raw.split("\n"); | |
| for (var i = 0; i < parts.length; i++) { | |
| var n = trim(parts[i]); | |
| if (n) out[n] = true; | |
| } | |
| return out; | |
| } | |
| function saveIgnoredNames(doc, ignoredMap) { | |
| var names = []; | |
| for (var k in ignoredMap) { | |
| if (ignoredMap.hasOwnProperty(k) && ignoredMap[k]) names.push(k); | |
| } | |
| names.sort(); | |
| try { | |
| doc.insertLabel(LABEL_IGNORED_INKS, names.join("\n")); | |
| } catch (_) {} | |
| } | |
| function getColorByName(doc, name) { | |
| try { | |
| var c = doc.colors.itemByName(name); | |
| if (c && c.isValid) return c; | |
| } catch (_) {} | |
| return null; | |
| } | |
| function getColorModeIconName(color) { | |
| try { | |
| if (!color || !color.isValid) return "Lab"; | |
| if (color.space === ColorSpace.RGB) return "RGB"; | |
| if (color.space === ColorSpace.CMYK) return "CMYK"; | |
| return "Lab"; | |
| } catch (_) { | |
| return "Lab"; | |
| } | |
| } | |
| function clamp01(x) { | |
| if (x < 0) return 0; | |
| if (x > 1) return 1; | |
| return x; | |
| } | |
| function hsbToRgb01(h, s, v) { | |
| h = ((h % 360) + 360) % 360; | |
| s = clamp01(s); | |
| v = clamp01(v); | |
| var c = v * s; | |
| var hp = h / 60; | |
| var x = c * (1 - Math.abs((hp % 2) - 1)); | |
| var r = 0, g = 0, b = 0; | |
| if (hp < 1) { r = c; g = x; } | |
| else if (hp < 2) { r = x; g = c; } | |
| else if (hp < 3) { g = c; b = x; } | |
| else if (hp < 4) { g = x; b = c; } | |
| else if (hp < 5) { r = x; b = c; } | |
| else { r = c; b = x; } | |
| var m = v - c; | |
| return [r + m, g + m, b + m]; | |
| } | |
| function labToRgb01(L, a, b) { | |
| function fInv(t) { | |
| var t3 = t * t * t; | |
| return t3 > 0.008856 ? t3 : (t - 16 / 116) / 7.787; | |
| } | |
| var y = (L + 16) / 116; | |
| var x = a / 500 + y; | |
| var z = y - b / 200; | |
| x = 95.047 * fInv(x); | |
| y = 100.000 * fInv(y); | |
| z = 108.883 * fInv(z); | |
| x /= 100; | |
| y /= 100; | |
| z /= 100; | |
| var r = x * 3.2406 + y * -1.5372 + z * -0.4986; | |
| var g = x * -0.9689 + y * 1.8758 + z * 0.0415; | |
| var bb = x * 0.0557 + y * -0.2040 + z * 1.0570; | |
| function gamma(u) { | |
| return u > 0.0031308 ? 1.055 * Math.pow(u, 1 / 2.4) - 0.055 : 12.92 * u; | |
| } | |
| return [clamp01(gamma(r)), clamp01(gamma(g)), clamp01(gamma(bb))]; | |
| } | |
| function cmykToRgb01(c, m, y, k) { | |
| c = clamp01(c); | |
| m = clamp01(m); | |
| y = clamp01(y); | |
| k = clamp01(k); | |
| var r = (1 - c) * (1 - k); | |
| var g = (1 - m) * (1 - k); | |
| var b = (1 - y) * (1 - k); | |
| return [r, g, b]; | |
| } | |
| function getColorPreviewRGB01(color) { | |
| try { | |
| if (!color || !color.isValid) return [0.5, 0.5, 0.5]; | |
| var values = asArray(color.colorValue); | |
| if (color.space === ColorSpace.RGB) { | |
| return [ | |
| clamp01((values[0] || 0) / 255), | |
| clamp01((values[1] || 0) / 255), | |
| clamp01((values[2] || 0) / 255) | |
| ]; | |
| } | |
| if (color.space === ColorSpace.CMYK) { | |
| return cmykToRgb01( | |
| (values[0] || 0) / 100, | |
| (values[1] || 0) / 100, | |
| (values[2] || 0) / 100, | |
| (values[3] || 0) / 100 | |
| ); | |
| } | |
| if (color.space === ColorSpace.LAB) { | |
| return labToRgb01(values[0] || 0, values[1] || 0, values[2] || 0); | |
| } | |
| if (values.length >= 3) { | |
| var h = values[0] || 0; | |
| var s = (values[1] || 0) / 100; | |
| var v = (values[2] || 0) / 100; | |
| return hsbToRgb01(h, s, v); | |
| } | |
| } catch (_) {} | |
| return [0.5, 0.5, 0.5]; | |
| } | |
| function buildIconImageCache() { | |
| var darkUI = false; | |
| try { | |
| darkUI = app.generalPreferences && | |
| app.generalPreferences.hasOwnProperty("uiBrightnessPreference") && | |
| app.generalPreferences.uiBrightnessPreference <= UI_DARK_THRESHOLD; | |
| } catch (_) {} | |
| var globalCacheKey = darkUI ? "__spotSeparationEmbeddedIconImagesDark" : "__spotSeparationEmbeddedIconImagesLight"; | |
| if ($.global[globalCacheKey]) { | |
| return $.global[globalCacheKey]; | |
| } | |
| var cache = {}; | |
| var fallback = null; | |
| var sourceData = darkUI ? EMBEDDED_ICON_DATA_DARK : EMBEDDED_ICON_DATA; | |
| for (var i = 0; i < ICON_NAMES.length; i++) { | |
| var k = ICON_NAMES[i]; | |
| try { | |
| var selected = null; | |
| if (sourceData.hasOwnProperty(k)) { | |
| var raw = sourceData[k]; | |
| selected = (raw && raw.indexOf("%") !== -1) ? unescape(raw) : raw; | |
| } | |
| try { | |
| cache[k] = ScriptUI.newImage(selected); | |
| } catch (_) { | |
| cache[k] = selected; | |
| } | |
| } catch (_) { | |
| cache[k] = null; | |
| } | |
| } | |
| fallback = cache.Process || null; | |
| if (fallback) { | |
| for (var key in cache) { | |
| if (cache.hasOwnProperty(key) && !cache[key]) { | |
| cache[key] = fallback; | |
| } | |
| } | |
| } | |
| // Keep cache alive in the targetengine session. | |
| $.global[globalCacheKey] = cache; | |
| return cache; | |
| } | |
| function closePaletteForDocId(docId) { | |
| var p = OPEN_PALETTES_BY_DOCID[docId]; | |
| if (p && p instanceof Window) { | |
| try { | |
| p.close(); | |
| } catch (_) {} | |
| } | |
| delete OPEN_PALETTES_BY_DOCID[docId]; | |
| } | |
| function showPalette(doc, entries, ignoredMap) { | |
| var iconImages = buildIconImageCache(); | |
| var docId = String(doc.id); | |
| closePaletteForDocId(docId); | |
| /* | |
| Code for Import https://scriptui.joonas.me — (Triple click to select): | |
| {"activeId":1,"items":{"item-0":{"id":0,"type":"Dialog","parentId":false,"style":{"enabled":true,"varName":null,"windowType":"Dialog","creationProps":{"su1PanelCoordinates":false,"maximizeButton":false,"minimizeButton":false,"independent":false,"closeButton":true,"borderless":false,"resizeable":false},"text":"Alerta de separaciones - Nuevo documento","preferredSize":[0,0],"margins":16,"orientation":"column","spacing":10,"alignChildren":["center","top"]}},"item-1":{"id":1,"type":"StaticText","parentId":0,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"Algunas tintas planas generan separaciones extra. Escoge:","justify":"left","preferredSize":[0,0],"alignment":"fill","helpTip":null}},"item-2":{"id":2,"type":"Checkbox","parentId":0,"style":{"enabled":true,"varName":null,"text":"No volver a alertar sobre estas tintas","preferredSize":[0,0],"alignment":"fill","helpTip":null}},"item-9":{"id":9,"type":"Group","parentId":0,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"row","spacing":10,"alignChildren":["left","center"],"alignment":"fill"}},"item-10":{"id":10,"type":"StaticText","parentId":9,"style":{"enabled":true,"varName":null,"creationProps":{},"softWrap":false,"text":"A. Dejar tal cual; que genere separaciones\nB. Salida como cuatricromía en Administrador de tintas\nC. Convertir muestra a cuatricromía (pero mantener su “Modo de color”)\nD. Convertir muestra a Modo de color: CMYK","justify":"left","preferredSize":[0,0],"alignment":null,"helpTip":null}},"item-12":{"id":12,"type":"Group","parentId":24,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"row","spacing":10,"alignChildren":["left","center"],"alignment":"fill"}},"item-13":{"id":13,"type":"StaticText","parentId":12,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"A","justify":"center","preferredSize":[18,0],"alignment":null,"helpTip":null}},"item-14":{"id":14,"type":"StaticText","parentId":12,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"B","justify":"center","preferredSize":[18,0],"alignment":null,"helpTip":null}},"item-15":{"id":15,"type":"StaticText","parentId":12,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"C","justify":"center","preferredSize":[18,0],"alignment":null,"helpTip":null}},"item-16":{"id":16,"type":"StaticText","parentId":12,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"D","justify":"center","preferredSize":[18,0],"alignment":null,"helpTip":null}},"item-24":{"id":24,"type":"Group","parentId":0,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"column","spacing":0,"alignChildren":["left","center"],"alignment":"fill"}},"item-34":{"id":34,"type":"Group","parentId":24,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":[2,0,2,0],"orientation":"row","spacing":10,"alignChildren":["left","center"],"alignment":"fill"}},"item-35":{"id":35,"type":"RadioButton","parentId":34,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Dejar tal cual","checked":false}},"item-36":{"id":36,"type":"RadioButton","parentId":34,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Tinta a cuatricomía","checked":false}},"item-37":{"id":37,"type":"RadioButton","parentId":34,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Muestra a cuatricomía","checked":false}},"item-38":{"id":38,"type":"RadioButton","parentId":34,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Muestra a CMYK","checked":true}},"item-40":{"id":40,"type":"Image","parentId":57,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,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33hag08ZolzqkGFSGjERHX4McSNEmyt4AjApi6I8AWxvL/MZLTyl2ydNG3k3LJAA7Cj2mUXJyL8187Sm/6Hvf49AVvUf438A4dEQd1l2uF0AAAAJcEhZcwAACxMAAAsTAQCanBgAAAY8aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMyA3OS45NjkwYTg3ZmMsIDIwMjUvMDMvMDYtMjA6NTA6MTYgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjI4IiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMjgiIGV4aWY6VXNlckNvbW1lbnQ9IlNjcmVlbnNob3QiIHhtcDpDcmVhdGVEYXRlPSIyMDI2LTAzLTA0VDE3OjIyOjE3KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNi0wMy0wNFQxNzoyMzo1NCswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNi0wMy0wNFQxNzoyMzo1NCswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEaXNwbGF5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkwMmIzZWQxLWExNTItNGU5My1hNDRmLTY2NTJlMjM1NzQ0MSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpmMDU1MjA3My03NTYxLTRjZGYtYTQzZS04OTUyZmY3MzA5NzMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMDU1MjA3My03NTYxLTRjZGYtYTQzZS04OTUyZmY3MzA5NzMiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMDU1MjA3My03NTYxLTRjZGYtYTQzZS04OTUyZmY3MzA5NzMiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDRUMTc6MjI6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MDJiM2VkMS1hMTUyLTRlOTMtYTQ0Zi02NjUyZTIzNTc0NDEiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDRUMTc6MjM6NTQrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjB4pesAAAAbSURBVCjPYwgkDjAA8SY1H/xoVN2gVEdM/AIAr3S3lXPI30oAAAAASUVORK5CYII="],"alignment":null,"helpTip":null}},"item-41":{"id":41,"type":"StaticText","parentId":57,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"PANTONE 540 C","justify":"left","preferredSize":[100,0],"alignment":null,"helpTip":null}},"item-43":{"id":43,"type":"Image","parentId":44,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjcuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjExKzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjExKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2YWViY2IzYi02MzkxLTQ1OTAtOTFjOC0wYTliOTc2NmEyYzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjIyYzQzMGEtZWI0ZS00MzlhLTk1ZjAtZTM0NjVhMTRiMWY3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NjIyYzQzMGEtZWI0ZS00MzlhLTk1ZjAtZTM0NjVhMTRiMWY3Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MjJjNDMwYS1lYjRlLTQzOWEtOTVmMC1lMzQ2NWExNGIxZjciIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YWViY2IzYi02MzkxLTQ1OTAtOTFjOC0wYTliOTc2NmEyYzciIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MzM6MTErMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvimNVsAAABaSURBVBjTjdGxDcAgEATBa+waI6AgmlwHBps3vExw2ewLCQH1dAKqXRqCbMVuDxaQBTcUAe+CF27wHESYYAGS6vr4HbabJGz9XO5wLAYz/sA1GDiBMej49AcvpD5BNrikBHQAAAAASUVORK5CYII="],"alignment":null,"helpTip":null}},"item-44":{"id":44,"type":"Group","parentId":45,"style":{"enabled":true,"varName":null,"preferredSize":[41,0],"margins":0,"orientation":"row","spacing":2,"alignChildren":["right","center"],"alignment":null}},"item-45":{"id":45,"type":"Group","parentId":34,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"row","spacing":10,"alignChildren":["left","bottom"],"alignment":null}},"item-57":{"id":57,"type":"Group","parentId":45,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"row","spacing":2,"alignChildren":["left","center"],"alignment":null}},"item-58":{"id":58,"type":"Image","parentId":44,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjcuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjE3KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjE3KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMTU3OWExZC0yZmM1LTQ1ZDctOTkyOC00YmM1MjMwMjNlZTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzkzYzYyODEtZDI5Ny00ZDdlLWJmYmMtZGYzYTg5YmIxMDMyIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NzkzYzYyODEtZDI5Ny00ZDdlLWJmYmMtZGYzYTg5YmIxMDMyIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OTNjNjI4MS1kMjk3LTRkN2UtYmZiYy1kZjNhODliYjEwMzIiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowMTU3OWExZC0yZmM1LTQ1ZDctOTkyOC00YmM1MjMwMjNlZTkiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MzM6MTcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjENAMoAAABmSURBVBgZY/j//z8DGq5DwihyDOQq1kBTCMMahExmIMYZUUBcBGUXQflYFcMUckD5HOgacClkwKYBJKAIFeCFCiJ7LgoqDpJXhIWCP4HQAMsjmyyMJWQYoOJwk0HYBYepMAySZwAAByuBqw/5wAEAAAAASUVORK5CYII="],"alignment":null,"helpTip":null}},"item-59":{"id":59,"type":"Image","parentId":44,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjcuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjE4KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjE4KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5YTZhNjUwMi02NWQwLTRhYjctODYwMC1jZjlkM2YxMDUwNmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDc3Mjc1NDktNGJjMS00NzdlLThhNjgtZWUxZGMwZWNjMDQzIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDc3Mjc1NDktNGJjMS00NzdlLThhNjgtZWUxZGMwZWNjMDQzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NzcyNzU0OS00YmMxLTQ3N2UtOGE2OC1lZTFkYzBlY2MwNDMiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YTZhNjUwMi02NWQwLTRhYjctODYwMC1jZjlkM2YxMDUwNmQiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MzM6MTgrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvL8s+sAAAA6SURBVBgZY/j//38dsZiBboqLgFgSiHmBWBHKx6kYpIABCSviU8yBppgXn2JJUkwugirgIMbNAxTOAJXHm88YMtMHAAAAAElFTkSuQmCC"],"alignment":null,"helpTip":null}},"item-73":{"id":73,"type":"Group","parentId":0,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":[10,0,0,0],"orientation":"row","spacing":10,"alignChildren":["right","center"],"alignment":"fill"}},"item-74":{"id":74,"type":"Button","parentId":73,"style":{"enabled":true,"varName":null,"text":"Cancelar","justify":"center","preferredSize":[90,0],"alignment":null,"helpTip":null}},"item-75":{"id":75,"type":"Button","parentId":73,"style":{"enabled":true,"varName":"ok","text":"OK","justify":"center","preferredSize":[90,0],"alignment":null,"helpTip":null}},"item-89":{"id":89,"type":"Group","parentId":24,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":[2,0,2,0],"orientation":"row","spacing":10,"alignChildren":["left","center"],"alignment":"fill"}},"item-90":{"id":90,"type":"RadioButton","parentId":89,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Dejar tal cual","checked":false}},"item-91":{"id":91,"type":"RadioButton","parentId":89,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Tinta a cuatricomía","checked":false}},"item-92":{"id":92,"type":"RadioButton","parentId":89,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Muestra a cuatricomía","checked":false}},"item-93":{"id":93,"type":"RadioButton","parentId":89,"style":{"enabled":true,"varName":null,"text":"","preferredSize":[18,0],"alignment":null,"helpTip":"Muestra a CMYK","checked":true}},"item-94":{"id":94,"type":"Group","parentId":89,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"row","spacing":10,"alignChildren":["left","bottom"],"alignment":null}},"item-95":{"id":95,"type":"Group","parentId":94,"style":{"enabled":true,"varName":null,"preferredSize":[41,0],"margins":0,"orientation":"row","spacing":2,"alignChildren":["right","center"],"alignment":null}},"item-97":{"id":97,"type":"Image","parentId":95,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjcuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjE4KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjE4KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5YTZhNjUwMi02NWQwLTRhYjctODYwMC1jZjlkM2YxMDUwNmQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDc3Mjc1NDktNGJjMS00NzdlLThhNjgtZWUxZGMwZWNjMDQzIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDc3Mjc1NDktNGJjMS00NzdlLThhNjgtZWUxZGMwZWNjMDQzIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NzcyNzU0OS00YmMxLTQ3N2UtOGE2OC1lZTFkYzBlY2MwNDMiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YTZhNjUwMi02NWQwLTRhYjctODYwMC1jZjlkM2YxMDUwNmQiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MzM6MTgrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvL8s+sAAAA6SURBVBgZY/j//38dsZiBboqLgFgSiHmBWBHKx6kYpIABCSviU8yBppgXn2JJUkwugirgIMbNAxTOAJXHm88YMtMHAAAAAElFTkSuQmCC"],"alignment":null,"helpTip":null}},"item-98":{"id":98,"type":"Image","parentId":95,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjcuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjExKzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI2LTAzLTA1VDEzOjMzOjExKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2YWViY2IzYi02MzkxLTQ1OTAtOTFjOC0wYTliOTc2NmEyYzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjIyYzQzMGEtZWI0ZS00MzlhLTk1ZjAtZTM0NjVhMTRiMWY3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NjIyYzQzMGEtZWI0ZS00MzlhLTk1ZjAtZTM0NjVhMTRiMWY3Ij4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MjJjNDMwYS1lYjRlLTQzOWEtOTVmMC1lMzQ2NWExNGIxZjciIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MDQ6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YWViY2IzYi02MzkxLTQ1OTAtOTFjOC0wYTliOTc2NmEyYzciIHN0RXZ0OndoZW49IjIwMjYtMDMtMDVUMTM6MzM6MTErMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvimNVsAAABaSURBVBjTjdGxDcAgEATBa+waI6AgmlwHBps3vExw2ewLCQH1dAKqXRqCbMVuDxaQBTcUAe+CF27wHESYYAGS6vr4HbabJGz9XO5wLAYz/sA1GDiBMej49AcvpD5BNrikBHQAAAAASUVORK5CYII="],"alignment":null,"helpTip":null}},"item-99":{"id":99,"type":"Group","parentId":94,"style":{"enabled":true,"varName":null,"preferredSize":[0,0],"margins":0,"orientation":"row","spacing":2,"alignChildren":["left","bottom"],"alignment":null}},"item-100":{"id":100,"type":"Image","parentId":99,"style":{"enabled":true,"varName":null,"image":["data:image/png;base64,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33hag08ZolzqkGFSGjERHX4McSNEmyt4AjApi6I8AWxvL/MZLTyl2ydNG3k3LJAA7Cj2mUXJyL8187Sm/6Hvf49AVvUf438A4dEQd1l2uF0AAAAJcEhZcwAACxMAAAsTAQCanBgAAAY8aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMyA3OS45NjkwYTg3ZmMsIDIwMjUvMDMvMDYtMjA6NTA6MTYgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjI4IiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMjgiIGV4aWY6VXNlckNvbW1lbnQ9IlNjcmVlbnNob3QiIHhtcDpDcmVhdGVEYXRlPSIyMDI2LTAzLTA0VDE3OjIyOjE3KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNi0wMy0wNFQxNzoyMzo1NCswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNi0wMy0wNFQxNzoyMzo1NCswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEaXNwbGF5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkwMmIzZWQxLWExNTItNGU5My1hNDRmLTY2NTJlMjM1NzQ0MSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpmMDU1MjA3My03NTYxLTRjZGYtYTQzZS04OTUyZmY3MzA5NzMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMDU1MjA3My03NTYxLTRjZGYtYTQzZS04OTUyZmY3MzA5NzMiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMDU1MjA3My03NTYxLTRjZGYtYTQzZS04OTUyZmY3MzA5NzMiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDRUMTc6MjI6NTArMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MDJiM2VkMS1hMTUyLTRlOTMtYTQ0Zi02NjUyZTIzNTc0NDEiIHN0RXZ0OndoZW49IjIwMjYtMDMtMDRUMTc6MjM6NTQrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNy4xIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjB4pesAAAAbSURBVCjPYwgkDjAA8SY1H/xoVN2gVEdM/AIAr3S3lXPI30oAAAAASUVORK5CYII="],"alignment":null,"helpTip":null}},"item-101":{"id":101,"type":"StaticText","parentId":99,"style":{"enabled":true,"varName":null,"creationProps":{"truncate":"none","multiline":false,"scrolling":false},"softWrap":false,"text":"PANTONE 540 C","justify":"left","preferredSize":[100,0],"alignment":null,"helpTip":null}}},"order":[0,1,24,12,13,14,15,16,34,35,36,37,38,45,44,58,59,43,57,40,41,89,90,91,92,93,94,95,97,98,99,100,101,9,10,2,73,74,75],"settings":{"importJSON":true,"indentSize":false,"cepExport":false,"includeCSSJS":true,"showDialog":true,"functionWrapper":false,"afterEffectsDockable":false,"itemReferenceList":"None"}} | |
| */ | |
| var dialogTitle = STR_DIALOG_TITLE + STR_DIALOG_TITLE_SEP + doc.name; | |
| var dlg = new Window("palette", dialogTitle, undefined, { closeButton: true }); | |
| dlg.text = dialogTitle; | |
| dlg.orientation = "column"; | |
| dlg.alignChildren = ["fill", "top"]; | |
| dlg.spacing = 10; | |
| dlg.margins = 16; | |
| dlg.add("statictext", undefined, STR_DIALOG_INTRO); | |
| var table = dlg.add("group"); | |
| table.orientation = "column"; | |
| table.alignChildren = ["fill", "top"]; | |
| table.spacing = 0; | |
| table.margins = 0; | |
| var header = table.add("group"); | |
| header.orientation = "row"; | |
| header.alignChildren = ["left", "center"]; | |
| header.spacing = 10; | |
| header.margins = [0, 0, 0, 0]; | |
| var hA = header.add("statictext", undefined, STR_COL_A); hA.preferredSize.width = 18; hA.justify = "center"; | |
| var hB = header.add("statictext", undefined, STR_COL_B); hB.preferredSize.width = 18; hB.justify = "center"; | |
| var hC = header.add("statictext", undefined, STR_COL_C); hC.preferredSize.width = 18; hC.justify = "center"; | |
| var hD = header.add("statictext", undefined, STR_COL_D); hD.preferredSize.width = 18; hD.justify = "center"; | |
| var rows = []; | |
| function applyRowVisualState(row, mode) { | |
| // mode: 1=initial, 2=ink to process, 3=swatch to process, 4=swatch to CMYK | |
| if (mode === 1) { | |
| row.iA.visible = true; | |
| row.iBSpot.visible = true; | |
| row.iBProcess.visible = false; | |
| row.iCInitial.visible = true; | |
| row.iCCMYK.visible = false; | |
| } else if (mode === 2) { | |
| row.iA.visible = false; | |
| row.iBSpot.visible = true; | |
| row.iBProcess.visible = false; | |
| row.iCInitial.visible = true; | |
| row.iCCMYK.visible = false; | |
| } else if (mode === 3) { | |
| row.iA.visible = false; | |
| row.iBSpot.visible = false; | |
| row.iBProcess.visible = true; | |
| row.iCInitial.visible = true; | |
| row.iCCMYK.visible = false; | |
| } else if (mode === 4) { | |
| row.iA.visible = false; | |
| row.iBSpot.visible = false; | |
| row.iBProcess.visible = true; | |
| row.iCInitial.visible = false; | |
| row.iCCMYK.visible = true; | |
| } | |
| } | |
| for (var i = 0; i < entries.length; i++) { | |
| var e = entries[i]; | |
| var line = table.add("group"); | |
| line.orientation = "row"; | |
| line.alignChildren = ["left", "center"]; | |
| line.spacing = 10; | |
| line.margins = [0, 2, 0, 2]; | |
| var r1 = line.add("radiobutton", undefined, ""); r1.preferredSize.width = 18; | |
| var r2 = line.add("radiobutton", undefined, ""); r2.preferredSize.width = 18; | |
| var r3 = line.add("radiobutton", undefined, ""); r3.preferredSize.width = 18; | |
| var r4 = line.add("radiobutton", undefined, ""); r4.preferredSize.width = 18; | |
| r1.value = true; | |
| var iconGroup = line.add("group"); | |
| iconGroup.orientation = "row"; | |
| iconGroup.alignChildren = ["left", "center"]; | |
| iconGroup.spacing = 2; | |
| iconGroup.margins = 0; | |
| // Keep fixed slots so alternate icons appear to switch in-place. | |
| var slotA = iconGroup.add("group"); | |
| slotA.orientation = "stack"; | |
| slotA.preferredSize = [11, 11]; | |
| slotA.margins = 0; | |
| var iA = slotA.add("image", undefined, iconImages.Separation); | |
| var slotB = iconGroup.add("group"); | |
| slotB.orientation = "stack"; | |
| slotB.preferredSize = [11, 11]; | |
| slotB.margins = 0; | |
| var iBSpot = slotB.add("image", undefined, iconImages.Spot); | |
| var iBProcess = slotB.add("image", undefined, iconImages.Process); | |
| iBProcess.visible = false; | |
| var slotC = iconGroup.add("group"); | |
| slotC.orientation = "stack"; | |
| slotC.preferredSize = [11, 11]; | |
| slotC.margins = 0; | |
| var iCInitial = slotC.add("image", undefined, iconImages[e.colorModeIconName] || iconImages.Lab); | |
| var iCCMYK = slotC.add("image", undefined, iconImages.CMYK); | |
| iCCMYK.visible = false; | |
| var chipLabelGroup = line.add("group"); | |
| chipLabelGroup.orientation = "row"; | |
| chipLabelGroup.alignChildren = ["left", "center"]; | |
| chipLabelGroup.spacing = 4; // Adjust chip<->label gap independently. | |
| chipLabelGroup.margins = 0; | |
| var chip = chipLabelGroup.add("panel"); | |
| chip.preferredSize = [11, 11]; | |
| chip.margins = 2; | |
| chip.previewRGB = e.previewRGB; | |
| chip.onDraw = function () { | |
| var g = this.graphics; | |
| var w = this.size[0], h = this.size[1]; | |
| var bg = g.newBrush(g.BrushType.SOLID_COLOR, this.previewRGB); | |
| var border = g.newPen(g.PenType.SOLID_COLOR, [0.2, 0.2, 0.2, 1], 2); | |
| g.rectPath(0, 0, w, h); | |
| g.fillPath(bg); | |
| g.strokePath(border); | |
| }; | |
| var label = chipLabelGroup.add("statictext", undefined, e.name); | |
| label.preferredSize.width = 260; | |
| label.margins = 0; | |
| var row = { | |
| entry: e, | |
| line: line, | |
| r1: r1, | |
| r2: r2, | |
| r3: r3, | |
| r4: r4, | |
| iA: iA, | |
| iBSpot: iBSpot, | |
| iBProcess: iBProcess, | |
| iCInitial: iCInitial, | |
| iCCMYK: iCCMYK, | |
| initialModeIcon: iconImages[e.colorModeIconName] || iconImages.Lab, | |
| isInitiallyCMYK: e.colorModeIconName === "CMYK", | |
| selectedMode: 1 | |
| }; | |
| if (row.isInitiallyCMYK) { | |
| row.r4.enabled = false; | |
| row.r4.helpTip = STR_R4_DISABLED_HINT; | |
| } | |
| (function (rowRef) { | |
| rowRef.r1.onClick = function () { rowRef.selectedMode = 1; applyRowVisualState(rowRef, 1); }; | |
| rowRef.r2.onClick = function () { rowRef.selectedMode = 2; applyRowVisualState(rowRef, 2); }; | |
| rowRef.r3.onClick = function () { rowRef.selectedMode = 3; applyRowVisualState(rowRef, 3); }; | |
| rowRef.r4.onClick = function () { rowRef.selectedMode = 4; applyRowVisualState(rowRef, 4); }; | |
| })(row); | |
| applyRowVisualState(row, 1); | |
| rows.push(row); | |
| } | |
| var legendGroup = dlg.add("group"); | |
| legendGroup.orientation = "row"; | |
| legendGroup.alignChildren = ["left", "center"]; | |
| legendGroup.spacing = 10; | |
| legendGroup.margins = [0, 0, 0, 0]; | |
| var legend = legendGroup.add("group"); | |
| legend.orientation = "column"; | |
| legend.alignChildren = ["left", "center"]; | |
| legend.spacing = 0; | |
| legend.add("statictext", undefined, STR_ACTION_A); | |
| legend.add("statictext", undefined, STR_ACTION_B); | |
| legend.add("statictext", undefined, STR_ACTION_C); | |
| legend.add("statictext", undefined, STR_ACTION_D); | |
| var remember = dlg.add("checkbox", undefined, STR_REMEMBER); | |
| var buttons = dlg.add("group"); | |
| buttons.orientation = "row"; | |
| buttons.alignChildren = ["right", "center"]; | |
| buttons.alignment = ["fill", "top"]; | |
| buttons.margins = [0, 10, 0, 0]; | |
| var cancelBtn = buttons.add("button", undefined, STR_CANCEL, { name: "cancel" }); | |
| cancelBtn.preferredSize.width = 90; | |
| var okBtn = buttons.add("button", undefined, STR_OK, { name: "ok" }); | |
| okBtn.preferredSize.width = 90; | |
| cancelBtn.onClick = function () { | |
| try { dlg.close(); } catch (_) {} | |
| }; | |
| okBtn.onClick = function () { | |
| var selections = []; | |
| for (var r = 0; r < rows.length; r++) { | |
| selections.push({ | |
| entry: rows[r].entry, | |
| mode: rows[r].selectedMode | |
| }); | |
| } | |
| if (remember.value) { | |
| for (var i = 0; i < selections.length; i++) { | |
| ignoredMap[selections[i].entry.name] = true; | |
| } | |
| saveIgnoredNames(doc, ignoredMap); | |
| } | |
| applyActions(doc, selections); | |
| try { dlg.close(); } catch (_) {} | |
| }; | |
| dlg.onClose = function () { | |
| delete OPEN_PALETTES_BY_DOCID[docId]; | |
| }; | |
| OPEN_PALETTES_BY_DOCID[docId] = dlg; | |
| dlg.show(); | |
| } | |
| function applyActions(doc, selections) { | |
| for (var i = 0; i < selections.length; i++) { | |
| var sel = selections[i]; | |
| var mode = sel.mode; | |
| var ink = sel.entry.ink; | |
| var color = sel.entry.color; | |
| if (mode === 2) { | |
| try { | |
| if (ink && ink.isValid && ink.isProcessInk === false) { | |
| ink.convertToProcess = true; | |
| } | |
| } catch (_) {} | |
| } else if (mode === 3) { | |
| try { | |
| if (color && color.isValid && color.model === ColorModel.SPOT) { | |
| color.properties = { model: ColorModel.PROCESS }; | |
| } | |
| } catch (_) {} | |
| } else if (mode === 4) { | |
| try { | |
| if (sel.entry.colorModeIconName === "CMYK") continue; | |
| } catch (_) {} | |
| try { | |
| if (color && color.isValid && color.model === ColorModel.SPOT) { | |
| color.properties = { model: ColorModel.PROCESS, space: ColorSpace.CMYK }; | |
| } | |
| } catch (_) {} | |
| } | |
| } | |
| } | |
| function collectProblemEntries(doc, ignoredMap) { | |
| var entries = []; | |
| var inks = doc.inks; | |
| for (var i = 0; i < inks.length; i++) { | |
| var ink = inks[i]; | |
| try { | |
| if (!ink || !ink.isValid) continue; | |
| if (ink.isProcessInk === true) continue; | |
| if (ink.convertToProcess === true) continue; | |
| var name = String(ink.name); | |
| if (ignoredMap[name]) continue; | |
| var color = getColorByName(doc, name); | |
| var modeIcon = getColorModeIconName(color); | |
| var preview = getColorPreviewRGB01(color); | |
| entries.push({ | |
| name: name, | |
| ink: ink, | |
| color: color, | |
| colorModeIconName: modeIcon, | |
| previewRGB: preview | |
| }); | |
| } catch (_) {} | |
| } | |
| return entries; | |
| } | |
| function handleAfterOpen(event) { | |
| try { | |
| var doc = event && event.target; | |
| if (!(doc && doc.constructor && doc.constructor.name === "Document")) { | |
| return; | |
| } | |
| var ignoredMap = parseIgnoredNames(doc); | |
| var entries = collectProblemEntries(doc, ignoredMap); | |
| if (!entries.length) return; | |
| showPalette(doc, entries, ignoredMap); | |
| } catch (err) { | |
| alert(STR_ERROR_PREFIX + err + (err && err.line ? STR_ERROR_LINE_OPEN + err.line + STR_ERROR_LINE_CLOSE : "")); | |
| } | |
| } | |
| // Manual entrypoint for on-demand testing from Scripts Panel. | |
| $.global.runSpotSeparationAlertNow = function () { | |
| try { | |
| if (app.documents.length === 0) { | |
| alert(STR_NO_OPEN_DOCS); | |
| return; | |
| } | |
| handleAfterOpen({ target: app.activeDocument }); | |
| } catch (_) {} | |
| }; | |
| // Remove existing listener (if any) to avoid duplicates. | |
| try { | |
| var old = app.eventListeners.itemByName(LISTENER_NAME); | |
| if (old && old.isValid) old.remove(); | |
| } catch (_) {} | |
| var listener = app.eventListeners.add("afterOpen", handleAfterOpen); | |
| listener.name = LISTENER_NAME; | |
| })(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment