Bonjour tout le monde,
Je suis en train d'élaborer pour moi-même un script InDesign. Je sais, ça ne va pas parler à grand monde (enfin je pense), mais ça n'a pas d'important puisque c'écrit en JS.
L'idée, c'est qu'en un clique, je puisse transformer l'espace standard précédant les caractères type ?!;: d'un document en espace fine (rapport aux règles typographiques et/ou pour éviter les retours à la ligne intempestifs entre, par exemple, un mot et son "?".
Dans la création d'un gros doc InDesign, ça peut être une aide plutôt sympa.
Bon alors, mon script fonctionne mais de la manière dont je l'ai conçu (sans doute mal) il m'affiche une alert pour chaque caractère remplacé avec le nombre de changements effectué. C'est logique me direz-vous, il y a autant d'alert que de caractères à remplacer dans mon script.
Certes, alors je cherche une solution, qui me permette de faire en sorte que l'affichage de l'alert ne se fasse qu'une seule fois, et à la toute fin de l'analyse du document, du type "234 caractères ont été remplacés", ou quelque chose comme ça.
Assez de parlote, voici mon code :
Merci beaucoup !
Je suis en train d'élaborer pour moi-même un script InDesign. Je sais, ça ne va pas parler à grand monde (enfin je pense), mais ça n'a pas d'important puisque c'écrit en JS.
L'idée, c'est qu'en un clique, je puisse transformer l'espace standard précédant les caractères type ?!;: d'un document en espace fine (rapport aux règles typographiques et/ou pour éviter les retours à la ligne intempestifs entre, par exemple, un mot et son "?".
Dans la création d'un gros doc InDesign, ça peut être une aide plutôt sympa.
Bon alors, mon script fonctionne mais de la manière dont je l'ai conçu (sans doute mal) il m'affiche une alert pour chaque caractère remplacé avec le nombre de changements effectué. C'est logique me direz-vous, il y a autant d'alert que de caractères à remplacer dans mon script.
Certes, alors je cherche une solution, qui me permette de faire en sorte que l'affichage de l'alert ne se fasse qu'une seule fois, et à la toute fin de l'analyse du document, du type "234 caractères ont été remplacés", ou quelque chose comme ça.
Assez de parlote, voici mon code :
// Script remplaçant les espaces normaux par des espaces fines devant les ;?!:«»
// Nettoyer les ";"
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = " ;";
app.changeTextPreferences.changeTo = "^<;";
alert('Nombre de changements pour ";" = ' + app.activeDocument.changeText().length);
app.activeDocument.changeText();
// Nettoyer les "?"
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = " ?";
app.changeTextPreferences.changeTo = "^<?";
alert('Nombre de changements pour "?" = ' + app.activeDocument.changeText().length);
app.activeDocument.changeText();
// Nettoyer les "!"
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = " !";
app.changeTextPreferences.changeTo = "^<!";
alert('Nombre de changements pour "!" = ' + app.activeDocument.changeText().length);
app.activeDocument.changeText();
//Nettoyer les ":"
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = " :";
app.changeTextPreferences.changeTo = "^<:";
alert('Nombre de changements pour ":" = ' + app.activeDocument.changeText().length);
app.activeDocument.changeText();
// Nettoyer les "«"
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = "« ";
app.changeTextPreferences.changeTo = "«^<";
alert('Nombre de changements pour "«" = ' + app.activeDocument.changeText().length);
app.activeDocument.changeText();
// Nettoyer les "»"
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.findWhat = " »";
app.changeTextPreferences.changeTo = "^<»";
alert('Nombre de changements pour "»" = ' + app.activeDocument.changeText().length);
app.activeDocument.changeText();
//
Merci beaucoup !
,
. Est-ce que tu peux créer des variables ? Si oui tu crée un variable (ou une par catégorie) au début initialisé a 0 et au lieux d'un alert tu sauvegarde le nombre dans la variable en l'incrémentant (ou alors tu enregistre chaque nombre dans la variable de la catégorie correspondante) et à la fin de ton script tu fait un alert avec le détails / total etc.