PHP SmartyPants Typographer

Typographer est une extension à SmartyPants ajoutant le support de différents guillemets ainsi que la conversion d’espaces sécables en espace insécables empêchant donc les coupures le lignes inapporopriés. Vous pouvez télécharger SmartyPants Typographer sur la page d’accueil de PHP SmartyPants.

Guillemets

SmartyPants permet de courber les guillemets de façon intelligente. SmartyPants Typographer ajoute des options permettant de mieux supporter les guillemets selon les conventions de différentes langues.

Vous pouvez maintenant transformer les guillemets “droits” en n’importe quelle autre type de guillemet en changeant les variables de configurations appropriés du parseur :

// Opening and closing smart double-quotes.
$sp->smart_doublequote_open = "“";
$sp->smart_doublequote_close = "”";

qui par défaut sont configurés en guillemets “anglais”. Les guillemets anglais ‘simples’ ne sont pas configurable de cette façon car ils interférerais avec l’apostrophe. Les guillemets ``à apostrophe oblique'' ne sont pas affectés par ce réglage.

SmartyPants Typographer ajoute les guillemets ,,double-virgule,,, qui vous permettent entre autre de créer des guillemets de style ,,allemand`` ou ''grec,,. Il convertira aussi les << double chevrons >> dans >>n’importe quelle direction<< en guillemets chevrons typographiques, mais seulement quand ils ne se confondent pas avec une balise HTML.

Configuration

Vous pouvez ajouter « c » aux attributs de SmartyPants pour activer les guillemets à double virgule et « g » pour les guillemets français. Toutes les options sont activées par défaut.

Geresh et gershayim

SmartyPants Typographer changera les guillemets droits en geresh ou gershaim si le caractère est entouré d’une lettre en hébreu de chaque côté.

Configuration

Vous pouvez ajouter “G” aux attributes de SmartyPants pour activer cette transformation. Cette transformation est activé par défaut si vous utilisez dans un préréglage.

Espaces

La normalisation des espaces de SmartyPants Typographer s’adapte à n’importe quelle langue. Par défaut, aucune espace n’est ajouté ou enlevé : des espaces sécables (normaux) sont remplacés par des espaces insécables là où ça fait du sens.

Si par exemple vous finissez une phrase par un point d’exclamation, et que vous précédez le point d’exclamation d’une espace, l’espace deviendra insécable et le point d’exclamation ne se retrouvera jamais tout seul en début de ligne. La typographie des espacements est ainsi préservée telle qu’écrite par l’auteur. Normalement, le remplacement des espaces sécables en espaces insécables devrait passer inaperçu, il prévient simplement les coupures de ligne indésirables.

SmartyPants Typographer rend insécables les espaces dans les cas suivants (les espaces insécables sont montrés par des trait soulignés « _ » pour les rendre bien visibles) :

La normalisation s’assure aussi que les espaces autour des tirets cadratin et demi-cadratin sont des espaces sécables :

Vous pouvez configurer SmartyPants Typographer pour forcer l’ajout ou le retrait de l’espace dans chacun des cas énumérés ci-haut afin d’imposer des règles typographiques particulières.

Une attention particulière a été portée aux cas suivants pour s’assurer qu’ils fonctionnent bien :

Configuration

Vous pouvez contrôler quelles transformations s’appliquerons (remplacer, insérer, supprimer l’espace) pour chaque catégorie d’espace en ajoutant les bon caractères aux attributs de SmartyPants. Chacune des catégories d’espace est représenté par un caractère qui peut optionnellement être suivit d’un plus (+) ou d’un moins (-) pour forer respectivement l’ajout ou le retrait de l’espace. Les caractères sont :

Caractère Espace
: deux-point
; point-virgule
m points d’interrogation et d’exclamation
h tiret cadratin
H tiret demi-cadratin
f guillemets français
t séparateur de milliers
u espacement d’unité

(Note : le séparateur de millier ne peut pas être ajouté automatiquement.)

Par exemple, pour forcer l’ajout d’espaces à l’intérieur des guillemets français et devant le deux-point, rendre insécable les espaces déjà existants devant les unités qui font le séparateurs de milliers, et pour enlever tout espace placé devant le point virgule, le point d’interrogation et le point d’exclamation, on utilisera la chaîne de configuration suivante : "f+:+ut;-m-"

Vous pouvez aussi choisir, pour chaque catégorie d’espace, quelle caractère de remplacement sera utilisé dans les paramètres au début du fichier de SmartyPants.


  • © 2003–2024 Michel Fortin.