#!/bin/csh
#######################################################################################################################################
# #
# M I S E D ' U N E I M A G E A U F O R M A T ' PostScript ' : #
# #
# #
# Utilisation : #
# #
# $xci/PostScript$Z <imageA> <palette> <fichierR> [<Nexemplar> [<Signer> [<Titre> [<Ex> [<Ey> [<Tx> [<Ty> [<BB> [<PS>]]]]]]]]] #
# $xci/PostScript$Z <imageA> RVB <fichierR> [<Nexemplar> [<Signer> [<Titre> [<Ex> [<Ey> [<Tx> [<Ty> [<BB> [<PS>]]]]]]]]] #
# #
# #
# Nota : #
# #
# Le 20180203105626 a ete introduite la #
# variable d'environnement '$PostScript_NoMes' #
# qui permet, si elle existe, de ne pas editer #
# les messages relatifs a la coexistence des #
# des images fausses et vraies couleurs. Ainsi : #
# #
# setenv PostScript_NoMes $EXIST #
# $xci/PostScript$Z (...) #
# unsetenv PostScript_NoMes #
# #
# procedera a cette elimination... #
# #
# #
# Nota : #
# #
# Le 20180205162037 a ete introduite la #
# variable d'environnement '$PostScript_RVB' #
# qui permet, si elle existe, de ne pas generer #
# du '$PostScript' mais du '$RVB'. Ainsi : #
# #
# setenv PostScript_RVB $EXIST #
# $xci/PostScript$Z (...) #
# unsetenv PostScript_RVB #
# #
# procedera a cela. Cela a ete introduit pour #
# 'v $xci/Gen_MPEG$vv$Z PostScript_RVB' afin #
# qu'il n'utilise plus '$PostScript' mais '$RVB'... #
# #
# #
# Nota : #
# #
# Pour faire du "papier a lettres", #
# il suffit de remplacer : #
# #
# 0064 0100 translate #
# 0512 ???? scale #
# #
# par (pour une image 'Std' ou pour une image 'Pal' que l'on veut sortir en format "carre") : #
# #
# 0064 0600 translate #
# 0128 0128 scale #
# #
# et par (pour une image 'Pal') : #
# #
# 0064 0600 translate #
# 0128 0094 scale #
# #
# et le tour est joue... #
# #
# #
# Author of '$xci/PostScript$Z' : #
# #
# Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
set nomA=$1
set palette=$2
set nomR=$3
set exemplaires=$4
set Signer=$5
set Titre=$6
set EchelleX=$7
set EchelleY=$8
set TranslationX=$9
set TranslationY=$10
set BoundingBox=$11
set PageSize=$12
set NoError_DKVP=$EXIST
source $Fdisk_video_P
unset NoError_DKVP
source $Fdivers
if ("$palette" == "$RVB_DKVP") then
set palette=$xiP/gris.01
# Dans le cas ou 'RVB' apparait a la place d'une palette "explicite", on force la palette #
# "neutre" (soit '$xiP/gris.01'). #
else
endif
if ("$exemplaires" == "$K_VIDE") then
#20030219092127____: set exemplaires=4 #
set exemplaires=1
# A compter du 20030219092127 on ne sort plus qu'un seul exemplaire (et non plus 4)... #
else
endif
if ("$Signer" == "$K_VIDE") then
#20030219092127____: set Signer=VRAI #
set Signer=FAUX
# A compter du 20030219092127 on ne signe plus a priori... #
else
endif
set Conserver=FAUX
# Indicateur introduit le 20030601130943, 'FAUX' a priori... #
if ("$EchelleX" == "$K_VIDE") then
set EchelleX=$dimX
# Argument introduit le 20021016121239. #
else
set Conserver=VRAI
# Lorsque l'une des echelles au moins est specifiee, la conservation des echelles est #
# demandee (introduit le 20030601130943). #
endif
if ("$EchelleY" == "$K_VIDE") then
set EchelleY=$dimY
# Argument introduit le 20021016121239. #
else
set Conserver=VRAI
# Lorsque l'une des echelles au moins est specifiee, la conservation des echelles est #
# demandee (introduit le 20030601130943). #
endif
if ("$TranslationX" == "$K_VIDE") then
#20090908105358____: set TranslationX=64 #
set TranslationX=0
# Argument introduit le 20021016121239. #
else
endif
if ("$TranslationY" == "$K_VIDE") then
#20090908105358____: set TranslationY=200 #
set TranslationY=0
# Argument introduit le 20021016121239. #
else
endif
setArgum BoundingBox `GetParam $xci/dumpx$X BoundingBox`
# Argument introduit le 20111101102644. #
setArgum PageSize `GetParam $xci/dumpx$X PageSize`
# Argument introduit le 20111101102644. #
if ("$nomR" == "$K_VIDE") then
EROR "Le nom du fichier 'PostScript' a generer est vide."
else
endif
if ($?PostScript_RVB == $NEXIST) then
# Test introduit le 20180205163021... #
set fichierR=$nomR$PostScript
# Generation du nom complet du fichier. #
else
set fichierR=$nomR$RVB
endif
if (! -e $fichierR) then
set arguments="$K_VIDE"
set arguments="$arguments PostScript=VRAI signer=$Signer optimiser=VRAI RVB=VRAI exemplaires=$exemplaires"
set arguments="$arguments estampiller=FAUX lisible=VRAI"
#20000309171044____: set arguments="$arguments Ty=250" #
#20021016121239____: set arguments="$arguments Ty=200" #
set arguments="$arguments conserver_echelles=$Conserver"
set arguments="$arguments Ex=$EchelleX"
set arguments="$arguments Ey=$EchelleY"
set arguments="$arguments Tx=$TranslationX"
set arguments="$arguments Ty=$TranslationY"
# Arguments generaux du programme de conversion '$xci/dumpx$X'. On notera qu'a ete ajoute : #
# #
# Ty=250 #
# #
# le 20000301104039, alors qu'avant c'etait la valeur par defaut (+100) qui etait utilisee... #
# Le 20000309171044, je suis redescendu de 250 a 200. Le 20021016121239 a ete introduit le #
# parametrage complet possible de {{Ex,Ey},{Tx,Ty}}. #
# #
# Le 20050311090059 j'ai introduit la possibilite d'estampiller... #
#20111101102644____: set arguments="$arguments BoundingBox=VRAI" #
set arguments="$arguments BoundingBox=$BoundingBox"
#20111101102644____: set arguments="$arguments PageSize=VRAI" #
set arguments="$arguments PageSize=$PageSize"
# Introduit le 20111101101726 afin de garantir une utilisation correcte lors de la generation #
# des '$MPEG' dans 'v $xci/Gen_MPEG$vv$Z .xci.PostScript.Z'... #
if (((-e $nomA$ROUGE) && (-e $nomA$VERTE) && (-e $nomA$BLEUE)) && (! -e $nomA)) then
# Cas ou l'on en presence, sans ambiguite, d'une image en vraies couleurs. #
set image_RVB=$EXIST
else
if (((! -e $nomA$ROUGE) || (! -e $nomA$VERTE) || (! -e $nomA$BLEUE)) && (-e $nomA)) then
# Cas ou l'on en presence, sans ambiguite, d'une image en fausses couleurs. #
set image_RVB=$NEXIST
else
if (((-e $nomA$ROUGE) || (-e $nomA$VERTE) || (-e $nomA$BLEUE)) && (-e $nomA)) then
# Cas ou existent simultanement une image en fausses couleurs et une en vraies couleurs. #
if ($?PostScript_NoMes == $NEXIST) then
# Test introduit le 20180203105626... #
EROR "L'image demandee existe simultanement en fausses et en vraies couleurs."
else
endif
set PaLeTtE=`echo $palette | $GRE "$K_sepS""gris""\.[0-9][0-9]$K_DOLLAR"`
# Examen de la palette demandee ; est-elle de nom : #
# #
# .../gris.nn #
# #
# ou 'n' designe un chiffre decimal quelconque ? #
if ("$PaLeTtE" == "$K_VIDE") then
set image_RVB=$NEXIST
# Lorsque ce n'est pas une palette de gris, on considere que l'on est en fausses couleurs. #
if ($?PostScript_NoMes == $NEXIST) then
# Test introduit le 20180203105626... #
echo "L'image en fausses couleurs est selectionnee."
else
endif
else
set image_RVB=$EXIST
# Lorsque c'est une palette de gris, on considere que l'on est en vraies couleurs. On notera #
# qu'il peut y avoir une ambiguite dans le cas ou il existe simultanement une image fausses #
# couleurs utilisant une palette '$xiP/gris.??' et une image vraies couleurs de meme nom #
# (c'est le cas par exemple de 'v $xiirf/PAYS.q4$M'). La solution dans ce cas pour forcer #
# l'image fausses couleurs est d'utiliser pour elle la palette '$xiP/blanc.01'... #
if ($?PostScript_NoMes == $NEXIST) then
# Test introduit le 20180203105626... #
echo "L'image en vraies couleurs est selectionnee"
echo "(a cause de la palette de gris)."
else
endif
endif
else
endif
endif
endif
if ($?image_RVB == $EXIST) then
FileTmpB imageRVB
# Creation de trois images temporaires. #
if ($image_RVB == $EXIST) then
# Cas des images en vraies couleurs : #
$xci/substitue$Z $nomA $palette $imageRVB
# Substitution preliminaire ; en general, ce sera la palette '$xiP/gris.01' qui sera #
# utilisee, car en effet, elle est "neutre"... #
else
# Cas des images en fausses couleurs : #
$xci/vraies_C$X A=$nomA p=$palette RVB=VRAI R=$imageRVB \
$formatI
# Generation de l'image en vraies couleurs. #
endif
if ("$Titre" != "$K_VIDE") then
titreRVB $imageRVB "$Titre" $imageRVB
# Et on titre si necessaire... #
else
endif
if ($?PostScript_RVB == $NEXIST) then
# Test introduit le 20180205162037... #
$xci/dumpx$X AR=$imageRVB$ROUGE AV=$imageRVB$VERTE AB=$imageRVB$BLEUE \
$arguments \
$formatI \
> $fichierR
# Generation du code PostScript... #
else
$xci/RVB_store$X AR=$imageRVB$ROUGE AV=$imageRVB$VERTE AB=$imageRVB$BLEUE \
R=$fichierR \
$formatI
SwapB $fichierR
# La generation du '$RVB' a la place du '$PostScript' a ete introduite le 20180205162037... #
# Le 'SwapB' est destine a 'v $xci/Gen_MPEG$vv$Z .CONVERT.'... #
endif
FileTmpE imageRVB
# Destruction des trois images intermediaires... #
#AAAAMMJJhhmmss____: ro $fichierR #
# et enfin, protection du fichier... #
else
EROR "Le fichier '$nomA' n'existe pas."
endif
else
EROR "Le fichier PostScript '$fichierR' existe deja."
endif