Une ligne de mots posée le long d’un chemin

Faites courir une ligne de texte autour d’un sceau, sur une arche ou le long du bord d’une carte : chaque lettre se tient sur la courbe et suit son inclinaison.

Le résultat dans un vrai PDF

Des mots qui suivent une courbe

Un sceau dont la légende épouse l’anneau et une seconde creusée à son pied pour que ces mots-là se tiennent droits, un titre courbé sur une arche, et la même phrase commencée à trois endroits d’un même chemin droit.

Ouvrir le PDF Voir l’exemple complet

Résumé

Les mots d’un tampon, d’un sceau ou d’une pièce font le tour du bord ; posés en ligne ordinaire, ils s’étaleraient à plat en travers du milieu. Ici, vous donnez la ligne et la forme qu’elle doit suivre, et chaque lettre est tournée pour se tenir sur cette forme. Les lettres sont espacées le long de la courbe elle-même, de sorte qu’un virage qui se resserre ne les tasse jamais, et vous dites où la ligne commence : au départ du chemin, à mi-chemin — ce qui garde les mots centrés quelle que soit leur longueur — ou à son bout, de sorte que la ligne s’arrête où le chemin s’arrête.

Techniquement

Demandé avec "type": "text_path"

Le chemin s’écrit comme un chemin tracé écrit le sien : une forme s’écrit donc d’une seule façon dans toute une requête. move_to pose la plume, line_to et curve_to tracent, et close referme le sous-chemin en cours. Une ligne suit ces quatre-là et aucun autre : ce qu’une ligne de texte suit est un tracé fait de déplacements, de lignes, de courbes et de fermetures, et un segment qui nomme une forme entière n’en est aucun — l’un d’eux ici est donc refusé. Le chemin dit où il commence, et il ne commence qu’une fois : une ligne suit une seule suite de points, pas plusieurs. La suite est aplatie puis parcourue en longueur et non en angle, ce qui garde l’espacement égal là où la courbure change ; une ligne plus longue que le chemin déborde de son bout au lieu d’y être tassée.

Schéma de la requête

Clés obligatoires : content, la ligne ; font, le nom d’une police déclarée ; font_size, en points ; path, les segments, chacun étant move_to, line_to, curve_to ou close, et rien d’autre. Facultatives : start, une valeur parmi beginning (par défaut), middle et end ; color, la couleur des lettres, par défaut celle en vigueur ; graphics_state, le nom d’un état déclaré ; pages, un tableau d’entiers comptés à partir de 1, vide par défaut ; transform, six nombres ; rotate, degrés dans le sens inverse des aiguilles d’une montre autour du centre de la boîte où tombe le chemin ; layer, le nom d’un calque déclaré ; tag avec mark, ou artifact. Refus croisés : transform avec rotate, et tag avec artifact.

Une requête entière qui crée un PDF

{
  "standard_fonts": [{ "name": "sans", "face": "helvetica_bold" }],
  "items": [
    {
      "type": "text_path",
      "content": "CERTIFIED COPY",
      "font": "sans",
      "font_size": 16,
      "start": "middle",
      "color": [0.25, 0.35, 0.7],
      "path": [
        { "move_to": { "x": 196.5, "y": 620 } },
        {
          "curve_to": {
            "x1": 196.5, "y1": 675.78,
            "x2": 241.72, "y2": 721,
            "x": 297.5, "y": 721
          }
        },
        {
          "curve_to": {
            "x1": 353.28, "y1": 721,
            "x2": 398.5, "y2": 675.78,
            "x": 398.5, "y": 620
          }
        }
      ]
    }
  ]
}

La ligne qui l’envoie, en trois langages

Texte

Un bloc de texte posé sur la page Du texte en paragraphes, avec retraits et tabulations Un tampon en travers de la page Une rangée de glyphes demandés par leur numéro Des blocs posés les uns sous les autres, page après page

Où aller ensuite

Toutes les clés JSON d’une requête, en une page Les vingt-deux autres choses que l’on peut dessiner

Voir les prix Voir les exemples