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 !