CDPlotPDInit:
CEDAR
PROGRAM
IMPORTS CDSil
, CMos,
CMosB,
NMos
EXPORTS CDPlot =
BEGIN OPEN CDPlot;
NEW4:
PROC[stipple: Stipple4]
RETURNS[
REF] =
{RETURN[IF stipple = ALL[0] THEN NIL ELSE NEW[Stipple4 ← stipple]]};
NEW8:
PROC[stipple: Stipple8]
RETURNS[
REF] =
{RETURN[IF stipple = ALL[0] THEN NIL ELSE NEW[Stipple8 ← stipple]]};
NEWLayerTonerSipples:
PROC[size:
CD.Layer]
RETURNS[lts:
REF LayerTonerSipples] = {
lts ← NEW[LayerTonerSipples[size]];
FOR layer:
CD.Layer
IN [0..size)
DO
FOR toner: Toner
IN Toner
DO
lts[layer][toner] ← NIL ENDLOOP ENDLOOP };
combined: CD.Layer = CD.combined;
highlight: CD.Layer = CD.highLightShade;
error: CD.Layer = CD.highLightError;
LTS: REF LayerTonerSipples;
interpPrinterLTS: PUBLIC REF InterpPrinterLTS ← NEW[InterpPrinterLTS ← ALL[ALL[NIL]]];
printerToners: PUBLIC REF PrinterToners ← NEW[PrinterToners ← ALL[ALL[FALSE]]];
F: BOOL = FALSE;
-- black cyan mag yellow
printerToners[raven300 ] ← [TRUE, F, F, F, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[raven384 ] ← [TRUE, F, F, F, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[plateMaker ] ← [TRUE, F, F, F, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[puffin ] ← [F, TRUE, TRUE, TRUE, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[colorVersatec ] ← [TRUE, TRUE, TRUE, TRUE, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[versatec ] ← [TRUE, F, F, F, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[color400 ] ← [TRUE, TRUE, TRUE, TRUE, F,F,F,F,F,F,F,F,F,F,F,F];
printerToners[c150 ] ← [TRUE, TRUE, TRUE, TRUE, F,F,F,F,F,F,F,F,F,F,F,F];
{ OPEN CDSil; nofLayers: CD.Layer = CDSil.xblue+1;
interpPrinterLTS[sil][versatec] ←
interpPrinterLTS[sil][c150] ←
LTS ← NEWLayerTonerSipples[nofLayers];
LTS[error ][black] ← NEW8[[20H, 20H, 0FFH, 20H, 20H, 20H, 20H, 20H]];
LTS[highlight ][cyan] ← NEW8[[40H, 40H, 40H, 40H, 0FFH, 40H, 40H, 40H]];
LTS[combined ][magenta] ← NEW8[[10H, 10H, 10H, 10H, 10H, 10H, 0FFH, 10H]];
LTS[xgreen ][cyan] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xgreen ][yellow] ← NEW4[[0AH, 4, 0AH, 0]];
LTS[xred ][yellow] ← NEW4[[5, 0, 5, 0]];
LTS[xred ][magenta] ← NEW4[[5, 0, 5, 0]];
LTS[xblue ][cyan] ← NEW4[[5, 0, 5, 0]];
LTS[xneutral ][black] ← NEW4[[5, 0AH, 5, 0AH]];
LTS[xgrey1 ][black] ← NEW4[[2, 0, 8, 0]];
LTS[xsmoke ][black] ← NEW4[[2, 0, 8, 0]];
LTS[xyellow ][yellow] ← NEW4[[0AH, 0AH, 3, 3]];
interpPrinterLTS[silBW][versatec] ←
interpPrinterLTS[silBW][c150] ←
LTS ←
NEW[LayerTonerSipples[CDSil.xblue+1]];
LTS[error ][black] ← NEW4[[0FH, 0FH, 0FH, 0FH]];
LTS[highlight ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[combined ][black] ← NEW4[[0FH, 0FH, 0FH, 0FH]];
LTS[xneutral ][black] ← NEW4[[0FH, 0FH, 0FH, 0FH]];
LTS[xred ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xyellow ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xgreen ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xcyan ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xviolet ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xmagenta ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xwhite ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xbrown ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xorange ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xlime ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xturquise ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xaqua ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xultraviolet ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xpink ][black] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[xsmoke ][black] ← NEW4[[0AH, 0, 0AH, 0]];
interpPrinterLTS[sticks][c150] ←
LTS ←
NEW[LayerTonerSipples[CDSil.xblue+1]];
LTS[error ][cyan] ← NEW4[[0, 0, 0, 0]];
LTS[highlight ][cyan] ← NEW4[[0, 0, 0, 0]];
LTS[combined ][black] ← NEW4[[15,15,15,15]];
LTS[xgreen ][cyan] ← NEW4[[10, 5, 10, 5]];
LTS[xgreen ][yellow] ← NEW4[[10, 5, 10, 5]];
LTS[xred ][yellow] ← NEW4[[15,15,15,15]];
LTS[xred ][magenta] ← NEW4[[15,15,15,15]];
LTS[xblue ][cyan] ← NEW4[[15,15,15,15]];
LTS[xneutral ][black] ← NEW4[[15,15,15,15]];
LTS[xgrey1 ][black] ← NEW4[[2, 0, 8, 0]];
LTS[xsmoke ][black] ← NEW4[[2, 0, 8, 0]];
LTS[xyellow ][yellow] ← NEW4[[15,15,15,15]];
};
{ OPEN NMos; nofLayers: CD.Layer = NMos.cut2+1;
interpPrinterLTS[nmos][versatec] ←
interpPrinterLTS[nmos][c150] ←
LTS ← NEWLayerTonerSipples[nofLayers];
LTS[error ][black] ← NEW8[[20H, 20H, 0FFH, 20H, 20H, 20H, 20H, 20H]];
LTS[highlight ][cyan] ← NEW8[[40H, 40H, 40H, 40H, 0FFH, 40H, 40H, 40H]];
LTS[combined ][magenta] ← NEW8[[10H, 10H, 10H, 10H, 10H, 10H, 0FFH, 10H]];
LTS[dif ][cyan] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[dif ][yellow] ← NEW4[[0AH, 4, 0AH, 0]];
LTS[pol ][yellow] ← NEW4[[5, 0, 5, 0]];
LTS[pol ][magenta] ← NEW4[[5, 0, 5, 0]];
LTS[met ][cyan] ← NEW4[[5, 0, 5, 0]];
LTS[cut ][black] ← NEW4[[5, 0AH, 5, 0AH]];
LTS[met2 ][cyan] ← NEW8[[1, 2, 4, 8, 10H, 20H, 40H, 80H]];
LTS[cut2 ][black] ← NEW4[[0CH, 0CH, 3, 3]];
LTS[ovg ][cyan] ← NEW8[[0, 20H, 20H, 0F8H, 20H, 20H, 00H, 00H]];
LTS[bur ][black] ← NEW4[[2, 0, 8, 0]];
LTS[imp ][yellow] ← NEW4[[0AH, 0AH, 3, 3]];
LTS[imp0 ][yellow] ← NEW4[[0FH, 0, 0, 0]];
LTS[impWeak ][yellow] ← NEW4[[2, 2, 2, 2]];
interpPrinterLTS[nmos][color400] ←
LTS ←
NEW[LayerTonerSipples[NMos.cut2+1]];
LTS[error ][black] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][magenta] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][cyan] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][yellow] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[highlight ][cyan] ← NEW8[[64, 64, 64, 64, 255, 64, 64, 64]];
LTS[combined ][magenta] ← NEW8[[16, 16, 16, 16, 16, 16, 255, 16]];
LTS[dif ][cyan] ← NEW4[[12, 9, 3, 6]];
LTS[dif ][yellow] ← NEW4[[12+1, 9, 3+4, 6]];
LTS[pol ][yellow] ← NEW4[[9, 3, 6, 12]];
LTS[pol ][magenta] ← NEW4[[9, 3, 6, 12]];
LTS[met ][cyan] ← NEW4[[6, 12, 9, 3]];
LTS[cut ][black] ← NEW4[[15,15,15,15]];
LTS[cut ][cyan] ← NEW4[[15,15,15,15]];
LTS[cut ][yellow] ← NEW4[[15,15,15,15]];
LTS[cut ][magenta] ← NEW4[[15,15,15,15]];
LTS[met2 ][cyan] ← NEW8[[24, 48, 96, 192, 129, 3, 6, 12]];
LTS[cut2 ][black] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][cyan] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][yellow] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][magenta] ← NEW4[[3, 6, 12, 9]];
LTS[ovg ][cyan] ← NEW8[[0, 48, 48, 252, 252, 48, 48, 0]];
LTS[imp0 ][yellow] ← NEW4[[1, 2, 4, 8]];
LTS[impWeak ][yellow] ← NEW4[[1, 2, 4, 8]];
LTS[bur ][black] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][cyan] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][yellow] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][magenta] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[imp ][yellow] ← NEW4[[15,15,15,15]];
};
{ OPEN CMos; nofLayers: CD.Layer = CMos.cut2+1;
interpPrinterLTS[cmosA][versatec] ←
interpPrinterLTS[cmosA][c150] ←
LTS ← NEWLayerTonerSipples[nofLayers];
LTS[error ][black] ← NEW8[[20H, 20H, 0FFH, 20H, 20H, 20H, 20H, 20H]];
LTS[highlight ][cyan] ← NEW8[[40H, 40H, 40H, 40H, 0FFH, 40H, 40H, 40H]];
LTS[combined ][magenta] ← NEW8[[10H, 10H, 10H, 10H, 10H, 10H, 0FFH, 10H]];
LTS[ndif ][cyan] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[ndif ][yellow] ← NEW4[[0AH, 4, 0AH, 0]];
LTS[pwellCont ][magenta] ← NEW4[[2, 2, 8, 0]];
LTS[pwellCont ][cyan] ← NEW4[[0, 0, 0, 8]];
LTS[nwellCont ][cyan] ← NEW4[[2, 2, 8, 0]];
LTS[nwellCont ][yellow] ← NEW4[[2, 2, 8, 0]];
LTS[nwellCont ][magenta] ← NEW4[[0, 0, 0, 8]];
LTS[pol ][yellow] ← NEW4[[5, 0, 5, 0]];
LTS[pol ][magenta] ← NEW4[[5, 0, 5, 0]];
LTS[met ][cyan] ← NEW4[[5, 0, 5, 0]];
LTS[cut ][black] ← NEW4[[5, 0AH, 5, 0AH]];
LTS[met2 ][cyan] ← NEW8[[1, 2, 4, 8, 10H, 20H, 40H, 80H]];
LTS[cut2 ][black] ← NEW4[[0CH, 0CH, 3, 3]];
LTS[ovg ][cyan] ← NEW8[[0, 20H, 20H, 0F8H, 20H, 20H, 00H, 00H]];
LTS[nwell ][yellow] ← NEW4[[0, 6, 0, 0]];
LTS[bur ][black] ← NEW4[[2, 0, 8, 0]];
LTS[pdif ][cyan] ← NEW4[[8, 2, 4, 1]];
LTS[pdif ][yellow] ← NEW4[[8, 6, 4, 1]];
LTS[imp ][yellow] ← NEW4[[0AH, 0AH, 3, 3]];
LTS[snerd ][black] ← NEW4[[3, 3, 3, 3]];
LTS[pwell ][black] ← NEW4[[0FH, 0FH, 0, 0]];
LTS[NOcOL ][black] ← NEW4[[0FH, 1, 1, 1]];
interpPrinterLTS[cmosA][color400] ←
LTS ←
NEW[LayerTonerSipples[CMos.cut2+1]];
LTS[combined ][magenta] ← NEW8[[16, 16, 16, 16, 16, 16, 255, 16]];
LTS[highlight ][cyan] ← NEW8[[64, 64, 64, 64, 255, 64, 64, 64]];
LTS[error ][black] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][magenta] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][cyan] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][yellow] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[ndif ][cyan] ← NEW4[[12, 9, 3, 6]];
LTS[ndif ][yellow] ← NEW4[[12+1, 9, 3+4, 6]];
LTS[pwellCont ][cyan] ← NEW4[[0, 6, 6, 0]];
LTS[pwellCont ][yellow] ← NEW4[[0, 6, 6, 0]];
LTS[pol ][yellow] ← NEW4[[9, 3, 6, 12]];
LTS[pol ][magenta] ← NEW4[[9, 3, 6, 12]];
LTS[met ][cyan] ← NEW4[[6, 12, 9, 3]];
LTS[nwell ][yellow] ← NEW4[[1, 2, 4, 8]];
LTS[pdif ][cyan] ← NEW4[[12, 9, 3, 6]];
LTS[pdif ][yellow] ← NEW4[[12, 9, 3, 6]];
LTS[imp ][yellow] ← NEW4[[15,15,15,15]];
LTS[cut ][black] ← NEW4[[15,15,15,15]];
LTS[cut ][cyan] ← NEW4[[15,15,15,15]];
LTS[cut ][yellow] ← NEW4[[15,15,15,15]];
LTS[cut ][magenta] ← NEW4[[15,15,15,15]];
LTS[cut2 ][black] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][cyan] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][yellow] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][magenta] ← NEW4[[3, 6, 12, 9]];
LTS[ovg ][cyan] ← NEW8[[0, 48, 48, 252, 252, 48, 48, 0]];
LTS[met2 ][cyan] ← NEW8[[24, 48, 96, 192, 129, 3, 6, 12]];
LTS[nwellCont ][cyan] ← NEW8[[51, 51, 102, 102, 204, 204, 153, 153]];
LTS[nwellCont ][yellow] ← NEW8[[51, 51, 102, 102, 204, 204, 153, 153]];
LTS[bur ][black] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][cyan] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][yellow] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][magenta] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[pwell ][black] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
LTS[pwell ][cyan] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
LTS[pwell ][yellow] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
LTS[pwell ][magenta] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
};
{ OPEN CMosB; nofLayers: CD.Layer = CMosB.comment+1;
interpPrinterLTS[cmosB][versatec] ←
interpPrinterLTS[cmosB][c150] ←
LTS ← NEWLayerTonerSipples[nofLayers];
LTS[error ][black] ← NEW8[[20H, 20H, 0FFH, 20H, 20H, 20H, 20H, 20H]];
LTS[highlight ][cyan] ← NEW8[[40H, 40H, 40H, 40H, 0FFH, 40H, 40H, 40H]];
LTS[combined ][magenta] ← NEW8[[10H, 10H, 10H, 10H, 10H, 10H, 0FFH, 10H]];
LTS[comment ][black] ← NEW4[[15,15,15,15]];
LTS[ndif ][cyan] ← NEW4[[0AH, 0, 0AH, 0]];
LTS[ndif ][yellow] ← NEW4[[0AH, 4, 0AH, 0]];
LTS[pwellCont ][magenta] ← NEW4[[2, 2, 8, 0]];
LTS[pwellCont ][cyan] ← NEW4[[0, 0, 0, 8]];
LTS[nwellCont ][cyan] ← NEW4[[2, 2, 8, 0]];
LTS[nwellCont ][yellow] ← NEW4[[2, 2, 8, 0]];
LTS[nwellCont ][magenta] ← NEW4[[0, 0, 0, 8]];
LTS[pol ][yellow] ← NEW4[[5, 0, 5, 0]];
LTS[pol ][magenta] ← NEW4[[5, 0, 5, 0]];
LTS[met ][cyan] ← NEW4[[5, 0, 5, 0]];
LTS[cut ][black] ← NEW4[[5, 0AH, 5, 0AH]];
LTS[met2 ][cyan] ← NEW8[[1, 2, 4, 8, 10H, 20H, 40H, 80H]];
LTS[cut2 ][black] ← NEW4[[0CH, 0CH, 3, 3]];
LTS[ovg ][cyan] ← NEW8[[0, 20H, 20H, 0F8H, 20H, 20H, 00H, 00H]];
LTS[nwell ][yellow] ← NEW4[[0, 6, 0, 0]];
LTS[bur ][black] ← NEW4[[2, 0, 8, 0]];
LTS[pdif ][cyan] ← NEW4[[8, 2, 4, 1]];
LTS[pdif ][yellow] ← NEW4[[8, 6, 4, 1]];
LTS[imp ][yellow] ← NEW4[[0AH, 0AH, 3, 3]];
LTS[snerd ][black] ← NEW4[[3, 3, 3, 3]];
LTS[pwell ][black] ← NEW4[[0FH, 0FH, 0, 0]];
LTS[NOcOL ][black] ← NEW4[[0FH, 1, 1, 1]];
interpPrinterLTS[cmosB][color400] ←
LTS ←
NEW[LayerTonerSipples[CMosB.comment+1]];
LTS[error ][black] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][magenta] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][cyan] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[error ][yellow] ← NEW8[[32, 32, 255, 32, 32, 32, 32, 32]];
LTS[highlight ][cyan] ← NEW8[[64, 64, 64, 64, 255, 64, 64, 64]];
LTS[combined ][magenta] ← NEW8[[16, 16, 16, 16, 16, 16, 255, 16]];
LTS[ndif ][cyan] ← NEW4[[12, 9, 3, 6]];
LTS[ndif ][yellow] ← NEW4[[12+1, 9, 3+4, 6]];
LTS[pwellCont ][cyan] ← NEW4[[0, 6, 6, 0]];
LTS[pwellCont ][yellow] ← NEW4[[0, 6, 6, 0]];
LTS[nwellCont ][cyan] ← NEW8[[51, 51, 102, 102, 204, 204, 153, 153]];
LTS[nwellCont ][yellow] ← NEW8[[51, 51, 102, 102, 204, 204, 153, 153]];
LTS[pol ][yellow] ← NEW4[[9, 3, 6, 12]];
LTS[pol ][magenta] ← NEW4[[9, 3, 6, 12]];
LTS[met ][cyan] ← NEW4[[6, 12, 9, 3]];
LTS[cut ][black] ← NEW4[[15,15,15,15]];
LTS[cut ][cyan] ← NEW4[[15,15,15,15]];
LTS[cut ][yellow] ← NEW4[[15,15,15,15]];
LTS[cut ][magenta] ← NEW4[[15,15,15,15]];
LTS[comment ][black] ← NEW4[[15,15,15,15]];
LTS[comment ][cyan] ← NEW4[[15,15,15,15]];
LTS[comment ][yellow] ← NEW4[[15,15,15,15]];
LTS[comment ][magenta] ← NEW4[[15,15,15,15]];
LTS[met2 ][cyan] ← NEW8[[24, 48, 96, 192, 129, 3, 6, 12]];
LTS[cut2 ][black] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][cyan] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][yellow] ← NEW4[[3, 6, 12, 9]];
LTS[cut2 ][magenta] ← NEW4[[3, 6, 12, 9]];
LTS[ovg ][cyan] ← NEW8[[0, 48, 48, 252, 252, 48, 48, 0]];
LTS[nwell ][yellow] ← NEW4[[1, 2, 4, 8]];
LTS[bur ][black] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][cyan] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][yellow] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[bur ][magenta] ← NEW8[[0, 0, 0, 0, 0, 56, 56, 56]];
LTS[pdif ][cyan] ← NEW4[[12, 9, 3, 6]];
LTS[pdif ][yellow] ← NEW4[[12, 9, 3, 6]];
LTS[imp ][yellow] ← NEW4[[15,15,15,15]];
LTS[pwell ][black] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
LTS[pwell ][cyan] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
LTS[pwell ][yellow] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
LTS[pwell ][magenta] ← NEW8[[0, 0, 8, 4, 0, 0, 0, 0]];
};
END.