In the first part of this paper, we explored the basics of MathML and how it's incorporated into InDesign's Math Expressions panel. For script developers working with ExtendScript and/or UXP, the underlying SVG structure requires further investigation. This will lead us to intriguing issues and potential challenges…
Tag : ExtendScript
Finally Fixing the “Show Hidden Characters” Menu Action [UPDATE]
February 15, 2025 | Snippets | en | fr
InDesign does not always show the hidden characters when you ask it to Show Hidden Characters! Why? Because the active document window may then be in some preview Screen Mode that prohibits the appearance of invisible characters. It's a bit silly, but that's how it is. Well, that's how it was until today. A simple startup script will solve this little paradox…
The Great Folder Fiasco: A Tale of InDesign 20.1 and macOS
January 31, 2025 | Snippets | en
As a developer or InDesign scripter, you know how important it is to stay up-to-date on the latest changes and issues affecting your work. Here we'll tackle an obscure, low-level issue affecting InDesign 20.1 on macOS…
SmartSort 1.21 for InDesign CC/CS6/CS5/CS4
December 04, 2024 | SmartSort | en | fr
SmartSort is a free InDesign script that sorts paragraphs or cells. It produces a lexicographic order consistent with the language considered. Version 1.21 fixes an issue related to case discrimination in various ‘tailored’ languages. It also deals with the letter ⟨ё⟩ in Russian.
InDesign Script: Show Me the Rivers
November 06, 2024 | Extras | en | fr
My colleague Mikhail Ivanyushin has just developed a nice utility that detects and highlights text ‘rivers’, these stacks of oblique or vertical spaces which form randomly within a typographic composition and “make it ugly.” Chasing such road accidents is a fetish sport. So if you don't have time to damage your eyes, here's a more comfortable solution…
Let's Play with JS Array Objects (in ExtendScript)
September 14, 2024 | Tips | en | fr
IdExtenso provides a new ArrayAs2D
module that unleashes the hidden strengths of ExtendScript operators. With this toy, you can now write code that adds, multiplies, evaluates 2D points or vectors. For example, if you develop an InDesign script based on Bézier curves or working on polygonal paths, all calculations of points, distances, normalized vectors, etc. become wonderfully compact…
IndexMatic³ | Hidden Treasures of the ~format Directive
August 24, 2024 | IndexMatic³ | en | fr
IndexMatic users have long been faced with the following problem: when the client provides a list of index entries and adds extra information (birthdates, etc), how can the query list be adjusted accordingly? Introduced with iX³, the ~format
directive offers an efficient solution…
Make `&` (almost) Behave as a Reference Operator
August 09, 2024 | Tips | en
Suppose you have an ExtendScript class (I mean, “prototype”) whose methods essentially return new object instances. As an obvious example, consider the concat
or slice
methods of Array.prototype
. They always produce a new array rather than reworking the existing one. There are situations where you want to update the calling object —and make this explicit in the code— while still leveraging the methods already available…
Built-In String Features in IdExtenso
March 29, 2024 | Tips | en
If you are one of the happy users of the IdExtenso scripting framework for InDesign, you may have noticed — or overlooked! — that this enhanced version of ExtendScript provides many additional services, including in the primitive areas of the language. For example, any string immediately has functionalities like trim()
, codePointAt()
, toUTF8()
, which aren't available in the root syntax. Let's take a closer look at this toolbox…
Scripting: How to Position InDesign Guides
December 03, 2023 | Tips | en
InDesign guides are funny creatures. Whether or not they are assigned to a page via the
fitToPage
property, they remain firmly anchored to the geometry of the spread they belong to. The most mysterious thing is their location
attribute, which does not obey all the principles ordinarily weighing on rulers coordinates. This article explores how to determine correct positions in all scenarios…
« Optimiser InDesign pour les documents longs »
September 20, 2023 | Extras | fr
Un nouveau livre-arsenal de Laurent Tournier vient de paraître : Optimiser InDesign pour les documents longs — Avec les scripts et le GREP. Si vous pensiez à une aimable mise en jambes agrémentée de quelques points de doctrine, vous êtes loin du compte ! Le PDF que l'auteur nous a communiqué en primeur recense plus de 200 scripts du monde entier, tous testés en situation, et le même volume de commandes GREP couvrant les problématiques les plus étendues. L'idée était déjà géniale en soi, mais la mise en œuvre, par sa densité et sa précision, fait tomber à la renverse…
Meet Kasyan Servetsky, InDesign Wizard!
August 01, 2023 | Extras | en | fr
At the same time graphic designer, illustrator, prepress expert and scripting guru, Kasyan Servetsky has become one of the most active resource sharers in our microcosm. The InDesign community knows him well (but not enough for my taste!) because of the dozens of great utilities he has created over the past two decades: converters, batch processors, link managers, image resizers, font collectors, and many other gems. Let's step into the lab of this productivity freak…
15 InDesign Scripts and Snippets You May Have Missed
February 21, 2023 | Snippets | en | fr
If you visit this website from time to time, you know that it contains a plethora of free InDesign scripts, but you may not know that other cool nuggets are regularly open-sourced in our GitHub repository called IdGoodies. The latter being hardly documented, here is an overview of some scripts—and interesting code snippets—you will find there…
The Hard Problem of Quantified Alternatives in ExtendScript
January 21, 2022 | Tips | en
In most cases, ExtendScript regular expressions cannot digest the (a|b)+
scheme. This bug is not new, but it's worth defining its symptoms and extent. This article presents a very simple problem, with no known solution to date…
Porting your InDesign Script into IdExtenso — Step 5
October 19, 2021 | Tips | en
In this episode we seriously improve the relationship between user settings and user interface. As a result, we get a smart InDesign script that both remembers the choices the user made within the session and adapts to the context, that is, whether the script should target the selection or a larger scope…
Porting your InDesign Script into IdExtenso — Step 4
October 09, 2021 | Tips | en
The previous episode dealt with modularity in IdExtenso, now is the time to take full advantage of it! Today we will see how to add a dialog interacting with user options. You will be amazed at how quickly this component fits into the script…
Porting your InDesign Script into IdExtenso — Step 3
September 24, 2021 | Tips | en
In this episode, you will learn how to arrange your code so that it fits into IdExtenso's “modular space.” Modularity is a key term when it comes to maintaining a large-scale project. Even if our sample script is not in itself of pharaonic complexity, we will transform it, as an exercise, into a pure module…
« previous entries - Page 1 of 3