Trait d'union souple - Soft hyphen

Symbole ISO pour trait d'union conditionnel

En informatique et en composition, un trait d'union conditionnel (ISO 8859 : 0xAD, Unicode U+00AD SOFT THYHEN , HTML : ­ ou ­ ou ­) ou un trait d'union syllabique (EBCDIC : 0xCA), en abrégé SHY , est un point de code réservé dans certains jeux de caractères codés dans le but de séparer les mots d'une ligne à l'autre en insérant des traits d'union visibles . Deux manières alternatives d'utiliser le trait d'union souple à cette fin ont émergé, selon que le texte encodé sera découpé en lignes par son destinataire ou qu'il a déjà été préformaté par son auteur.

Texte à formater par le destinataire

L'utilisation de caractères SHY dans le texte qui sera découpé en lignes par le destinataire est le contexte d'application considéré par les spécifications HTML et Unicode postérieures à 1999 , ainsi que certains formats de fichiers de traitement de texte. Dans ce contexte, le trait d'union conditionnel peut également être appelé trait d'union discrétionnaire ou trait d'union facultatif . Il sert de marqueur invisible utilisé pour spécifier un endroit dans le texte où un saut de trait d'union est autorisé sans forcer un saut de ligne à un endroit gênant si le texte est redistribué. Il devient visible après l' emballage de mot à la fin d'une ligne. La sémantique Unicode du trait d'union et l'implémentation HTML sont à bien des égards similaires à l' espace de largeur zéro d'Unicode , à l'exception du fait que le trait d'union préserve le crénage des caractères de chaque côté lorsqu'il n'est pas visible. L'espace de largeur zéro, en revanche, ne le sera pas, car il est considéré comme un caractère visible même s'il n'est pas rendu, ayant ainsi ses propres métriques de crénage.

Pour montrer l'effet d'un trait d'union en HTML, les mots du texte suivant ont été séparés par des traits d'union :

MargaretAreYouGrievingOverGoldengroveUnleavingLeavesLikeTheThingsOfManYouWithYourFreshThoughtsCareForCanYouAhAsTheHeartGrowsOlderItWillComeToSuchSightsColderByAndByNorSpareASighThoughWorldsOfWanwoodLeafmealLieAndYetYouWillWeepAndKnowWhyNowNoMatterChildTheNameSorrowsSpringsAreTheSameNorMouthHadNoNorMindExpressedWhatHeartHeardOfGhostGuessedItIsTheBlightManWasBornForItIsMargaretYouMournFor

Sur les navigateurs HTML prenant en charge les traits d'union souples, le redimensionnement de la fenêtre ré-interrompra le texte ci-dessus uniquement aux limites des mots et insèrera un trait d'union à la fin de chaque ligne.

Texte préformaté par l'auteur

Le caractère SHY est également utilisé dans le texte où les paragraphes ont déjà été découpés en lignes, tels que certains fichiers de texte brut , le texte envoyé à des émulateurs de terminal ou des imprimantes de style VT100 , ou des pages représentées dans des langages de description de page . C'est le contexte d'application initialement considéré par les normes EBCDIC et ISO 8859-1 et implémenté dans de nombreux émulateurs de terminaux VT100 .

Ici, SHY est un trait d'union visible qui est généralement visuellement impossible à distinguer d'un trait d'union ordinaire, mais qui a été inséré uniquement dans le but de couper les lignes. Le but du trait d'union souple ici est de le distinguer de tout trait d'union ordinaire qui aurait pu faire partie de l'orthographe originale du mot. Cette distinction permet de réutiliser du texte déjà formaté, lorsque les sauts de ligne et les tirets partiels insérés lors du retour à la ligne doivent être supprimés pour reconvertir le texte dans sa forme non formatée. Par exemple, la copier ou coller la fonction d'un émulateur de terminal peut offrir pour remplacer les sauts de ligne avec un caractère d'espace , et enlever les traits d' union mous , y compris les suivantes immédiatement des caractères blancs .

Un exemple d'application qui génère des traits d'union souples pour cette raison est le formateur de texte groff tel qu'il est utilisé sur de nombreux systèmes Unix/Linux pour afficher les pages de manuel .

Encodages et définitions

Caractères SHY dans des jeux de caractères codés, grosso modo par ordre chronologique :

  • EBCDIC a placé un caractère SHY (appelé ici "trait d'union syllabique") à la position 202 (0xCA hexadécimal ). IBM a défini son objectif comme un "trait d'union utilisé pour diviser un mot à la fin d'une ligne [qui] peut être supprimé lorsqu'un programme ajuste les lignes".
  • La norme allemande DIN 31626 a défini un jeu de codes de contrôle C1 définissant 0x8D comme un « contrôle de syllabation facultatif (OSC) », un « caractère de contrôle d'impression » pour l'utilisation des limites de syllabe dans les mots longs. Cet ensemble de contrôle C1 a été enregistré en 1979. (Remarque : ce n'est pas le même que le code de contrôle ISO/IEC 6429 C1 Operating System Command (OSC) .)
  • ISO 8859-1 :1986 (Latin 1) a hérité de SHY d'EBCDIC, mais l'a appelé « trait d'union souple », l'a placé à la position 0xAD (hexadécimale) et a déclaré son objectif comme « à utiliser lorsqu'un saut de ligne a été établi dans un mot ". D'autres parties de l' ISO 8859 l' ont placé à la même position, à l'exception de l' ISO 8859-11 (latin/thaï), qui n'en a pas.
  • La page de codes IBM 850 (un jeu de caractères MS-DOS couvrant tous les caractères ISO 8859-1) l'a placé à la position 240 = 0xF0.
  • Le jeu d' entités de caractères "Numeric and Special Graphic" (isonum) de SGML (ISO 8879:1986) inclut "­" pour le trait d'union souple ISO 8859-1.
  • Unicode 1.0 (1991) et ISO 10646 (1993) ont pris les 256 premières positions de code de l'ISO 8859-1, résultant en SHY au point de code Unicode de U+00AD.
  • HTML 2 (1995) a incorporé le "­" entité de caractère de SGML, mais a explicitement déconseillé son utilisation.
  • HTML 4 (1999) a redéfini le but du caractère comme marquant une opportunité de césure, qui ne devient visible que sous forme de trait d'union à la fin d'une ligne après le formatage.
  • Unicode 4.0 (2002) a changé la catégorie de son caractère SHY de précédemment "Pd" (ponctuation, tiret) à "Cf" (autre, format), alignant ainsi son interprétation du caractère avec celle de HTML 4.

Autres commandes pour marquer les opportunités de césure dans les langages de formatage de texte (similaires à l'interprétation HTML 4 et Unicode 4.0 de SHY) :

Les problèmes de sécurité

Des traits d'union souples ont été utilisés pour masquer des domaines ou des URL malveillants dans les courriers indésirables .

Voir également

Les références