Police de secours pour les signes rares

Enchaîner plusieurs polices : chaque caractère est dessiné par la première de la liste qui en a la forme.

Résumé

Aucune police ne contient tous les signes du monde. Une belle police de texte peut fort bien ne rien connaître de l'alphabet grec, d'un idéogramme, ou d'un symbole monétaire plus rare, et ce qu'elle ne sait pas dessiner sort sous la forme d'une case vide. Alignez une deuxième police derrière elle, puis une troisième derrière celle-là, et le lecteur voit à la place un texte complet.

Techniquement

Écrit au premier niveau d'une requête, sous "font_chains"

font_chains déclare une police faite de plusieurs autres, sous un nom à elle, et sans police propre : un passage est découpé caractère par caractère, et chaque caractère est dessiné par la première police de la chaîne qui en a la forme, si bien que ce qui arrive dans le fichier, ce sont les polices déjà déclarées. Chaque police de la chaîne reste utilisable telle quelle ailleurs. Les maillons sont cherchés parmi les polices incorporées, celles du client, celles du magasin de polices, et parmi les polices que la requête déclare elle-même : les quatorze polices normalisées, les programmes de type 1, les lettres dessinées.

Schéma de la requête

  • font_chains — tableau, facultatif, vide par défaut.
  • font_chains[].name — chaîne, obligatoire. Le nom sous lequel les éléments écrivent avec la chaîne.
  • font_chains[].faces — tableau de chaînes, obligatoire, au moins deux noms. Les polices qui la composent, dans l'ordre où un caractère leur est proposé. Une chaîne d'un seul nom est refusée.

Un maillon nomme une police incorporée, une police du client, une police du magasin de polices, ou une police que la requête déclare : standard_fonts, type1_fonts, type3_fonts. Les polices qu'une requête déclare sont chargées avant les chaînes, si bien qu'une chaîne peut s'appuyer sur elles.

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

{
  "standard_fonts": [
    { "name": "sans", "face": "helvetica" },
    { "name": "signs", "face": "symbol" }
  ],
  "font_chains": [
    { "name": "text_and_signs", "faces": ["sans", "signs"] }
  ],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
      "content": ["Angle α = 30 degrees"],
      "font": "text_and_signs",
      "font_size": 14
    }
  ]
}

La ligne qui l'envoie, en trois langages

Les polices

Contenir sa police dans le document Les anciens programmes de police Type 1 Les quatorze polices de tout logiciel de lecture Les finesses typographiques d'une police Une police dont vous dessinez les lettres Des polices dont les lettres coûtent un octet

Où aller ensuite

Toutes les clés JSON d'une requête, en une page Les quarante et un autres réglages d'une requête

Voir les prix Voir les exemples