Indesign et ses différents noirs

backinblackPour des habitués d’XPress, la gestion de la nuance noir peut être un peu déconcertante sous InDesign. Il n’est pas rare de trouver des documents avec plusieurs nuances utilisées pour un noir. Entre les nuances importées avec un texte, celle d’un document XPress ourvert dans InDesign, et celles créées pour une occasion particulière…

J’ai commencé par citer XPress, car à cette vieille époque il y existait une palette obscure pour le graphiste, utile pour le maquettiste, formidable pour le flasheur: les infos de défonces ! La palette venait compléter la gestion des défonces par nuances dans les options de couleurs, et oui, il y était possible de faire surimprimer du jaune à un noir par défaut ! Totalement inutile cité ainsi, mais tellement pratique dans certains cas.
Mais surtout, avec ces options qui par défaut se géraient assez bien, il faut le dire, il était possible de créer différents noirs, le logiciel décidant ou non de surimprimer les nuances. Or dans InDesign, il semblerait que par défaut tout défonce, à part la nuance [Noir] ! Je dis « semblerait« , à part les options d’objets permettant de surimprimer un objet, je ne rien trouvé d’aussi détaillé avec des réglagles fins comme une défonce positive ou négative…

Une petit illustration valant plus que tout au monde (je me suis servi sur Flickr pour le fond, je vous laisse deviner les mots clés utilisés pour trouver cela):

Noir Indesign

La première ligne ne laissent pas deviner qu’un problème de défonce peut apparaître au flashage, tant que nous restons sur un support de type écran ou sortie imprimante, le défaut ne sera pas visible. Par contre lorsque l’on rentre dans les couches, on voit que les nuances de noir autre que [Noir] défoncent le fond, ce qui peut être la cause d’une impression offset de qualité inférieure.
En effet, le moindre petit décalage du noir lors de l’impression fera apparaître un léger filet blanc suite à ce décalage.

Oui, il est toujours possible de se dire que ce n’est pas le problème du maquettiste de s’occupper de ce type de problème, mais n’est-ce pas plus rassurant et gratifiant de se dire d’avoir remis un document propre à l’impression et qu’il n’y aura pas de doute sur le rendu ?

Kuler, parce que ça rime avec couleur

Il n’y a pas que Google qui a droit à son Labs, après tout, il n’y a pas de marque déposée là dessus (enfin pas encore).

Chez Adobe aussi, il existe le Abode’labs avec des petits plus ou moins sympas, des recherches de plugins Photoshop, des évolutions Flash ou Air… Il y a également ce petit truc appelé Kuler.

kuler_logoKuler est à base de Flash/Air (j’arrive plus à les différencier sur le site Adobe), c’est un site collaboratif & social où l’on partage des nuanciers de 3 à 5 couleurs. Le partage est à double sens, bien entendu, mais ce n’est pas la seule fonctionnalité intéressant de site, il est également possible de créer ses nuanciers en ligne (selon différents modes) et de les exporter en palette .ase, le format de nuancier des applications Abobe.

La création de nuancier se fait soit à partir de rien, soit à partir d’un image en y prenant les dominantes de couleur, les plus lumineuses, les plus éteintes, les plus profondes ou sombres, ou même à coup de pipette personnalisée !

Le plus interressant est la création de nuancier vierge à partir d’une roue chromatique. Là encore, différentes régles viennent en aide à la création du nuancier: analogue, monochromatique, Triad, complémentaire, « composé » (désolé pour la traduction), teinte ou personnalisée.

Les nuances sont téléchargeables via un fichier ASE, mais également dans les applications CS4! A défaut d’avoir un compte Adobe ou la Creative Suite 4, il est toujours possible d’avoir les références des couleurs composants le nuancier, et cela en mode: TSL (HSV) / RVB (RGB) / CMJN (CMYK) / Lab et enfin HEX (couleurs dites web), ça nous laisse l’embarras du choix!

En plus, l’interface de navigation du site est très sympathique (à mon goût, mais les goûts & couleurs ne se discutent pas!). Et si bien même, le site ne convient pas, il reste le widget disponible pour Mac (très agréable à utiliser dans Dashboard pour effectuer des recherches) ou encore la version Air-desktop, tous deux sont téléchargeable sur la page de links du site.

En pour finir, le côté assez inutile donc totalement indispensable du site, c’est la partie Beta du produit Labs (faut suivre) qui permet de se faire une idée des dominantes des nuanciers créés, et cela par pays / période, c’est la fonction Pulse.

Il en faut peu pour être heureux !

Livre de la JungleNon, il n’est pas question de la chanson du Livre de la Jungle !
Juste, et seulement juste, de ma surprise lorsqu’en jetant un oeil à mon compte Google Analytics je constate que j’ai eu le droit à une visite en provenance d’Erstein ! Oui d’à côté de chez moi ! Youhou ! Je suis aux anges !!!!!

Et non, enfin, descente d’adrénaline, lorsqu’en passant sur le site (un peu abandonné avec la finition de mon installation du PC tout beau tout neuf :D ) je découvre 2 nouveaux commentaires, re-youhou !!!, ah non, c’est du spam :(

Quel est l’intérêt de polluer un site avec 6 pages, assez personnel ?
C’est une sorte de web-labs, un blabs en quelque sorte (bah oui, si web-log donne blog, j’ai bien le droit d’inventer l’expression blabs pour désigner un site d’expérience :P ).

Bah du coup, je doute de mon extension géographique, il y avait bien Paris, mais c’est naturel, je visite le site pour tester mes bricoles, il y a également les visites de la Baleine, mais tout de même, avoir eu une visite alsacienne, ça me rend super heureux ! Et oublions les spammers !!!

(J+8)x(J-3)=weeds !

Bah oui, ça fait une semaine que je n’ai rien posté (voilà chose faite pour la forme).
Mais surtout, ce week end ce sera Le monde du Silence ! avec le montage d’un nouveau PC orienté vers le calme.

Ce sera certainement beaucoup plus agréable pour regarder films et série, bien qu’après un week end marathon avec Weeds, je pense avoir un peu abusé sur les séries ;)

weedsD’ailleurs au sujet de Weeds, je me demande toujours comment une série comme celle-ci a réussi à passer les tests du CSA, ils devaient être aussi nombreux ce jour là que lors du vote de la loi Hadopi !
Personnellement, j’adore ! Le ton est plus que divertissant, les personnages sont attachants. Si si, même les méchants dealers sont sympathiques, limite c’est une provocation à la consommation (et j’en connais quelques uns qui ne me contrediraient pas). Par dessus tout, il y a un truc que j’adore (oui j’adore l’expression j’adore), c’est le choix musical, et surtout le générique très scotchant dans le genre musique à-la-con qu’on retient une journée complète sans parvenir à s’en défaire !
Heureusement, la saison 2, en plus de ses quelques rebondissements (surtout à la fin), nous gratifie d’une nouvelle version du même thème de Little boxes.

Pour finir, un petit lien des sélections musicales des 4 saisons ! d’ailleurs vivement que Canal+ pousse un peu la cadence, 2 épisodes par semaine c’est trop lent :P

InDesign, nettoyage des couleurs

Encore un nouveau script à base de Javascript et d’InDesign… mais non, je n’y suis pas accro ;)

Une grande partie de mon temps est occupé par la conversion des couleurs d’accompagnement d’un document InDesign et le nettoyage du document qui va avec: suppression de couleurs en double, et parce que je suis un peu maniaque sur la façon d’organiser son travail nommage des couleurs selon leur composition.
Pour le moment, j’avais 2 Applescripts qui faisaient bien leur boulot, mais qui dit 2 scripts, dit forcément 2 lancement! CQFD. Alors oui, il était possible de les fusionner, mais c’est tout de même plus polyvalent de revoir son pannel de scripts pour les rendre encore plus pratiques et multi-plateforme.

Le script se divise en plusieurs segments:

1e partie: le test de version d’application

#target indesign
var IDvers = parseInt(app.version);

on ne récupére que la partie entière de la version de l’application

switch(IDvers) {
	case 4 :
		var mSwatches = app.activeDocument.colors;
		for (x = 1; x <= 4; x++){updateColors(mSwatches);}
		break;
	case 5 :
		var mSwatches = app.activeDocument.swatches;
		updateColors(mSwatches);
		break;
}

Un petit switch permettant de s’occuper des méthodes selon la version.
A noter que pour une raison inconnue le script doit être éxécuter plusieurs fois sous InDesign CS2…

2e partie: le test des Pantone

if (mSwatches[i].name.substr (0, 7).toUpperCase() != "PANTONE") {
  try {

On évite de traiter les couleurs Pantone en éliminant ces nuances via leur noms. On lance ensuite un try / catch pour éviter les erreurs de traitement lorsqu’on arrive sur les couleurs protégées comme celle de repérage ou de [Papier].

3e partie: le changement de mode et nom

mSwatches[i].model = 1886548851; // = Process
mSwatches[i].space = 1129142603; // = CMJN
with (mSwatches[i]){
  mC = Math.round(colorValue[0]);
  mM = Math.round(colorValue[1]);
  mY = Math.round(colorValue[2]);
  mK = Math.round(colorValue[3]);
}

on change le modèle de couleur, ainsi que l’espace colorimétrique, puis on récupérer la valeur entière de la composante pour préparer le renommage de la nuance.

4e partie: le renommage et la fusion

try {
  mSwatches[i].name = myName;  }
catch(err){
  mSwatches.item(myName).merge(mSwatches[i]);  }
}

dans une boucle try / catch, on tente de renommer la nuance, en cas d’erreur, la couleur existe, étant un doublon on la fusionne avec l’existante.

Conclusion: le script complet

#target indesign
var IDvers = parseInt(app.version);  // version InDesign CSx
 
switch(IDvers) {
	case 4 : 	// CS2
		var mSwatches = app.activeDocument.colors;
		// Hack pour passer plusieurs la méthode
		for (x = 1; x <= 4; x++){updateColors(mSwatches);}
		break;
	default :		// CS3
		var mSwatches = app.activeDocument.swatches;
		updateColors(mSwatches);
		break;
	/*default : 	// Ni CS2 ni CS3, avertissement
		alert('Script testé uniquement avec CS2 & CS3');*/
}
 
alert('Fin du traitement');
 
function updateColors(mSwatches) {
	for (i = mSwatches.length-1; i >= 0; i--){
		// si la nuance se nomme "Pantone xxxx" on ne fait rien
		if (mSwatches[i].name.substr (0, 7).toUpperCase() != "PANTONE") {
			try {
				mSwatches[i].model = 1886548851; // 1936748404 = SPOT | 1886548851 = Process | 1919248243 = repérage
				mSwatches[i].space = 1129142603; // 1129142603 = CMJN | 1666336578 = RVB
				with (mSwatches[i]){ // récupération des composantes CMJN
					mC = Math.round(colorValue[0]);
					mM = Math.round(colorValue[1]);
					mY = Math.round(colorValue[2]);
					mK = Math.round(colorValue[3]);
					}
				var myName = "C=" + mC + " M=" + mM + " J=" + mY + " N=" + mK;
				try {
					// renommage de la nuance selon sa composition
					mSwatches[i].name = myName;
					}
				catch(err){
					// fusion de la nuance en cours avec l'existante de même composition
					mSwatches.item(myName).merge(mSwatches[i]);
					}
				}
		catch (e) {}
		}
	}
}