Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!feed.xsnews.nl!border-3.ams.xsnews.nl!feeder.xennanews.com!feeder.xennanews.com!nf36.xennanews.com!not-for-mail From: Cecil Westerhof Newsgroups: comp.lang.postscript Subject: Re: Keeping values of a temporary dictionary Organization: Decebal Computing References: <87han8c43o.fsf@Compaq.site.inet> X-Homepage: http://www.decebal.nl/ Date: Wed, 26 Dec 2012 18:21:58 +0100 Message-ID: <87zk10afux.fsf@Compaq.site.inet> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) Cancel-Lock: sha1:ykiUxEE9wTjfxuJQNdaFb6aEV/s= MIME-Version: 1.0 Content-Type: text/plain X-Complaints-To: abuse@xennanews.com Lines: 137 NNTP-Posting-Host: 84.53.123.169 (84.53.123.169) NNTP-Posting-Date: Wed, 26 Dec 2012 18:29:05 +0100 Xref: csiph.com comp.lang.postscript:1193 Op woensdag 26 dec 2012 14:52 CET schreef Cecil Westerhof: > I am trying to set colours to use depending on an input varable. I > have the following code: > currentdict > /setColours 5 dict def > %setColours begin > /previousDict exch def > /LG_BL_YE { > /gradient1 { colorLimeGreen } def > /gradient2 { colorBlue } def > /textColor { colorYellow } def > } def > /FG_MFG_YE { > /gradient1 { colorForestGreen } def > /gradient2 { colorMediumForestGreen } def > /textColor { colorYellow } def > } def > /FG_MFG_WH { > /gradient1 { colorForestGreen } def > /gradient2 { colorMediumForestGreen } def > /textColor { colorWhite } def > } def > /FG_MFG_DG { > /gradient1 { colorForestGreen } def > /gradient2 { colorMediumForestGreen } def > /textColor { colorDarkGreen } def > } def > COLOUR_SCHEME where { > COLOUR_SCHEME get exec > }{ > % ### message no COLOUR_SCHEME > /gradient1 { colorNavy } def > /gradient2 { colorNavy } def > /textColor { colorYellow } def > } ifelse > %previousDict /gradient1 { gradient1 } put > %end > > I would like to use the temporary dictionary setColours to set the > gradient and text colours. But when I remove the comments, the > script hangs. What is the correct way to do it? Found it: /setColourScheme 25 dict def setColourScheme begin /FG_MFG_DG { /gradient1 { colorForestGreen } def /gradient2 { colorMediumForestGreen } def /textColor { colorDarkGreen } def } def /FG_MFG_WH { /gradient1 { colorForestGreen } def /gradient2 { colorMediumForestGreen } def /textColor { colorWhite } def } def /FG_MFG_YE { /gradient1 { colorForestGreen } def /gradient2 { colorMediumForestGreen } def /textColor { colorYellow } def } def /LG_BL_YE { /gradient1 { colorLimeGreen } def /gradient2 { colorBlue } def /textColor { colorYellow } def } def /MBL_MBL_OL { /gradient1 { colorMediumBlue } def /gradient2 { colorMediumBlue } def /textColor { colorOlive } def } def /NA_NA_YE { /gradient1 { colorNavy } def /gradient2 { colorNavy } def /textColor { colorYellow } def } def /NA_NAB_YE { /gradient1 { colorNavy } def /gradient2 { colorNavyBlue } def /textColor { colorYellow } def } def /OR_ORR_YE { /gradient1 { colorOrange } def /gradient2 { colorOrangeRed } def /textColor { colorYellow } def } def /PU_IND_YE { /gradient1 { colorPurple } def /gradient2 { colorIndigo } def /textColor { colorYellow } def } def /RE_RE_YE { /gradient1 { colorRed } def /gradient2 { colorRed } def /textColor { colorYellow } def } def /SCA_SCA_YE { /gradient1 { colorScarlet } def /gradient2 { colorScarlet } def /textColor { colorYellow } def } def /SIE_SIE_VDB { /gradient1 { colorSienna } def /gradient2 { colorSienna } def /textColor { colorVeryDarkBrown } def } def /SKB_SKB_NA { /gradient1 { colorSkyBlue } def /gradient2 { colorSkyBlue } def /textColor { colorNavy } def } def /YEG_YEG_NA { /gradient1 { colorYellowGreen } def /gradient2 { colorYellowGreen } def /textColor { colorNavy } def } def COLOUR_SCHEME where { COLOUR_SCHEME get exec }{ % ### message no COLOUR_SCHEME /gradient1 { colorNavy } def /gradient2 { colorNavy } def /textColor { colorYellow } def } ifelse end /gradient1 setColourScheme /gradient1 get def /gradient2 setColourScheme /gradient2 get def /textColor setColourScheme /textColor get def Maybe I should write a function to retrieve the values. Not very important, but is it possible to delete setColourScheme? It has no use after this. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof